TNT:X

Malacology留言 | 贡献2023年8月7日 (一) 09:56的版本 (创建页面,内容为“= xcomp = <code>N</code> 比较参考树和树之间的步骤,逐个性状进行。必须使用<code>xcomp = X</code>定义树作为参考。如果树的列表后跟<code>> J K</code>(其中<code>J</code>,<code>K</code>是数字,<code>0-31</code>),则具有更差适合度的性状列表放置在性状组<code>J</code>中,而具有更好适合度的列表则放置在组<code>K</code>中。使用<code><</code>而不是<code>></code>,它…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

xcomp

N 比较参考树和树之间的步骤,逐个性状进行。必须使用xcomp = X定义树作为参考。如果树的列表后跟> J K(其中JK是数字,0-31),则具有更差适合度的性状列表放置在性状组J中,而具有更好适合度的列表则放置在组K中。使用<而不是>,它会从JK组中删​​除性状。

*N 相同,使用适合度。在自动加权优化下,这是默认选项。

xgroup

定义性状组。一般语法与tgroup相同(但不允许nodsizmono)。选项lenhomoscore,后跟一棵树的编号和比较运算符(=<><=>=),可以添加或删除对比运算(当性状优化到指定的树上时)为真的所有性状。

例如

xgroup>5 len 0 <10; 将树0上9步或更少步数的5个性状加入到组中

xgroup=4 homo 2 (3,5); 将树2上同源性步骤为3至5个的性状放入组中。

选项minmax类似,但在这种情况下不指定树。在一系列性状之后,您还可以通过/N zap N个性状(即,xgroup=0 2. /3; 创建一个包含数据集中所有第三个位置的组)。

如果您使用xlinks命令定义了性状之间的链接,则可以通过links=C创建与性状C链接的性状组,或者属于复杂数X的性状组(使用complex=X)。当然,linkscomplex同样适用于添加或删除性状(使用)。

对于性状类型,type = TYPE(其中type可以是numdnaprotcont1d2d3dlandaddnonaddsankdisc)将指定类型的所有性状放入组中。

选项/自动创建具有每个数据块的组,xgroup!;仅保存活动性状。

xinact

在矩阵中停用所有不是 infomrative 的性状。

xlinks

定义性状链接。这允许性状/状态之间的部分依赖关系。这样可以重建祖先,使得特定的性状组合是强制性的(或首选的),从而提供了将功能依赖性的思想纳入分析的方法。这取代了使用smatrix&选项(见Goloboff et al. 2021,doi 10.1111/cla.12456),因为它包括实施中的不适用性(smatrix&选项仍然有效,尽管它已弃用,并且使用特定smatrix&格式的角色名称可以轻松转换为xlinks格式)。

通过内部创建复合性状(如Goloboff et al. 2021,doi 10.1111/cla.12456 中所述),表示所有可能的状态组合(或所有允许的组合)并计算所有重新编码状态之间的转换成本,来考虑性状依赖性。这都是内部的自动执行,因此用户不需要过多担心。

选项概览

[DEPS] 定义依赖关系DEPS(见下文)。必须在读取数据集之前启用链接,使用xlinks =

= 该选项有两种不同的解释,具体取决于它是在读取数据之前还是之后使用。 在读取之前,xlinks=n允许每个从属性状使用最多 n 个上位符。 使用 0 表示禁用(节省内存;这是默认值)。 如果使用 n=2 或更多,则 Goloboff et al. (2021)的基于名称的语法。 在内部转换为带有smatrix&选项的链接,从而提供向后兼容性并消除使用性状名称指定层次结构时 32 个状态的限制。

        读取数据集后,`xlinks=`读取链接,但格式比前一个选项更简单(并且语法中不允许嵌套依赖语句;可以定义嵌套依赖,但不能在同一语句中定义)。 由于不允许嵌套定义,因此语法可以更简单,仅使用`<`和`>`作为依赖性状(可以有规则,但不使用`{ }`,就像嵌套语句一样)。 不需要`:`符号来区分确定其他状态和由其他状态确定的状态(`< >`内的状态始终是确定的,而外部的状态始终是确定的)。 指某东西的用途 `!` 不允许(因为该符号是不必要的)。 虽然使用这个更简单的方法,您不能使用嵌套语句(例如,`0 :0 <1 - :-0 <2 -> >`),但在许多情况下,您可以拥有更简单的定义(即`0 0 <1 -> 1 -0 <2 ->`)。 选择对您来说最方便的语法。 请注意,`xlinks:`的使用以及`[ ]`和`/`选项不受`xlinks=`使用(或不使用)的影响。

- L unlink列表L中的复杂体。

] 禁用所有定义的链接(但不取消定义它们;它们可以随后用xlink [;重新激活)。

[ 重新激活任何未激活的链接。

< 如果几个规则对同一组链接性状产生不同的惩罚,请使用最小的xlink

> 如果几个规则对同一组链接性状产生不同的惩罚,请使用最大的xlink

+ 如果几个规则对同一组链接性状产生不同的惩罚,请使用总和的xlink

: 为彼此转化的状态组合定义特定的成本(或成本惩罚)。语法:ch1 from >to ch2 from >to ch3 from >to = costcost可以是绝对值,或(如果前面有加号或减号)是惩罚或奖励。仅当性状列表(1-3)恰好匹配复合物的组成时(例如,当进行 jackknifing 时,如果杂合体中的某些性状非活动状态,则不会匹配),应用绝对成本。即使复合物中的一部分性状被包括在指定复合变换集合中(并应用于包含使用xlinks:指定的转换集合的所有组合),惩罚或奖励也会被应用。这可以用于调整特定的转换,这些转换不易在[DEPS]下建立的规则范围内涵盖。

* 定义了一组系列同源(serial homologs)性状,即连接转变成相同状态的性状(如果性状是非加性的)或者连接增加/减少变化(如果是加性的)的变化会被降权(即第一对脚和第二对腿中一对刺的共同增加不是两个独立的事件,而只是一个事件)。在不隐式违反原始性状(IVTI)中的三角不等式的情况下可以进行的权重降低是温和的; TNT 自动找到无需 IVTI 即可完成的最强权重降低。 TNT 可让您更强烈地减重,但不建议这样做(请参阅下面的示例)。语法是 xlinks * C1 C2 C3 /V。值 V(默认=不会导致 IVTI 的最小值)是联合步骤的数量,超过该数量的联合更改将被折扣。 由于这会在某些性状中折扣步数,并且步数不能为负,因此仅当集合中的所有性状的(先前)权重大于统一时才适用(否则,不能有步数可折扣)。 当未指示任何V 时,TNT 会找到将阻止所有 IVTI 的最小 V。 当V=0时,在加性性状的情况下,仅使用最大的增加/减少作为同时变化的总成本; 在非加性的情况下,如果多个序列同系物最终都处于相同状态,则仅计算一步。 随着 V 的增加,并行推导(或并行增加/减少)的成本开始降低的联合步骤也会增加。 当您使用vlinks;查看当前链接时,会报告上次使用的联合导出被降低权重的步数(这可能会随着您更改角色权重、活动或可加性而变化)。

示例:对于权重 2 ,可加性特征,xlinks*0 1;。联合更改 0->2 的总成本为 7 而不是 8,更改 0->2 + 0->1 的成本为 6(此处没有减少); 这里使用 V=7。 使用如下数据集:

 A  00  

 B  00  

 C  21  

 D  22 

(A(B(CD))) 复合体如下

     ,--0- A            ,--0- A 

 --0|   ,--0- B     --0|   ,--0- B 

    `--0|   ,--2- D    `--0|   ,--2- D 

         `--2---2- C        `--1---1- C 

长度计算为 8(成本为 6 的变化 0->2 +0->1,加上成本为 2 的变化 2->2 + 1->2); 与其他分辨率的长度差异是 5 个步骤(而不是 6 个)。 对于相同的数据集,但 V=5,树长度现在为 7,并且与替代分辨率的差异为 3 步(即更小)。 问题是现在可以像以前一样联合映射复合体,或者同样好:

    ,--0- A            ,--0- A 

 --0|   ,--0- B     --0|   ,--0- B 

     --0|   ,--2- D    `--0|   ,--2- D 

        `--2---2- C        `--2---1- C 

请注意,由于 V 值较小,第二个性状的 CD 的共同祖先先增加后减少。 当 V 值更小时,与替代树的差异继续减小(对于 V=4 或更少,降至仅 2 步),但由于 IVTI,其他不寻常的联合映射也同样变得最优。 对于 V=2 或更小:

    ,--0- A            ,--0- A 

 --0|   ,--0- B     --0|   ,--0- B 

    `--0|   ,--2- D    `--0|   ,--2- D 

        `--1---2- C        `--1---1- C 

请注意,CD 的共同祖先的状态不同于其第一个性状的两个后代的状态。 为了防止出现这样的 IVTI,建议依靠 TNT 自动计算 V 值并跳过 /V 规范。

通过DEPS的规范,可以定义三种依赖关系,分为两类:

静态依赖关系:

  • 某些性状的适用性/不适用性,基于其他性状的状态。
  • 合理的祖先重建,以禁止或惩罚某些祖先组合(例如,祖先必须重构,以使如果性状N具有状态x,则性状L只能具有状态u、v,但不能为w)。

动态依赖关系:

  • 不禁止任何祖先组合,但给出不同的转换成本,即在树的特定区域中发生性状Y具有给定(组合)状态(用:表示),或性状Y具有某个状态改变(用/表示)时,将性状Xi变为j。如果您使用此功能,并希望确保避免类似于串联同源体(xlinks”)的效应,则可以使用小于一步的惩罚(或步数折扣)(例如,将所有性状加权10,然后使用最多9个的惩罚或步数折扣)

每种情况下,都可以将具有和/或条件的超级性状的条件定义为一系列AND/OR条件,从而使一个性状依赖于几个其他超级性状。子性状本身也可以使用AND/OR条件,请参见下面有关{ }的用法。

指定依赖关系的语法源于anagallis(De Laet 2018)中使用的语法,但进行了一些修改,以允许更多的可能性

xlinks

  tail :absent

    < color - > ;`

这表示仅在tail不缺席时,color才适用。 -符号可以省略(如果未指定状态,则被视为“不适用”,但最好用于清晰明了)。每当需要一个状态列表(对于父或从属性性状),在列表之前使用符号(注意:ASCII 126)表示补集(即“不是”)。这可用于更简单地表达规则。

xlinks

  keel :sharp & apophysis :long

    < hook bent > ;

注意,钩子可以采用的状态(弯曲)仅列出(仅确定下属物品发生什么的状态必须在“:”之前加上,例如keel中的sharp或apophysis中的long)。

这表示如果keel是锋利的且apophysis是长的,则挂钩(例如与keel和apophysis一起用于清洁!)必须弯曲。&| 分别表示AND和OR。

条件表达式从左到右解析;注意x & y | z”与z | x & y不同(前者只要z为真就始终评估为真,后者只有当y为真时才评估为真)。

您可以使用括号来分隔条件:z |(x&y),这个表达式现在相当于x& | z(翻译为(x&y)| z)。

对于特定的状态组合,您可以惩罚进入和离开该组合的转换,而不是完全禁止它们(这对于不适用的情况不可能,只对于特定的状态适用)。为此,在下属性状的<之后加上+后跟惩罚即可:

xlinks keel :sharp & apophysis :long <+1 hook bent >

此惩罚不会乘以性状的权重(因为当多个性状本身从属于某些条件(即{ },见下文)并且多个性状可以具有不同的权重时,也可以应用惩罚)。 因此,每个惩罚都是恒定的,不依赖于角色权重。 如果任何状态子依赖于钩子,您可以添加确定状态并继续使用进一步的<>来组装层次结构:)

xlinks

  keel :sharp & apophysis :long

    < hook bent :straight 

      < tip_of_hook red > 

     > ;

如果tip_of_hook除了钩子之外还依赖于另一个角色(例如,腿,一个本身不依赖于龙骨和隆起的角色),您可以将其分为两个依赖声明:

xlinks 

  keel :sharp & apophysis :long  

    < hook bent > 

  hook :straight & legs :colored  

    < tip_of_hook red > 

  ;

或者使用!符号表示腿不依赖于先前指定的上级(即,当龙骨尖锐且隆起长时,腿不需要有特定状态):

xlinks 

  keel :sharp & apophysis :long 

    < hook bent :straight & legs ! :colored 

      < tip_of_hook red > 

    > ;

所有之前的例子都涉及下属角色可以根据一些上级角色的状态组合来采取某些状态的情况。有时候,人们可能希望指定对于上级角色中的一些状态组合,在几个下级角色中只有某些替代方案。这可以使用 { } 而不是 < >,并使用相同的语法来指定条件,例如:

xlink 

  diet :carnivorous & tail :lunate 

    { ( upper_teeth incisor & lower_teeth molar ) | 

      ( upper_teeth molar & lower_teeth incisor )  

    } ;

因此,当饮食为肉食且尾巴为月形时,上牙或下牙(但不是两者!)必须是门牙。 也就是说,上/下牙中的磨牙/磨牙或门牙/门牙的组合将被禁止。 请注意,仅当存在某些 OR 替代项时才需要使用“{ }”; 如果只有 AND 选项,则始终可以通过使用< >来处理。 与< >的情况一样,您不必完全禁止某些祖先性状组合,而是可以对它们进行惩罚(像以前一样,在起始{后面加上+)。

动态链接在给定上位词及其条件后,使用[](而不是<>{})来指定:

xlinks 

  wings :small  

    [+2 flight slow > fast ];  

这表明,在翅膀尺寸正在重建为小的分支中,从快速飞行到慢速飞行的转换将额外花费2步(请注意,这里只考虑上位词的后代状态)。如果您需要更改的成本适用于祖先和后代都遵循上位词特征规则的情况,而不仅仅是后代,则在指定子特征时使用双[[(在这种情况下,当然,您也必须用]]结尾)。可能有用的一个情况是:为了在DNA序列中对静默替换进行差异化加权(这要求祖先和后代都必须遵循规则,即对于给定的氨基酸)。

对于动态链接,您可以根据上级性状的更改来改变给定转换的成本(而不是祖先/后代中存在的状态)。在这种情况下,首要性状后跟/和更改(更改,其语法与从属性状相同)

xlinks 

  wings / small > big

    [-1 flight slow > fast ];  

这表明,从快速飞行转变为慢速飞行的转换在翼展从小变大的分支中的成本要低一步。如果在祖先和后代具有相同翼展的分支中发生,缓慢到快速的成本不会发生变化。如果“翅膀”和“飞行”是复杂元素中唯一的两个性状,则这相当于声明同时获得快速飞行和大翅膀相当于一步(例如,一个被这样的变化定义的组可能会被一个矛盾性的性状所覆盖,而不是两个。)。

请注意,上级性状中的条件可以是变化和状态的组合(具有AND/OR条件),但如果任何一个父级性状被指定为变化(即使用/),那么唯一可能的下属依赖关系是作为动态链接(即使用[ ],而不是< >{ })。

对于动态链接,惩罚可以是负数(即使转换更便宜),但总的结果成本不能小于 1。请记住,如果您仅惩罚(或奖励)依赖项中的一些可能的转换, 性格,很容易违反三角不等式; 这可以避免给所有转换带来更高(或更低)的成本(最容易使用?>?来完成,其中?代表“所有可能的状态”)。 此外,正惩罚比负惩罚更有可能违反三角不等式,并且当仅考虑后代时(即使用单个[!),因此通常可以通过考虑祖先和后代(即使用 双倍的 [)。

请注意,动态链接中的罚分不会乘以问题性状的权重。还请注意,通过降低否则不适用的状态之间的成本(例如,从蓝色到红色,或从红色到蓝色,当没有尾部时),在某些情况下,您可以获得一种在不适用情况下的 Fitch 解释(其中任何蓝色->红色或红色->蓝色的成本与当尾部存在时完全相同)和最大同源性解释(其中蓝色->红色或红色->蓝色将等同于“nothing”)之间的梯度。一个例子是,如果尾部颜色的基因未表达,则预计会经历遗传漂变,从而具有更便宜的变化,或者对尾部丢失之前状态的“记忆”较少(而不是像 Fitch 优化中那样的“完整”记忆)。 然而,这个类比还远远不够完整。

您可以在一个xlink命令中混合三种依赖关系;如果您重复多个xlinks命令,则定义将添加到现有命令中(使用xlinks -,请参见上文以取消定义链接,xlinks]以临时禁用现有链接)。vlinks命令可用于检查或保存链接定义以及生成状态重编码和转换成本。

xmult

使用扇区搜索、漂移、棘轮和融合相结合的方式进行多次重复。

hits N 达到N次冲击最佳长度则停止

replications N 每次冲击,最初使用N个复制进行搜索

[no]targetscore N 搜索直到找到分数为N(仅在融合时)

[no]update [不]更新目标分数

[no]giveupscore N 一旦找到分数N,立即放弃搜索

[no]rss 使用随机扇形搜索(使用sectsch:options进行设置)

[no]css 使用约束扇形搜索(使用sectsch:options进行设置)

[no]xss 使用独占扇形搜索(使用sectsch:options进行设置)

[no]fuse 使用融合(使用tfuse:options进行设置)

[no]dumpfuse 如果融合无法产生目标分数的树,则通过融合产生的树进行转储(可以通过仅保留最独特的树来防止后续融合的“堵塞”)

[no]rebuild N 使用N个重建周期(其他设置使用rebuild: options;)。

[no]drift N 使用 N 次漂移循环(使用drif:options)进行设置)

[no]ratchet N 使用 N 次棘轮循环(使用rat:options)进行设置)

hold N 用于棘轮、漂移或重建,每个复制初始保存多达N个树(默认值=1)

[no]autoconst N 使用前一次运行的共识和当前初始阶段作为初始阶段的约束。1=之前和wagner,2=之前和SPR,3=之前和TBR。新命中的第一次复制从未受到限制(即命中是完全独立的)。请注意,当skipspr打开时,2级默认为1。

[no]xmix 在未成功融合后,开始一个新的自动约束复制集(否则不要)

[no]prvmix 如果在运行xmult之前存在树形记忆,请使用最后一个自动约束第一个xmult重复

[no]consense N 基本命中以检查一致性稳定(更大数字使估计更可靠)

confactor N 增加命中数以检查一致性稳定(10-100,更大的数字:更可靠)

conmax N 重新检查一致性的最大新命中(默认=12)

[no]keepall 保留所有复制的树。当“命中”为1(=默认值)和hits>1时,它具有不同的含义。当hits=1时,它是来自RAS + TBR + SS或DFT或RAT的每个树形+ 融合树形的树形。当hits> 1时,则意味着从每个起始点的初始起始树形融合而成的树形。因此,要找到N棵树,每棵树都是由S个起始点(RAS + TBR +等)而来的,并通过融合得到,使用xmult = hit N noupdate rep S keepall

[no]retouch N 在尝试新重复前,重复扇区搜索和ratchet / drifting

level N 设置搜索级别(0-10)。 对于简单的数据集,请使用0-2,中等数据集请使用2-5,对于困难的数据集,请使用更高的级别。 如果N后面跟着数字T,则设置T个分类群的级别;否则,设置当前活动分类群的级别。

chklevel N 在运行期间每N击检查搜索参数。

参数从用户设置开始增加或减少。 如果N前面是+F(介于0和2之间),则整个级别都会改变F。 如果N前面是-,则用户设置是起始点[不]在达到目标得分后,使用次优树与最优树融合以找到其他树(默认值=是)。

[no]multiply ]在达到目标得分后,使用次优树与最优树融合以找到其他树(默认值=是)。

