Closed PoisonAlien closed 3 years ago
This looks great! What do you think about having
bwameth.py index
# and
bwameth.py index-mem2
?
so we can enumerate the options a bit more easily (not needed for this PR). This might help in future if we support bwa-meme: https://www.biorxiv.org/content/10.1101/2021.09.01.457579v1
I could go either with how you have it now or this way, your call.
Sure, index-mem2
is more intuitive. I have pushed a patch - feel free to update/change if you would like.
BWA-MEME seems like it improves upon MEM2 speed. Worth trying for sure, thanks.
thanks for the contribution. this is very cool!
Hi,
This PR adds support for aligning with BWA-MEM2 aligner which offers significant speed with identical alignment to BWA-MEM
Usage:
Only change is indexing step which requires
mem2
tag, in the absence of which bwa-meth uses mem.Alignment step does not change and, the aligner MEM or MEM2 is automatically chosen based on the index type
Benchmark:
I have tested it on 250K, 150bp paired-end reads. Runtime bench-marked with hyperfine
Output
Both mem and mem2 produce near identical alignments. Only difference is in the header
@PG
lineSummary
Aligning with MEM2 is ~66% faster than the MEM1 with identical alignment.
My python isn't super good but these changes don't seem to break any existing changes and woks fine. Hope this will help many others like me who is or planning to migrate to MEM2 for speed.
Thank for all your awesome work :)