来自 biopython 的肌肉非零返回码 137

Posted

技术标签:

【中文标题】来自 biopython 的肌肉非零返回码 137【英文标题】:muscle from biopython Non-zero return code 137 【发布时间】:2016-09-21 08:44:10 【问题描述】:

我是 python 领域的新手,但我想使用 biopython 来对齐一些 DNA 序列。我从互联网上得到了一个脚本,并按如下方式运行它(~ 是我的主路径的缩写):

~$ python
Python 3.5.1 (default, Jul  3 2016, 12:57:35)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from Bio.Align.Applications import MuscleCommandline
>>> muscle_exe = r"/usr/bin/muscle"
>>> in_file = r"~/SpiderOak Hive/LAB/Lab book/Ery/Seqs/tester.fasta"
>>> out_file = "~/SpiderOak Hive/LAB/Lab book/Ery/Seqs/tester_aligned.fasta"
>>> muscle_cline = MuscleCommandline(muscle_exe, input=in_file, out=out_file)
>>> print(muscle_cline)
/usr/bin/muscle -in "~/SpiderOak Hive/LAB/Lab
book/Ery/Seqs/tester.fasta" -out "~/SpiderOak Hive/LAB/Lab
book/Ery/Seqs/tester_aligned.fasta"

但是在启动应用程序时我得到了:

>>> muscle_cline()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/python3.5/lib/python3.5/site-packages/Bio/Application/__init__.py",
line 516, in __call__
    stdout_str, stderr_str)
Bio.Application.ApplicationError: Non-zero return code 137 from
'/usr/bin/muscle -in "/home/gigiux/SpiderOak Hive/LAB/Lab
book/Ery/Seqs/tester.fasta" -out "/home/gigiux/SpiderOak Hive/LAB/Lab
book/Ery/Seqs/tester_aligned.fasta"', message 'MUSCLE v3.8.31 by
Robert C. Edgar'
>>>

会有什么问题?我在网上看到这可能是由于内存问题;在那种情况下,代码可以吗?以及如何运行大型对齐?

还有:我为什么要使用 = r"path" 而不是简单的 "path"?

非常感谢,

路易吉

【问题讨论】:

r'path' 的问题是***.com/questions/19065115/python-windows-path-slash -- 你在问之前谷歌了吗? 错误信息明确指出/usr/bin/muscle失败。这不是您的 Python 代码的问题,因此(尽管它可能包含无效的假设)。请参阅 muscle 文档以找出失败的原因——无论如何,如果无法访问失败的代码,我们就无法判断它的对错。 Why does my Perl script exit with 137?的可能重复 【参考方案1】:

您的代码似乎是正确的,它适用于小对齐。 137 状态码可能与 this question 中的“内存不足”杀死有关。使用命令 dmesg 检查最后的内核消息,查找以下行:

kernel: Out of memory: Kill process 52959 (java) score 164 or sacrifice child

【讨论】:

以上是关于来自 biopython 的肌肉非零返回码 137的主要内容,如果未能解决你的问题,请参考以下文章

Amazon EMR + mrjob:引导错误,“引导操作 1 返回非零返回码”

如何使用非零返回码将电子邮件发送到使用 smtplib 的备份地址?

Biopython中Entrez模块--从pubmed中查找相关文献, 所有返回的结果用Entrez.read()解析

bash if 表达式

连肌肉颤动都清晰可见!3D人体模型自动生成算法,一作来自北大图灵班 | SIGGRAPH...

连肌肉颤动都清晰可见!3D人体模型自动生成算法,一作来自北大图灵班 | SIGGRAPH...