我正在尝试使用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...
我无法弄清楚这个错误的原因是什么,非常感谢任何帮助。
答案 0 :(得分:0)
你可以尝试seq_fname1,seq_fname2的绝对路径吗?另外,我希望你在提升的命令提示符下尝试这个
将其移至评论中回答:)