0

我一直在使用 Biopython 将一些氨基酸序列与 Clustal-Omega 对齐,然后导入生成的树。

from Bio.Align.Applications import ClustalOmegaCommandline
from Bio import AlignIO
from Bio import Phylo

clustalomega_cline = ClustalOmegaCommandline('/path/to/clustalo', infile=in_file, \
    outfile=out_file, log = log_file, guidetree_out = guidetree_file, verbose=True, \
    auto=True, force=True)
clustalomega_cline()
align = AlignIO.read(out_file, "fasta")
tree = Phylo.read(guidetree_file, "newick")
Phylo.draw(tree)

print [record.id for record in align if record.id  not in \
        [terminal.name for terminal in tree.get_terminals()]]

>['CTX-M-3', 'CTX-M-4', 'CTX-M-5', 'CTX-M-11', 'CTX-M-15', 'CTX-M-133']

print [terminal.name for terminal in tree.get_terminals() if \
        terminal.name == None]

>[None, None, None, None, None, None]

因此,导入的树现在有一些名为 None 的叶子/终端,并且缺少等效数量的命名叶子。

我尝试在树上查看文件(由 clustalo 格式化),并注意到被重命名为 none 的基因在它们之后总是有 -0,例如:

,
(
(
CTX-M-4:-0
,
CTX-M-5:-0
):0.00171644
,
CTX-M-76:0.00171644
):0.00432852

-0 是什么意思,我该如何解决这个问题,以便命名我的所有终端?

作为旁注,当我用 DNA 序列填充我的 fasta 文件而不是对齐并导入该树时,它似乎没有发生。

4

0 回答 0