[no]verbose 生成详细报告

[no]hybrid 使用杂交; 这可以与树融合结合使用。 杂交次数、轮次、样本大小和要停止的不成功轮次均使用tfuse命令设置。 当与picktype组合时,hybrid后面可以有一个数字 x F——如果选择hybrid而不是fuse,则这是乘以复制次数的因子。 融合通常需要较少的树作为输入(用于更结构化的数据集),但是当使用pick时,遗传算法在运行时确定,因此用户无法提前预测将使用哪种遗传算法。 例如,对于pick Hybrid x4 repl 5,如果选择融合,那么它将使用(最初,至少)5 个复制进行融合; 如果选择杂交,则将使用 20 次重复。

pcoord 1 只用于从属任务内,当多个任务同时运行“xmult”且请求多个到最小分数的命中时。这将在任务之间交换最佳得分值,以便每个任务知道其他任务找到的最佳得分,并尝试复制该最佳得分。当在平行扇形搜索中运行xmult时,这是无效的(不同扇区的分数不可比较!)。显然,如果不同任务运行不同的数据集(例如,有些任务取消激活一些特征,其他任务这样做),这可能会导致某些任务试图达到不可重复的分数;如果您知道自己在做什么,请谨慎使用。

proord 2,3 与 1 中一样,但使用某些任务作为fusers,来处理由其他任务(builders)构建的树。 后面可以跟:N,这是组大小(builders+fuser); 如果 N 小于任务,则您可能有多个fusers(即大约tasks/N fusers)。 对于2的情况,这些fusers彼此独立工作; 对于 3,他们传达找到的最佳分数,并且所有人都尝试达到相同的分数。 在2:N3:N后使用星号 (*),每个builder中的第一个复制通过引用 RAS Wagner 树进行自动约束(以便 CSS 可以应用于第一个复制)。 将与号(&)与 3 一起使用,当fuser完成时,它会告诉builder暂停(以便在其余fuser/builder组试图赶上时不继续使用 CPU 时间),构建器恢复工作 只有当其他fuser/builder团体找到更好的树时。

