TnT(Goloboff等,2008)如何分配内部节点标签?

时间:2018-09-28 11:46:05

标签: python phylogeny

我已经使用了TnT v1.1(Goloboff等人,2008)来将同构形态从存在矩阵(PAM)分配到系统发育。 TnT不允许使用内部节点ID或分支长度,我需要将分支长度与TnT数据一起使用以进行统计分析。我有一个巨大的数据集(> 1000个分类单元),所以用手分配分支长度将很繁琐。 TnT基于数据文件中的第一个种类开始内部节点命名(例如,如果存在一个具有100个种类的数据文件,而黄曲霉是第一个种类,则A. flavus之前的节点标注为N101)。 TnT在其ASCII树中提供内部节点,但不在其输出newick树中提供内部节点。

有人知道我如何(a)获取TnT以打印出新树中的内部节点,或者我如何复制TnT命名过程,最好使用python(ete2 / ete3)?

TIA

1 个答案:

答案 0 :(得分:1)

只是偶然发现了您的帖子。

  

TnT不允许使用内部节点ID或分支长度

这在两个方面都是不正确的; TNT确实允许这些。在做出这样的声明之前,您应该确保已经仔细阅读并理解了程序的文档。

对于newick格式的分支长度(在树n上),请结合使用“ ttag”命令和“ blength”命令,然后是“ export”:

ttag- ;; ttag =; blength * n;导出>文件名;

ttag命令允许操作/串联树标签。例如。如果您将树标记设置为打开并打印显示节点编号的树(使用“ naked-”命令),则可以使用“ tsave * filename”(打开树文件)将标记保存到新树中。通过“保存*”(保存标签):

naked-; ttag=; tplot n; tsav * con ; sav*;

所有这些都在TNT的在线帮助中进行了说明。

由于TNT还允许处理(通过脚本编写)分支长度,节点号等的值,因此您可能可以完成TNT本身所需的许多工作,而无需使用Python等。

对于内部节点编号,是的,TNT使用其自己的内部规则来确保对于相同进化枝,两个相同的树始终具有相同的编号。规则是:将根节点编号为T(分类单元数),然后从第一个分类单元开始向下编号节点(从T + 1开始,然后是T + 2,T + n,直到到达根)。移至下一个分类单元,并开始逐步向下进行根编号,直到找到根或已经为其分配了编号的节点为止。这样,您可以在需要的任何地方重现内部节点编号。