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

时间:2016-09-21 08:44:10

标签: biopython

我是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”而不是简单的“路径”?

非常感谢,

路易

1 个答案:

答案 0 :(得分:1)

您的代码似乎是正确的,并且它适用于小对齐。 137状态代码可能与&#34; Out Of Memory&#34;像在this question中一样杀人。使用命令dmesg检查最后的内核消息,查找如下行:

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