pcoord 4 任务中集中一致稳定,所有任务产生(或试图产生)最佳长度的碰撞(这会打开pcoord 1选项,以便所有任务都知道全局最佳分数),但是碰撞的共识集中在任务0上。此选项要求您指定consen

[no]picktype N 使用融合或混合化,使用阈值N进行选择(请参见tfuse)这仅使用一种类型的遗传算法。如果您想要使用两种算法,请将它们都设定。如果使用verbose,则在屏幕上指示选择。

[no]hfuse N 每N次碰撞到最小长度,将所有结果的树混合化作为额外的优化检查。

ras,cas,ias, 选择wagner树添加序列的类型(如果未指定 sas、fas,则使用上一次使用mult的)。

选项使用xmult:options;xmult=options;设置(使用:仅更改设置;=也可以运行)。使用xmult:;显示当前设置。如果进行捕获(consensing),则/后跟一个分类单元列表会从共识中删除指定分类单元(这必须跟随所有其他选项)。如果指定了 css、rss 和 xss,则首先执行 css,然后执行 rss,最后执行 xss。重建、棘轮和漂移(按顺序)始终在区域搜索之后执行。全局杂交和/或树融合最后执行(尽管它们可能作为重建、棘轮或漂移的一部分进行)。

xperm

N/L;L分类阶元中对性状N进行状态置换

