bioinformatics – Why is the output file from Biopython not found?

cline in your code is an instance of MuscleCommandline object that you initialized with all the parameters. After the initialization, this instance can run muscle, but it will only do that if you call it. That means you have to invoke cline()

When you simply print the cline object, it will return a string that corresponds to the command you can manually run on the command line to get the same result as when you invoke cline().

And here the working code:

from Bio.Align.Applications import MuscleCommandline
cline = MuscleCommandline(
    input="testunaligned.fasta", 
    out="testunaligned.aln", 
    clwstrict=True
)
print(cline)
cline() # this is where mucle runs
from Bio import AlignIO
align = AlignIO.read(open("testunaligned.aln"), "clustal")
print(align)

Read more here: Source link