Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 使用Biopython Phylo重命名为无的终端_Python 2.7_Biopython_Phylogeny_Clustal - Fatal编程技术网

Python 2.7 使用Biopython Phylo重命名为无的终端

Python 2.7 使用Biopython Phylo重命名为无的终端,python-2.7,biopython,phylogeny,clustal,Python 2.7,Biopython,Phylogeny,Clustal,我一直在使用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

我一直在使用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
-0s是什么意思?我如何修复它,以便所有终端都命名


作为旁注,当我用DNA序列填充fasta文件以对齐并导入该树时,似乎不会发生这种情况。

如果删除if-terminal.name==None,则打印那些没有的termina.name,您将获得所有名称,或者如果terminal.name!=重点是不应该有任何未命名的终端。Clustalo通过python从相同的序列输入fasta创建了一个对齐fasta文件和一个newick树。将命名newick文件中的所有终端节点。这些print语句显示,当我使用biopython导入这些节点时,树中有6个终端节点被重命名为None。在newick文件中查找-0并将其替换为0似乎可以解决此问题。恼人和奇怪,但哦,好吧!那你查过biopython密码了吗?如果可以,我会试试,但我什么也不答应