MuscleCommandline не работает в Biopython

Мне нужно интегрировать мой скрипт Python с инструментом мышц для выравнивания нескольких последовательностей. Я следовал за учебником по 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 не выводит ничего, кроме команды, и файл align.fasta не создается. Я видел старые вопросы, но, похоже, никто никогда не сталкивался с этой проблемой. Мышцы работают нормально в обычной командной строке. Спасибо.

1 ответ

Решение

Руководство немного сбивает с толку, на мой взгляд. print не запускает мышцы, а просто печатает команду, которая будет выполнена. Вы можете запустить мышцы либо позвонив

stdout, stderr = muscle_cline()

или без BioPython

import subprocess
muscle_result = subprocess.check_output([muscle_exe, "-in", in_file, "-out", out_file])
Другие вопросы по тегам