moiexpositoalonsolab / grenepipe

A flexible, scalable, and reproducible pipeline to automate variant calling from raw sequence reads, with lots of bells and whistles.
http://grene-net.org
GNU General Public License v3.0
94 stars 21 forks source link

Add option to use bwa-mem2 for mapping #7

Closed J-Wall closed 3 years ago

J-Wall commented 3 years ago

Hi, thanks for sharing the pipeline, it looks pretty nice. I was wondering if you would consider adding bwa-mem2 to the read mappers grenepipe supports?

lczech commented 3 years ago

Hi @J-Wall,

sure, that sounds useful! This week I'm quite busy, but I'll try to work on it next week!

So long Lucas

J-Wall commented 3 years ago

Thanks @lczech ! No pressure :) I've hacked it together for myself, but without any testing etc..

lczech commented 3 years ago

Hi @J-Wall,

just added bwa-mem2 in the latest commit, thank you very much for your suggestion!

I took the code from your fork as inspiration (thank you very much!), but had to adapt the prep step (indexing) in your code, as this created file conflicts. Your code probably only works if the normal bwa index was executed in a previous run of the pipeline, and then in a later run the bwa-mem2 index is executed. The issue that I had is that the latter also creates amb, ann, and pac files for the genome, which are identical with the original ones from bwa index, but in the process of creating them twice, chaos ensued... I also fixed some issues in the actual mapping rule, such as taking the config file into account.

So, if your code is working for you at the moment, you can probably keep it. But for future-proofness of your fork, you might want to back-port my changes to yours as well.

Also, I'll be working on issue #8 soon. I hope to be able to use your code again as inspiration for this as well - thank you again!

Cheers Lucas