- 撤销上一次置换

xpiwe

处理扩展隐含权重选项

- 关闭隐含权重拓展。

= 开启隐含权重拓展。(对常数或“集合权重”的性状集和/或不同的性状使用不同的权重强度)。使用xpiwe[定义的性状集使用集合中的平均 homoplasy 计算权重。对于具有H个 homoplasy 的 N 个性状集,集合的得分为

 
    用 `xpiwe/` 定义的集合具有常数权重。



    请注意,集合加权的独特之处在于使简约无信息的特征与分析相关; 对于设定加权,当用户定义的加权函数生效时,TNT 需要推断成本(因为它使用平均步数)。 当在分析中组合不同的权重强度时,所有性状的拟合函数都会重新调整,以便所有性状的第一个额外步骤(即无同质性)的成本相同。



    注意:扩展隐含权重仅在`piwe=`下有效,在`piwe+`下无效,并且要应用它,您必须在隐含权重打开的情况下读取数据。

/ 定义一组具有恒定权重的性状。用法是:/ NxF L,其中L是每一步的成本与N个额外步骤的性状(在base凸度或用户定义的加权函数下)添加1步的成本相同,但计算成本为F倍。

[L 为homologous(=homologous, homology)“集合权重”定义一组性状 (L)。如果L后面(可选)跟着= N,则集合L被分成N个连续性状的子集或“块”。如果L后面跟着/和一个分区(例如12:31:2:3的形式),则列表L中的第一,第二和第三个位置被分组。未指定1、2或3会使这些位置在子集之外。

    注意:当用户加权函数有效时,加权集需要计算额外步骤的分数(即非离散)数量的拟合; 这是通过使用宏表达式`intpol`的相同插值器进行插值(在从用户定义的成本函数组装的拟合函数上)来完成的。

] 像前一个一样,但是它自动完成所有数据块(例如,xpiwe]/12:3;创建按第1和2个位置的一个集合,另外一个按第3个位置的集合,对于每个数据块,而 xpiwe]=10; 将每个数据块分成每10个性状一组)

