Entering edit mode
8.2 years ago
majid.hajibaba
▴
10
Dear all,
I'm trying to test the blast 2.2.20 performance. I use Uniprot/Trembl and some query with different size to search against it using blastp. But why blast don't use all of my memory. How much memory size it need.
I read some papers about caching database on RAM.However, when i use 128MB RAM or 4GB RAM the execution time is approximately equal.
edit : 2018-09-03
I wrote a paper to solve this issue which is accessible by the following link http://www.eurekaselect.com/162633/article?trendmd-shared=3
Dear Majid, Hi
I guess that the CPU with
-num_threads
is more important in the Blast performance.and have a look at Gnu Parallel, it is interesting.
No! i use the basic command
In regard to CPU or threads (NOT RAM) it would be differece in blast performance using multiple CPU cores.
e.g:
blastx -query Trinity.fasta -db uniprot.fasta -out blast-result -evalue 1e-20 -num_threads 6 -max_target_seqs 1 -outfmt 6
and
blastx -query Trinity.fasta -db uniprot.fasta -out blast-result -evalue 1e-20 -num_threads 32 -max_target_seqs 1 -outfmt 6
I have just one CPU core! try to test memory impact on BLAST.
Majid jan,
Maybe the memory has no impact on local blast performance at all ! as I can not remember any option/switch in the blast script for feeding more RAM to Blast.
Have a look at these options, please.
Farbod jan,
I read in some paper that memory has a major impact on BLAST and if the database size be more than memory size, the performance significantly degrade. for example in mpiBLAST paper has a section about low memory performance.
Merci az shoma ;-)
I suppose you are referring to creating a RAMDisk/RAMDrive (or equivalent) to cache the db in memory? Likely 124MB or 4GB (not sure how big the index files for Uniprot are) of RAM would be enough for that purpose.
I use virtual machines to test it. I don't use RAMDisk. I try to test the impact of memory on BLAST. But in my case the 4GB has not any superiority on 128MB. the file size is as follows:
Cool, thanks for updating and sharing!
How to cache the db into memory? Is there an operable method?