使用Biopython进行肌肉多序列比对?

时间:2017-08-09 04:41:26

标签: python alignment bioinformatics 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提供了一个示例,但我不知道如何为MAC执行此操作。

请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:0)

首先确保您知道安装的位置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代码也可以正常工作。