TnT (Goloboff et al., 2008) 如何分配内部节点标签?
How does TnT (Goloboff et al., 2008) assign internal node labels?
我使用 TnT v1.1(Goloboff 等人,2008 年)将存在-不存在矩阵 (PAM) 中的突触分配给系统发育。 TnT 不允许内部节点 ID 或分支长度,我需要将分支长度与 TnT 数据一起用于统计分析。我有一个巨大的数据集(> 1000 个分类单元),因此手动分配分支长度会很乏味。 TnT 根据数据文件中的第一个物种开始内部节点命名(例如,如果提供了一个包含 100 个物种的数据文件,并且 Aspergillus flavus 是第一个物种,那么 A. flavus 之前的节点被注释为 N101)。 TnT 在其 ASCII 树中提供内部节点,但在其输出 newick 树中不提供。
有谁知道我如何 (a) 让 TnT 打印出 newick 树中的内部节点,或者我如何复制 TnTs 命名过程,最好使用 python (ete2/ete3) ?
TIA
偶然发现了你的post。
TnT does not allow for internal node IDs or branch lengths
这两个方面都不正确; TNT 确实允许这些。在做出这样的声明之前,您应该确保您已经仔细阅读并理解了程序的文档。
对于 newick 格式的分支长度(在树 n 上),将 "ttag" 命令与 "blength" 命令组合,然后是 "export":
ttag-; ttag=;长度 * n ;导出 > 文件名 ;
ttag 命令允许 manipulating/concatenating 树标签。例如。如果您设置树标签并打印显示节点编号的树(使用 "naked-" 命令),则可以将标签保存到 newick 树中,使用 "tsave * filename" (打开树文件),然后是 "save *"(保存标签):
naked-; ttag=; tplot n; tsav * con ; sav*;
所有这些在 TNT 的在线帮助中都有解释。
由于 TNT 还允许(通过脚本)处理分支长度、节点编号等的值,因此您可能可以在 TNT 本身中执行很多您需要的操作,而无需 Python 或这样的。
至于内部节点编号,是的,TNT 使用自己的内部规则来确保两棵相同的树始终具有相同的等效进化枝编号。规则是:将根节点编号为 T(# of taxa),然后从第一个分类单元开始向下编号节点(从 T+1 开始,然后是 T+2,T+n,直到到达根)。移动到下一个分类单元,并开始依次向根编号下降,直到找到已经分配了编号的根或节点。通过这种方式,您可以重现内部节点编号,如果您需要的话。
我使用 TnT v1.1(Goloboff 等人,2008 年)将存在-不存在矩阵 (PAM) 中的突触分配给系统发育。 TnT 不允许内部节点 ID 或分支长度,我需要将分支长度与 TnT 数据一起用于统计分析。我有一个巨大的数据集(> 1000 个分类单元),因此手动分配分支长度会很乏味。 TnT 根据数据文件中的第一个物种开始内部节点命名(例如,如果提供了一个包含 100 个物种的数据文件,并且 Aspergillus flavus 是第一个物种,那么 A. flavus 之前的节点被注释为 N101)。 TnT 在其 ASCII 树中提供内部节点,但在其输出 newick 树中不提供。
有谁知道我如何 (a) 让 TnT 打印出 newick 树中的内部节点,或者我如何复制 TnTs 命名过程,最好使用 python (ete2/ete3) ?
TIA
偶然发现了你的post。
TnT does not allow for internal node IDs or branch lengths
这两个方面都不正确; TNT 确实允许这些。在做出这样的声明之前,您应该确保您已经仔细阅读并理解了程序的文档。
对于 newick 格式的分支长度(在树 n 上),将 "ttag" 命令与 "blength" 命令组合,然后是 "export":
ttag-; ttag=;长度 * n ;导出 > 文件名 ;
ttag 命令允许 manipulating/concatenating 树标签。例如。如果您设置树标签并打印显示节点编号的树(使用 "naked-" 命令),则可以将标签保存到 newick 树中,使用 "tsave * filename" (打开树文件),然后是 "save *"(保存标签):
naked-; ttag=; tplot n; tsav * con ; sav*;
所有这些在 TNT 的在线帮助中都有解释。
由于 TNT 还允许(通过脚本)处理分支长度、节点编号等的值,因此您可能可以在 TNT 本身中执行很多您需要的操作,而无需 Python 或这样的。
至于内部节点编号,是的,TNT 使用自己的内部规则来确保两棵相同的树始终具有相同的等效进化枝编号。规则是:将根节点编号为 T(# of taxa),然后从第一个分类单元开始向下编号节点(从 T+1 开始,然后是 T+2,T+n,直到到达根)。移动到下一个分类单元,并开始依次向根编号下降,直到找到已经分配了编号的根或节点。通过这种方式,您可以重现内部节点编号,如果您需要的话。