我正在尝试使用用于 EMBOSS 的 biopython 包装器本地对齐一组大约 100 个非常长(> 8000 个序列)的序列。
本质上,我需要将我的 fasta 文件中的每个序列与该 fasta 文件中的每个其他序列本地对齐。到目前为止,我已尝试运行以下非常基本的代码:
from Bio.Emboss.Applications import NeedleCommandline
from Bio import AlignIO
seq_fname1 = 'gross-alignment.fasta'
seq_fname2 = 'gross-alignment.fasta'
needle_fname = 'pairwise_output.txt'
needle_cli = NeedleCommandline(asequence=seq_fname1, \
bsequence=seq_fname2, \
gapopen=10, \
gapextend=0.5, \
outfile=needle_fname)
"""This generates the needle file"""
needle_cli()
"""That parses the needle file, aln[0] and aln[1] contain the aligned
first and second sequence in the usual format (e.g. - for a gap)"""
aln = AlignIO.read(needle_file, "emboss")
print aln
但是当我这样做时出现以下错误:
C:\WINDOWS\system32\cmd.exe /c (python ^<C:\Users\User\AppData\Local\Temp\VIiAAD1.tmp)
Traceback (most recent call last):
File "<stdin>", line 14, in <module>
File "C:\Python27\lib\site-packages\Bio\Application\__init__.py", line 495, in __call__
shell=use_shell)
File "C:\Python27\Lib\subprocess.py", line 711, in __init__
errread, errwrite)
File "C:\Python27\Lib\subprocess.py", line 959, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
shell returned 1
Hit any key to close this window...
我无法弄清楚这个错误的原因是什么,非常感谢任何帮助。