I'm trying to run:
blastclust -a 48 -p T -d ./uniprot/2011_04/all.fasta -v progress
I have 48 cores on the server thus -a 48 argument, but only 100% CPU (1 core) is used.
I have Blast2 version 2.2.21 (standard for Debian 6).
This seems to be a bug because parallelism is clearly requested and at least a warning message should be show when proceeding on a single core.
Does anyone know how to workaround this?
1 answer
From a little experimentation I can tell you that 'blastclust' is multi-threaded, but only when it come to the cluster generation part. The initial preparation, i.e. before the "Start clustering of NNNN queries" message is single threaded.
You can check that the process is using threads by using 'ps', from the man page:
To get info about threads:
ps -eLf
ps axms
Which for a sample case, clustering PDB proteins using four threads, shows the expected number of threads:
hamish 2141 1455 2141 20 5 21:40 pts/0 00:01:05 blastclust -i pdbaa -a 4 -o outfile.txt
hamish 2141 1455 4232 0 5 21:45 pts/0 00:00:00 blastclust -i pdbaa -a 4 -o outfile.txt
hamish 2141 1455 4233 0 5 21:45 pts/0 00:00:00 blastclust -i pdbaa -a 4 -o outfile.txt
hamish 2141 1455 4234 0 5 21:45 pts/0 00:00:00 blastclust -i pdbaa -a 4 -o outfile.txt
hamish 2141 1455 4235 0 5 21:45 pts/0 00:00:00 blastclust -i pdbaa -a 4 -o outfile.txt
hamish 4236 1610 4236 0 1 21:45 pts/1 00:00:00 ps -eLf
This is on Ubuntu 10.04 LTS, which uses the Debian supplied NCBI BLAST 2.2.21 which you mention. So I'm guessing that you were unlucky enough to be looking at the wrong moment, when it appears to be single threaded.
Log in to answer this question.
Do the -a switch work for regular blast?
Yes.
blastall -a 7 -p blastp -i ~/myseq.fasta -d ./uniprot/2011_04/all.fastagot only up to 130% CPU on the first run. And 700% on the second identical run.It is probably not compiled with pthreads support - but that is hard to tell without further investigation. However, consider using Uclust or CD-HIT instead.
Did you manage to resolve this problem?
No. Looks like not a lot of people liked this question. An nobody even tried a simple repro.