MuscleCommandline 在 Biopython 中不起作用

MuscleCommandline not working in Biopython

我需要将我的 python 脚本与 muscle 工具集成以进行多序列比对。我遵循了 Biopython 上的教程,这里有我的代码:

from Bio.Align.Applications import MuscleCommandline
muscle_exe = "muscle.exe"
in_file = "small.fasta"
out_file = "aligned.fasta"
muscle_cline = MuscleCommandline(muscle_exe, input=in_file, out=out_file)

print(muscle_cline)

我 运行 它与重命名的 muscle.exe 文件位于正确的文件夹中。但是,python 除了命令之外不输出任何内容,并且不会创建文件aligned.fasta。 看到老问题了,不过好像从来没有人遇到过这个问题。 Muscle 在正常命令行中运行良好。 谢谢。

manual 在我看来有点混乱。 print 不会启动 muscle,而只是打印将要执行的命令。您可以通过致电

运行 肌肉
stdout, stderr = muscle_cline()

或没有 BioPython

import subprocess
muscle_result = subprocess.check_output([muscle_exe, "-in", in_file, "-out", out_file])