我在使用biopython时遇到了问题,我有PythonVersion3.3,我安装了biopython-1.61.win-AMD 64-py3.3,我想将Clustalw或Muscle的DNA序列对齐。
对于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发布于 2014-01-20 22:54:23
首先,尝试从这里安装Biopython1.63,它可能解决一些问题。
第二,确保您使用的是来自Biopython的最新的Python --您可能希望再次运行安装程序,以确保您的文件没有损坏,如果您在更新Biopython之后仍然收到相同的错误。
我发现这表示不推荐Bio.Clustalw。
这个模块已经被用于对齐解析的Bio.AlignIO框架和Bio.Align.Applications中用于调用该工具的ClustalW命令行包装器所取代。这两者都在当前版本的Biopython教程和Cookbook中进行了描述。
所以这就解释了。至于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,因此需要将其位置作为参数传递。
https://stackoverflow.com/questions/21245544
复制相似问题