Hello! I hope that you are doing well.
I have an application that needs to perform BLAST searches. I initially was intimidated by setting up BLAST+ on my local machine. So, instead I tried to use BioPython and BLAST+ to perform the searches remotely. However, doing so is painfully slow - what takes the webportal 15s takes remote searches 5+ minutes.
Has anyone set up BLAST+ locally before? Was it difficult? How much compute resources did it require? Where should I get started?
Thank you so much for your help and advice =).
2 answers
Setting in up blast takes seconds; download the executables - done. All the programs are all precompiled for all platforms.
Or you can do
conda install blast
Perhaps you meant downloading the blast databases like nt, those will be take quite a bit of time, but again it can be fully automated with the provided script
update_blastdb.pl --decompress dbname
or by downloading the databases one by one
perhaps you mean running blast itself, that then depends on what exactly are you searching, and how many sequences need to be processed, how many threads can your computer handle
Was it difficult? How much compute resources did it require?
You can download a ready to run executable for your OS from NCBI directly (all files with .src in name are source code so do not use those): https://ftp.ncbi.nih.gov/blast/executables/LATEST/
Problem is going to be compute resources, depending on blast database you are planning to use. With large pre-formatted databases like nt and nr tens (even hundred+) GB of RAM are required besides 300+GB of local storage for each of those db. So unless you have reasonably beefy infrastructure available locally your experience will be worse than web blast.
You also appear to be misunderstanding NCBI web BLAST service. It is not meant to replace high volume needs for users as a free resource. It is a public service that is meant for casual/low volume users who need to get a few blasts done here or here. If you don't have local infrastructure and have large analysis needs then be ready to spend some money. NCBI supports running BLAST in cloud : https://blast.ncbi.nlm.nih.gov/doc/elastic-blast/
Log in to answer this question.