TNT
TNT 是一个专注于 MP 的系统发育软件,其以上个世纪的风格、很烂的 option 设计、难用的 PISH Shell、不规范的输出格式、多样的搜索策略、更多的 resample 方法以及更好的搜索速度著称。
其作者声称该软件较 PAUP* 的搜索能力强。
基础文件
声明部分
TNT 文件头文件,ntax 和 nchar 是与 nexus 文件相同的,在实际文件中
xread 'comments comments' nchar ntax
数据部分
但是数据本身没有END;
,例如下面的示例
Acusta_despecta_no_128 gctatttctgctcaatgt-ttct-ataaatagccgcagtactttgactgtgcaaaggtagcataatca-attgacttataatt--gaagtctggaatgaaagaatctatggggaaatactgtttcattttgg-tggtaggaaattatt-tattaggtgaaaaaacctataagtaaaaaatagacgagaagacccttgaaattttaattttgttggggcgacaaagtagcaataga-aaacctacttaga--gaatatgtattat--ttataaaggttaaataaattactctagggataacagcataatatttaaaagtttgtgacct-cgatgttgga-ctaggaa-aata-tagtttaga Aegista_diversifamilia_CWH_2014_S24_3 ------------------------------------------------------------------------------------------------------------------------------------------taaaattgct-tatcaggtgaaaatacctgactatatataatagacgaaaagaccctggaaatttttattttgttggggcgacagaataacaaat----aacttatttatatataatttgccattt--gtaaataaaataaataaattactccagggataacagcataatatttaaaagtttgtgacct-cgatgttgga-ctaggaa-ttta-tagttcaga Amphidromus_contrarius_AM_C_468737 gttttttctgctcaatga-aaat-ttaaatggccgcagtaccctgactgtgcaaaggtagcataatca-gttggcttataatt--gaagtctggaatgaatgaataaacggagggtagctgtgtcttactga-aaccatgaacttattaaagtaagtgaaaatacttacattaaaataatagacgagaagaccctagaaatttgaattttgttggggcgacaaaatagcaagt---taacctatttacg-tgtacaagtgctaaa---ttgtgggtatgaataattactctagggataacagcataatttattaaagattgtgacct-cgatgttgga-ctaggaa-attc-aagttcaga Camaena_cicatricosa_GP4 gcattttctgctcaatga--tat-ttaaatagccgcagtactctgactgtgcaaaggtagcataataa-tttggcttataatt--gaagtcttgtatgaacgaatacatggggaataactatatcaacaatg-taaaatgaaattact-aaatacgtgcaaatacgtatatttacataaaagacgagaagaccctagaaatttttattttgctggggcggcatagtaacatga----aacttacattat-tatacaagaagtgataatttgcagaatgattaaattactctagggataacagcataatttactatagtttgtgacct-cgatgttgga-ttaggaa-gttg-aaatttaga ;
group
group 在 tnt 中有三种,tree group tgroup
, character xgroup
, taxa group agroup
。在文件底下定义。
A_
其实是 taxname 前缀
agroup =0 (ACANTHOGONATUS) A_ =1 (CHACO) Cha_ =2 (STENOTEROMMATA) St_ H_ =4 (LYCINUS) L_ =5 (DIPLOTHELOPSIS) D_ =6 (PYCNOTHELE) Pyc_ =7 (RACHIAS) Rac_ =8 (BARYCHELIDAE) Neod_ Bar Trich Cosmo ;
也可以按照数字来定义范围
agroup=0 (extant) 0,37 =1 (fossils) 38,49
xgroup =0 (mor) 0,195
=1 (dna) 196,39294
常用操作
可以将下列的命令写到 txt 文件,让 TNT 直接运行
准备
mxram
是记录多少 MB 内存可用;nstates
声明文件类型:32
32离散字符,con
连续字符,protein
蛋白质,dna
DNA;NOGAPS
是不把 gap 视作别的字符状态。
mxram 10240 ; nstates 32 ; nstates NOGAPS ;
操作
procedure
打开;log
产生 log 文件;taxname
是在最终的树中使用名称,-
是默认的,不用名字,=
则是使用名字
procedure filename.tnt ; log logfile ; taxname= ;
quit
是退出
quit;
搜索
hold
在 RAM 中保留 999 个树;mult
是传统搜索 replic
是多少次重复,tbr
是 Tree Bisection Reconnection 搜索策略,99个树被保存
hold 999 ; mult=replic 100 tbr hold 99;
`bbreak 是搜索策略设置,可以是 TBR SPR (Subtree Pruning Regrafting),
bbreak=tbr ;
合意
consensus 的方式有几种:严格合意树 nelsen
; 半合意树 comcomp
;多数合意树 majority
。*
是把合意树作为最后一个树保存在内存里。
majority * ;
Resample
Resample 有几种,如 boostrap:boot
;jackifing:jak
。replications
是重复次数。
resample boot replications 1000;
导出
export
是导出 nexus 树文件,=
纯 newick 文件,<
保存 tags 为树的 labels。
ttags
是 tag 相关的设置,=
是保存树的 tag,要在树发生之前。&
是输出为 svg 图片,thickness
是树的粗细,italics
是样本名称斜体,fontsize
是样品名称大小。
export= trees.tre ; ttags= ; resample boot replications 1000; ttags & bt.svg thickness 7 italics fontsize 15; export < bt.tre ;
TL, CI & RI
length
记录树长(Tree Length),stats.run
是一个计算 CI RI 的脚本
length * ; stats.run;
stats.run
内容如下
macro= ;report- ; var =
0 themin 1 themax + CIs [ ( ntrees + 1 ) ] + RIs [ ( ntrees + 1 ) ] + this
set themin minsteps ; set themax maxsteps ; loop 0 ntrees
progress #1 (ntrees+1) Calculating indices... ; set this length[#1] ; set CIs[#1] 'themin'/'this' ; set RIs[#1] ('themax'-'this')/('themax'-'themin') ; stop
progress/ ; report= ; macfloat 3 ; maketable CIs Consistency index ; maketable RIs Retention index ;
proc/ ;Weighting
piwe
确定 k 值,根据 Goloboff et al. (2018),一般 k 应该在 3 到 12 之间,数量级越大的数据,往往 k 越大越可以获得更好的结果。但是自认为 k 应该凭借连续 k 产出的 CI RI 进行判断,从而选择最佳的 k 。
piwe
应该在输入文件前定义。
xpiwe(*
则是自动对空位降低 weighting。
对于二者,&
则是输出相关 weighting 设置。
示例
记得修改 filename.txt
,也要把 stats.run
放在同一个文件夹下。
mxram 10240 ; nstates 32 ; nstates NOGAPS ; piwe=12; procedure filename.tnt ; log tnt.log ; taxname= ; hold 9999 ; xpiwe(*; mult=replic 100 tbr hold 1000; xpiwe&; piwe&; bbreak=tbr ; majority * ; export= trees.tre ; ttags= ; resample boot replications 1000; ttags & bt.svg thickness 7 italics fontsize 15; export < bt.tre ; length * ; stats.run; quit ;
trees.tre
是搜索的树;bt.tre
是有 bootstrap 支持的多数合意树,但是没有树长;bt.svg
是有树长的,但是只是图片,但是是多数合意树的;tnt.log
里有 LT CI RI 的数值。
TL 示例如下
Saved trees (Nexus format) to file bt.nex Tree lengths 0 0 16677
CI 示例如下
Consistency index00 0.095
RI 示例如下
Retention index00 0.627