I'm trying to figure out why my local BLAST queries are so slow. I'm running them on a machine with 32 cores and ~100GB of memory (which I know could be more but it seems like it should be sufficient).
Running a query consisting of a single (one!) 169bp sequence against the nucleotide database takes over two hours! Needless to say bigger queries only take longer. These are metabarcoding searches so a "real" query is typically 1500-4000 short sequences in the 100-300bp range.
I have tried the test query using both one and multiple threads and ~125 minutes is about the best I've been able to do.
What am I missing? Is 100GB just not enough here? Is this just a limit of how local BLAST searches work?
What command are you using? What version of blast? What nucleotide database?
You left out the most critical piece of info? What are you blasting against? What is the size of that database. Are you using
-num_threads
option to indicate all 32?I think 169 bp may be considered "short" so adding
-task blastn-short
may be worth checking.