与肌肉对齐(BioPython)

时间:2017-05-02 11:28:44

标签: python bioinformatics biopython

我正在尝试与Muscle的一些示例序列对齐来自opuntia.fasta(from BioPython manual

from Bio.Align.Applications import MuscleCommandline
in_file = "C:/Try/opuntia.fasta"
out_file = "C:/Try/aligned.fasta"
muscle_exe = "C:/Program Files/Aligments/muscle3.8.31_i86win32.exe"
cline = MuscleCommandline(muscle_exe, input=in_file, out=out_file)
stdout, stderr = cline(in_file)
from StringIO import StringIO
from Bio import AlignIO
align = AlignIO.read(StringIO(stdout), "fasta")
print(align)

我不会在C:/ / /。

中得到任何东西

错误讯息:

Traceback (most recent call last):
  File "C:/Try/try.py", line 6, in <module>
    stdout, stderr = cline()
  File "C:\Python27\lib\site-packages\Bio\Application\__init__.py", line 517, in __call__
    stdout_str, stderr_str)
ApplicationError: Non-zero return code 1 from '"C:\\Program Files\\Aligments\\muscle3.8.31_i86win32.exe" -in C:/Try/opuntia.fasta -out C:/Try/aligned.fasta' message '\x91\xa8\xe1\xe2\xa5\xac\xa5 \xad\xa5 \xe3\xa4\xa0\xa5\xe2\xe1\xef \xad\xa0\xa9\xe2\xa8 \xe3\xaa\xa0\xa7\xa0\xad\xad\xeb\xa9 \xaf\xe3\xe2\xec.'

我做错了什么? Python 2.7.10

2 个答案:

答案 0 :(得分:0)

BioPython的MuscleCommandline只是Muscle可执行文件的包装器。您需要从此处http://www.drive5.com/muscle/downloads.htm下载并安装它。在您的情况下(Windows操作系统),您需要将exe复制到某个位置,并在变量muscle_exe中引用它。

答案 1 :(得分:0)

我发现了什么问题。 首先,所有文件的路径应该是相对的 第二,我换了

align = AlignIO.read(StringIO(stdout), "fasta")

align = AlignIO.read(out_file, "fasta")

它有效!