Biopython中的clustalw和肌肉

时间:2014-01-20 22:33:24

标签: python biopython

我在使用biopython时遇到问题,我有Python版本  v3.3和我安装了biopython-1.61.win-amd64-py3.3 我想将DNA序列与ClustalwMuscle

对齐

代表Clustalw:

from Bio.Clustalw import MultipleAlignCL

我收到以下错误:

No module named 'Bio.Clustalw'

代表Muscle:

>>> from Bio.Align.Applications import MuscleCommandline
>>> muscle_cline = MuscleCommandline(input="input.fasta")
>>> stdout, stderr = muscle_cline()

我收到以下错误:

stdout, stderr = muscle_cline()
  File "..\..\lib\site-packages\Bio\Application\__init__.py", line 434, in __call__
    shell=(sys.platform!="win32"))
  File "..:\..\lib\subprocess.py", line 818, in __init__
    restore_signals, start_new_session)
  File "..:\..\lib\subprocess.py", line 1096, in _execute_child
    raise WindowsError(*e.args)
FileNotFoundError: [WinError 2] The specified file is not found

1 个答案:

答案 0 :(得分:2)

首先,尝试从here安装Biopython 1.63,它可以解决您的一些问题。

其次,请确保您使用python.org中的the latest Python - 您可能希望再次运行安装程序,以确保没有任何文件损坏,如果您在之后仍然遇到相同的错误更新Biopython。


我发现this表示不推荐使用Bio.Clustalw

  

该模块已被Bio.AlignIO框架取代   对齐解析,以及ClustalW命令行包装器   Bio.Align.Applications用于调用该工具。这些都被描述   在当前版本的Biopython教程和食谱中。

所以这解释了。至于Bio.Align.Applications.MuscleCommandLine,在其上运行help()给出了以下代码示例:

>>> from Bio.Align.Applications import MuscleCommandline
>>> muscle_exe = r"C:\Program Files\Aligments\muscle3.8.31_i86win32.exe"
>>> in_file = r"C:\My Documents\unaligned.fasta"
>>> out_file = r"C:\My Documents\aligned.fasta"
>>> muscle_cline = MuscleCommandline(muscle_exe, input=in_file, out=out_file)
>>> print(muscle_cline)
"C:\Program Files\Aligments\muscle3.8.31_i86win32.exe" -in "C:\My Documents\unaligned.fasta" -out "C:\My Documents\aligned.fasta"

因此,您的错误表明找不到合适的muscle.exe,因此您需要将其位置作为参数传递。