Installing BLAST+ executables is the better choice. Compilation from source costs long time and errors may occur.
the program is blastn -task blastn-short -query rfam_trimed_short_uniq.fa -db /root/bio-analysis-soft/database/gss-est-db/tage -ungapped -penalty -1 -reward 1 -outfmt 6 -out 2 -num_threads 12
I get an error.Error: NCBI C++ Exception:
"/root/bio-analysis-soft/msw/ncbi-blast-2.2.27+-src/c++/src/corelib/ncbiobj.cpp", line 689: Critical: ncbi::CObject::ThrowNullPointerException() - Attempt to access NULL pointer.
I think the error caused by -num_threads 12.can you help me ?
3 answers
I guest you compiled your BLAST+ from source tarball.
To use num_threads, you have to add a "--with-mt" argument when run configre to support multithreads.
You can follow this manual: BLAST Command Line Applications User Manual
cd c++
./configure --without-debug --with-strip --with-mt --with-build-root=ReleaseMT
cd ReleaseMT/build
make all_r
Not when they have got the "wrong" compile options. Also if that you claim is true then the Gentoo distribution is a bad idea is general (spoiler: it is not).
According to NCBI's BLAST Manual:
num_threads integer 1 Number of threads (CPUs) to use in blast search.
The command-line option is mostly referred to using CPUs (as opposed to simple threads) in the manual. I suspect you don't have 12, but did you try it with the number of CPUs you actually have got?
My ,cups 4 ,but 16 core.when num_threads 2,there is still an error
I think whenever I've seen that error, the query fasta file has had problems: can you check for
- blank sequences (i.e. no sequence after a line beginning with ">"); or
- tabs in the fasta header
- non-standard line endings (Win/DOS endings on Linux/OSX etc)
On a side note - I seem to remember seeing a tool that checks and cleans Fasta files... might be worth running once on your query file
when num_threads 1,there is no error
Log in to answer this question.