我在使用biopython时遇到问题,我有Python版本
v3.3和我安装了biopython-1.61.win-amd64-py3.3
我想将DNA序列与Clustalw
或Muscle
代表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
答案 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
,因此您需要将其位置作为参数传递。