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



我使用TnT v1.1(Goloboff等人,2008(将存在-不存在矩阵(PAM(的同构分配给系统发育。TnT 不允许内部节点 ID 或分支长度,我需要将分支长度与 TnT 数据一起使用以进行统计分析。我有一个巨大的数据集(>1000个分类群(,所以手动分配分支长度会很乏味。TnT根据数据文件中的第一个物种开始内部节点命名(例如,如果呈现具有100个物种的数据文件并且黄曲霉是第一个物种,则A. flavus前面的节点被注释为N101(。TnT 在其 ASCII 树中提供内部节点,但不在其输出 newick 树中提供内部节点。

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

蒂亚

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

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

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

对于 newick 格式的分支长度(在树 n 上(,将"ttag"命令与"blength"命令组合在一起,后跟"export":

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

;ttag 命令允许操作/连接树标签。 例如,如果您设置树标签并打印显示节点编号的树(使用"naked-"命令(,则可以将标签保存到newick树中,使用"tsave *文件名"(打开树文件(,后跟"保存*"(保存标签(:

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

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

由于TNT还允许处理(通过脚本(分支长度,节点号等的值,因此您可能可以在TNT本身中做很多您需要的事情,而无需Python之类的。

至于内部节点编号,是的,TNT使用自己的内部规则来确保两个相同的树对于等效分支始终具有相同的编号。 规则是:将根节点编号为 T(# 分类群(,然后从第一个分类单元开始对节点进行编号(从 T+1 开始,然后是 T+2、T+n,直到到达根(。 移动到下一个分类单元,然后开始依次向根编号下降,直到找到已分配编号的根或节点。 通过这种方式,您可以重现内部节点编号,以防您需要它。

最新更新