肌肉命令行包装



我正在尝试使用python来完成多序列比对。我使用bioython模块作为基础,但bioython的命令行包装器意味着语法:

from Bio.Align.Applications import MuscleCommandline 
muscle_exe = r"pathmuscle.exe"
in_file = r"pathExample.fasta"
out_file = r"PathExamplealn.fasta"
muscle_cline = MuscleCommandLine(input=in_file, out=out_file)
print(muscle_cline)

这将代码打印为:

muscle -in Example.fasta -out Examplealn.fasta

然而,当我从命令行运行MUCLE时,它使用格式

muscle -align Example.fasta -ouput Examplealn.fasta

这意味着当我执行python脚本时,它会返回为";无效命令行";我对CL的经验有限,所以我很好奇是否有一种方法可以解决这个问题,而不必以某种方式创建python可执行脚本。

提前感谢

BioPython很好,但如果你能在命令行上让它工作,而不是通过BioPython,最简单的解决方案可能是使用Python而不是BioPython运行命令行命令。

有几种方法可以运行命令,但一个简单的起点是:

import subprocess
subprocess.call('muscle -align %s -output %s'%(input_fname,output_aname))

然后你可以使用BioPython读取多序列比对并对其进行操作

最新更新