gpt4 book ai didi

python - BLAST 数据库分配错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:26:43 24 4
gpt4 key购买 nike

我在 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:'

谷歌搜索时,我只找到了 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++ 的了解有限,但我从中得到的是 PC 上没有足够的内存来运行 BLAST 超过该大小的数据库。这是正确的吗?如果是这样,有没有一种方法可以运行这个 BLAST 而无需获得具有更大内存的计算机?如果不正确,我遇到的错误是什么?

提前致谢,尼克

最佳答案

通过将查询文件一分为二并使用 blast 2.2.25 而不是 2.2.24 来修复它

关于python - BLAST 数据库分配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7513818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com