* 将加权集中的性状列表和固定权重的性状列表写入日志文件,以 TNT 可读的格式

&L 报告树列表L的加权集的状态。如果列表以性状串“步骤”,“分数”,“homoplasy 同质性”,或“大小”为前缀,则它会报告相应值(默认值为“大小”)。在不同的凹度下,您还可以报告每个集合的凹度值(kvalue)或将步骤添加到集合中的平均性状的成本(cost)!

!L 从权重集和具有固定权重的性状集中删除列表L中的性状。

( 通过不同的凹度处理隐含权重来区分不同的性状。( 可以后跟*或性状列表L。带有星号*(见下文)根据缺失条目的数量确定不同的加权强度;有了列表L,用户就可以为指定的性状定义凹度。piwe&命令显示凹度值(或不同性状添加步骤的成本),而不是此命令。

     `(*` 选项:此选项旨在解决具有许多缺失条目的性状在分析期间通常具有高隐含权重的问题。使用`( *P <M /K`(为了计算适应度差异)假定缺失条目具有观察条目中发生的同质性的比例`P`。因此,如果`P`为`1`且性状中有一半的单元格为缺失条目,则将步骤添加到具有`H`个额外步骤的性状的成本(近似)与将步骤添加到具有2H个步骤的性状的成本相同。

如果未指定P,则使用默认值(0.5)。在阅读矩阵时,不适用(不应增加缺失条目的计数!)可以用符号*(=所有状态的集合但是最大状态)表示。默认权重函数使用的近似基于使用不同的 K 值,假设对于标准权重函数,在K1 下向具有 N 个额外步骤的角色添加一个步骤的成本与添加一个步骤大致相同 到凹 K2 下具有 N.K1/K2 额外步骤的角色。 因此,具有更多缺失条目的性状会获得较低的 K 值(即,随着同质性的增加,它们的影响力会更快地降低,但在不存在同质性的情况下具有相同的影响力)。 M 确定 K1/K2 之间的最大可接受比率 (1<=M)。如果未指定 M,则使用默认值 (5)。 值 K 确定“基本”凹度(即没有缺失条目的性状的凹度); 如果不包括/K,则使用一般凹度。 请注意,P=0M=1 相当于标准隐含权重。 如果已定义加权集(使用xpiwe[xpiwe]选项),TNT 将尊重这些集(从观察到的条目中的平均同质性推断到该集中的总缺失条目)。 当用户定义的加权函数生效时,K 值将用作外推到缺失条目的因子(在一般凹性 G 下,具有凹性 K 的性状被认为具有 G/K 倍 于非缺少条目)。 请记住,这意味着向具有 S 个步骤的角色添加步骤的成本与向具有 G/K 倍观察到的同质性的角色添加步骤的成本相同,而不是 G/K 乘以步骤成本! 插值器使用用户定义的成本函数(而不是从中组装的拟合函数;请注意,这两个选项可能会产生略有不同的结果)。

    `(=` 选项:类似于上一个选项,但使用启发式算法最能近似缺失比例的`K`值。当用户定义的加权函数生效时,此选项默认为上一个选项。

    `(L` 选项:使用`(L / K` 使列表`L`中的所有性状都具有一定程度的`K`。初始凹度可以使用上一个选项进行设置,然后可以使用此选项进行修改(此时 TNT 将尊重用户确定的最后一组凹度值) 请记住,如果定义了加权集,则集合中所有性状必须具有相同的凹度!当用户定义的加权函数生效时,k会用作外推因子(与之前的选项相同)。为所有性状使用单一凹度(或用户定义的加权函数)。

xread

读取数据;Hennig86 / NONA格式。每个块前面加上“&”,方括号中为块选项。块选项包括:

continuous 连续

dna DNA

proteins 氨基酸

numeric 阿拉伯数字

landmark 2D,3D读取二维或三维数据(地标坐标)。每个“性状”可以由多个点组成;使用|分隔性状,使用?表示缺失。

gaps/nogaps 将间隙视为额外的状态/缺失的状态。

trimhead 如果数据是DNA或AA,并且间隙是第额外状态,则使所有前导间隙为缺失项。

trimtail 一样,对于末尾间隙

match N 将相似性名称N视为相同的相同分类(具有1个相同)。

verbose 为每个块提供状态信息

/blockname 将块命名为blockname。随后使用cnames命令覆盖这些名称。

编辑数据有:

=C T S 分类T,性状C设置状态为S。如果C和/或T在方括号中,则C和/或T可以是性状/分类列表。如果C是地标性状,则C必须后跟要设置的地标数(config的第一个地标为0),并且S以两个或三个以逗号分隔的值给出(取决于config是2D还是3D)。

        注意:如果将性状数给出为`?`,则TNT会将矩阵单元格转换为缺失条目,其中:`xread=?Pc Pt`。`Pc`是选择性状的概率(0-1);如果选择用于引入缺失条目的性状,则使用选择分类群的概率`Pt`(0-1)。这取决于当前的随机种子。

!C T S 相同,但不重新检查最小值和最大值(节省时间,但除非使用xread ==;,否则后续优化可能会出错。请小心使用!)

== 检查所有性状的信息量(=撤消先前可能产生的副作用)。

保存数据有:

* 所有性状(也保存性状设置)

- 只有活动性状(也保存性状设置)。在地标的情况下,不保存权重为零的地标。

[ 只对活动状态有效,对性状顺序进行随机化(打乱)。对于地标性状不适用。

!T/C 仅保存分类单元名称和特征(没有xread,没有ccode),适用于分类单元列表T,特征列表C(默认全部)。

        如果列表T前面加上`(N)`(其中`N`是树编号),则T可能包含树编号为`N`的树单元列表。在地标配置的情况下,您可以指定要保存为`<L>`的单个地标`L`。类似于`map`,使用`:`而不是`!`调用内部节点的下行状态集(而不是最终状态集)。

生成数据:

/C T N 使用C个性状和T个分类单元的随机数据(在每个单元的每个表格中,每个状态都是等概率的)

+T P C N Neyman/Jukes-Cantor数据,使用树T作为模型,停滞概率PC个性状和N个状态。如果P = 0,则它将随机分配分支长度。如果用T P替换!,则使用树标签中的分支长度(并使用标签树作为模型树)。

>T P N L 与之前的相同,但L是要生成的特征列表。(“T P”也可以用!替换)

<T M1-M2 S L 生成数据,长度在所有分支上均匀分布,在列表L中的性状上,每个性状的长度从区间M1-M2中均匀取值,共有S个状态。

&(X) T S L 使用指数函数(参数为lambda=X)分配同源性的概率,在树T的分支上随机分布变化,共有S个状态,在列表L中的性状上。如果省略了(X),则默认为0.05(或者上一次使用的值)。如果未指定S,则S=2;如果未指定列表L,则不执行该操作。

xwipe

从内存中删除数据集(允许更改设置)