与 Biopython 进行肌肉多序列比对?

Muscle Multiple Sequence Alignment with Biopython?

我刚学会使用python(和Biopython)所以这个问题可能说明我没有经验。

为了对一个文件(FileA.fasta)中的序列进行MSA,我使用了下面的代码:

from Bio.Align.Applications import MuscleCommandline
inp = 'FileA.fasta'
outp = 'FileB.fasta'
cline = MuscleCommandline(input=inp, out=outp)
cline()

我收到以下错误:

ApplicationError
... 
 Non-zero return code 127 from 'muscle -in FileA.fasta -out FileB.fasta', message '/bin/sh: muscle: command not found'

我知道这与可执行文件不在我的工作路径中有关。 Biopython 教程建议我更新 PATH 以包含 Muscle Tools 的位置,它为 Windows 提供了一个示例,但我不知道如何为 [=27= 执行此操作].

请帮忙。

谢谢。

首先确保您知道安装位置 muscle。例如,如果您将 muscle 安装在:

/usr/bin/muscle3.8.31_i86darwin64

然后你 edit /etc/paths 有:

$ sudo vi /etc/paths

每个条目由换行符分隔:

/usr/local/bin
/bin
/usr/sbin
/sbin

将适当的路径(在本例中为 /usr/bin)添加到列表中。保存 wq!

现在,确保 muscle 在您的路径上。尝试 运行

muscle -in FileA.fasta -out FileB.fasta

如果可行,BioPython 代码也应该可行。