Hi,
What technology (both hardware & software) is out there that allows sensitive (BLAST like) and fast alignment of millions of sequences (c.a. 200bp) against multiple reference genomes?
I know there is:
- Normal software blast: Very sensitive but slow for many millions of sequences against multiple human sized references
- Hardware accelerated blast: Sensitive and fast but requires specialized and expensive hardware
- BWA/SNAP/minimap2: Fast, no specialized hardware, but not sensitive enough for all use cases. Achieves speed (partially) trough exact matching on seeds instead of full alignments. Often misses alignments that are discovered via blast.
The use cases are:
- Determining which (c.a. 200bp) sequences are unique or multi-copy on a certain reference
- Lifting over (c.a. 200bp) sequences from one reference genome sequence to another reference genome sequence ( for non model organisms, where no chain files are available that all the lift over tools seem to use).
I am looking to find something that:
- has the quality / sensitivity of normal blast
- fast enough to align millions of sequences
- cost effective
- reliable and user friendly
Doing a hands-on trial with different NGS aligners (with your own data, which we can't see) is the only logical thing. I would recommend looking at BBMap. There are plenty of options you can play with to see if you can optimize the alignments.
Even though you have posed this as a question, it has the feel that you know the answer. You are just looking to get second opinions on a strategy you have in mind to see if they match :-)
Why is BBMAP more close to the sensitivity of BLAST than the other short read aligners like BWA/SNAP/minimap2? And is it still fast (since it is written in Java?)?
Don't go on fact that BBMap is written in Java. It is very efficiently written by @Brian Bushnell. It can hold up to any aligner out there now. It is multi-threaded and fully supports
pigz
.I have not looked at that specifically. What I do know if that there are many alignment options you can tweak. It is as simple as
ambig=all
to get all possible multiple alignments across the genome.