Я задал этот вопрос о биоинформатической версии stackexchange, но, поскольку я считаю, что это проблема с компьютером, я подумал, что должен попытать счастья здесь.
При запуске локальной BLAST (v2.2.24 +) для большой базы данных (все человеческие белки) я получаю следующую ошибку:
proteinsApplicationError: Command 'blast-2.2.24+/bin/blastp.exe -query "query.fasta" -
db "human-proteins.fasta" -out blastOutput.xml -evalue 0.01 -outfmt 5'
returned non-zero exit status 2, 'BLAST Database error: CSeqDBAtlas::MapMmap:
While mapping file [human-proteins.fasta.psq] with 5550749 bytes allocated, caught
exception:'
При поиске в Google я получил только исходный код seqdbatlas: http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/lxr/source/src/objtools/blast/seqdb_reader/seqdbatlas.cpp, в котором я нашел:
1214 if (expt.length()) {
1215 // For now, if I can't memory map the file, I'll revert to
1216 // the old way: malloc a chunk of core and copy the data
1217 // into it.
1218
1219 if (expt.find(": Cannot allocate memory") == expt.npos) {
1220 expt = string("CSeqDBAtlas::MapMmap: While mapping file [") +
(*m_Fname) + "] with " +
1221 NStr::UInt8ToString(atlas->GetCurrentAllocationTotal()) +
1222 " bytes allocated, caught exception:" + expt;
1223
1224 SeqDB_ThrowException(CSeqDBException::eFileErr, expt);
1225 }
1226 }
Мои знания C ++ ограничены, но из этого я понял, что на ПК недостаточно памяти для запуска BLAST при таком размере базы данных. Это правильно, и если да, есть ли способ запустить этот BLAST без компьютера с большей памятью? Если это не правильно, какую ошибку я получаю?
Заранее спасибо, Niek