laurentnoe / yass

genomic alignment similarity search tool
https://bioinfo.univ-lille.fr/yass/
GNU General Public License v3.0
19 stars 6 forks source link

Enable multiple threads? #5

Open waterml opened 3 years ago

waterml commented 3 years ago

Currently, yass runs with only single threads, and is slow for large fasta files. Is it possible to speed up yass by running parallelly on more threads? Thanks.

laurentnoe commented 2 years ago

There are several parameters to compile it with threads

./configure --help

  --with-threads          compile with all threads
  --with-thread-fr        compile with two separate threads for Forward and Reverse sequence
  --with-thread-aa        compile with two separate threads for Assemble and Align steps
  --with-thread-qc        compile with threads for the query chunks

however, for multiple queries (multifasta for the first file) there is also a way to increase (inside the util.h file) the number of threads to process queries independently util.h:#define MAX_QUERY_CHUNK_THREADS 4

PS : if you use yass on the web server "https://bioinfo.univ-lille.fr" , THEN when large files are provided by the user, the single threaded version is used : the reason is here to reduce the "memory footprint" (only one index is created at a time) so the program is more likely to terminate without "being terminated" 🤖

laurentnoe commented 2 years ago

... is slow for large fasta files ...

😐