macro=; lquote [ ; if ( ntax < 3 ) if ( windows ) errmsg You must read the data set before running a quickie! ; else errmsg &10&10You must read the data set (with &34proc filename.,&34) before running a quickie! ; end end log aquickie.out; watch=; coll tbr ; drift : fitd 2 rfitd 0.1 ; var : i j plotapo bootit runquickie dobremer medium big verybig ; set medium 200 ; set big 500 ; set verybig 1500 ; set plotapo 0 ; set runquickie 0 ; set dobremer 0 ; set bootit 0 ; if ( ntax > 'medium' ) if ( !windows ) cls ; end if ( ntax < 'verybig' ) quote **************************************************** This is a large data set. A consensus estimation instead of a complete search is recommended. **************************************************** ; else quote ************************************************************* This is a very large data set. A consensus estimation instead of a complete search is VERY STRONGLY RECOMMENDED ************************************************************* ; end if ( !windows ) quote &10&10(press key to continue); pause ; end set runquickie getresponse [ Run consensus estimation instead of a complete search? ] ; if ( 'runquickie' == 2 ) proc/; end end if ( !'runquickie' ) if ( windows ) quote * TNT will find most parsimonious trees for the data set, with 20 independent hits to the best score, and then calculate the strict consensus, calculate supports when requested, and save the results in file &34aquickie.out&34. The consensus tree will be saved to &34aquickie.nex&34 in Nexus format.; else if ( !windows ) cls ; end quote &10 TNT will find most parsimonious trees for the data set, with 20 independent hits to the best score, and then calculate the strict consensus, calculate supports when requested, and save the results in file &34aquickie.out&34. The consensus tree will be saved to &34aquickie.nex&34 in Nexus format.&10&10 (press any key to continue); pause ; end set plotapo getresponse [ Do you also wish to plot synapomorphies on the tree? ] ; else if ( windows ) quote * TNT will estimate the strict consensus tree for the data set, calculate approximate supports (when requested), and save the results in file &34aquickie.out&34. The consensus tree will be saved to &34aquickie.nex&34 in Nexus format.; else if ( !windows ) cls ; end quote &10 TNT will estimate the strict consensus tree for the data set, calculate approximate supports (when requested), and save the results in file &34aquickie.out&34. The consensus tree will be saved to &34aquickie.tre&34 in Nexus format.&10&10 (press any key to continue); pause ; end end set dobremer getresponse [ Approximmate bremer supports with TBR? ] ; if ( 'dobremer' == 2 ) proc/; end set bootit getresponse [ Calculate group supports with resampling? ] ; if ( 'bootit' == 2 ) proc/; end if ( !windows ) cls ; end resettime ; if ( 'dobremer' ) tsave * tmp.tre; end if ( ( ntax > 'medium' ) && 'runquickie' ) set 0 ntax / 70 ; set 1 'i' / 2 ; if ( 'i' < 2 ) set i 2 ; end if ( 'j' < 3 ) set j 3 ; end if ( 'j' > 20 ) set j 20 ; end if ( 'i' > 30 ) set i 30 ; end sec: xss'/.0i'-'/.0j'+3-1 gocomb 60 fuse 4 drift 5 combstart 5 ; if ( ntax < 'big' ) quote &10 ------------------------------------------------------------ Search routine used: a quick consensus estimation (Goloboff &38 Farris 2001), with 15 replications (each with default &34xmult&34 but with 3 starting points instead of the default 5, and using XSS --see Goloboff &38 Pol 2007). The sectorial searches analyzing sectors of 60 or more taxa with a combined strategy (5 starting points, 5 cycles of tree-drifting for each, fusing the results in 4 cycles). Sectors selections: XSS dividing tree in '/.0i' to '/.0j' parts, 3 times., CSS and RSS with defaults. For more details of CSS, RSS, and tree-drifting, see Goloboff 1999., for details of XSS, see Goloboff &38 Pol 2007. For details of &34xmult&34, see documentation of TNT. Note: for consensus calculation, trees TBR-collapsed. ------------------------------------------------------------ ; if ( 'dobremer' ) qnelsen [ xmu = rep 3 xss ; save ; ] ; else qnelsen [ xmu = rep 3 xss ; ] ; end else if ( ntax < 'verybig' ) quote &10 ------------------------------------------------------------ Search routine used: a quick consensus estimation (Goloboff &38 Farris 2001), with 15 random addition sequences, plus TBR, and sectorial searches using CSS (defaults), RSS (defaults), and XSS (dividing tree in '/.0i' to '/.0j' parts, 3 times), analyzing sectors of 60 or more taxa with a combined strategy (5 starting points, 5 cycles of tree-drifting for each, fusing the results in 4 cycles). For details of CSS, RSS, and tree-drifting, see Goloboff 1999., for details of XSS, see Goloboff &38 Pol 2007. For details of &34xmult&34, see documentation of TNT. Note: for consensus calculation, trees TBR-collapsed. ------------------------------------------------------------ ; if ( 'dobremer' ) qnelsen [ mu1=ho1 ; sec=xss ; drift=iter5; save ; ] ; else qnelsen [ mu1=ho1 ; sec=xss ; drift=iter5; ] ; end else quote &10 ------------------------------------------------------------ Search routine used: a quick consensus estimation (Goloboff &38 Farris 2001), with 15 random addition sequences plus TBR. Note: for consensus calculation, trees TBR-collapsed. ------------------------------------------------------------ ; if ( 'dobremer' ) qnelsen [ mu1=ho1 ; save ; ] ; else qnelsen [ mu1=ho1 ; ] ; end end end else report +/1 ; if ( !windows ) cls ; end quote &10 ------------------------------------------------------------ Search routine used: finding optimal score 20 times independently, using defaults of &34xmult&34 plus 10 cycles of tree-drifting (Goloboff 1999). Note: for consensus calculation, trees TBR-collapsed. ALSO NOTE: THIS IS AN OVERKILL FOR MOST DATA SETS! ------------------------------------------------------------ ; hold 1000 ; xmu = hit 20 drift 10 ; if ( 'dobremer' ) save ; end nelsen * ; if ( 'plotapo' ) set i ntrees ; if ( !windows ) cls ; end quote &10 ------------------------------------------------------------ Synapomorphies of 'i' trees plotted on the strict consensus. Only unambiguous synapomorphies, occuring in every tree, are indicated. This makes results much more conservative! ------------------------------------------------------------ ; coll rule 3 ; set i -- ; if ( windows ) log & aquickie_apo.emf ; end apo [ 0.'i' ; if ( windows ) log /& ; end coll tbr ; end tchoose { strict } ; end if ( 'dobremer' ) tsave / ; end quote &10 ------------------------------------------------------------ Group supports are calculated by TBR-swapping the trees found, keeping note of the number of steps needed to loose each group. The labels on branches show absolute and relative bremer supports (Goloboff &38 Farris 2001). Groups indicated with a question mark (?) are those for which the absolute bremer supports appear to be 10 or more... ------------------------------------------------------------ ; sub 10 ; ttag= ; p tmp.tre ; bsupp !!+0 1. ; sub 10x0.90 ; bsupp [!!+0 1.; if ( windows ) log & aquickie_brem.emf ; end ttag; if ( windows ) log /& ; tplot [ ; end sub 0 ; keep 1 ; ttag - ; end if ( 'bootit' ) ttag = ; if ( !windows ) cls ; end quote &10 ------------------------------------------------------------ Resampling is done with 100 replications of symmetric resampling (see Goloboff et al. 2003), analyzing each data set with a single random addition sequence plus TBR (collapsing the resulting tree with TBR, see Goloboff &38 Farris, 2001). The labels on branches show frequency and frequency differences (see Goloboff et al. 2003). ------------------------------------------------------------ ; coll tbr ; resample [ mu1=ho1; ] rep 100 freq gc from 0 ; keep 1 ; if ( windows ) log & aquickie.emf ; end ttag ; if ( windows ) log /& ; tplot [ ; end end export - aquickie.tre ; if ( windows ) if ( 'bootit' ) quote Tree-diagram (with bremer supports) saved to file aquickie_brem.emf ; end if ( 'dobremer' ) quote Tree-diagram (with supports) saved to file aquickie.emf ; end if ( 'plotapo' ) quote Synapomorphies (as diagram) saved to file aquickie_apo.emf ; end end quote Results saved (as text) to file aquickie.out &10&10; log / ; set i time ; quote *************************************************** ANALYSIS COMPLETED (total time used: '/.0i' sec) *************************************************** Please note!! ...for each of the quantities calculated by this script, it is possible to use more exhaustive and accurate (but more time consuming) algorithms, or viceversa. The routines used by the script are only an approximation which provides a good tredoff between accuracy and run-times for most data sets ; if ( !windows ) quote &10 You can now exit TNT, typing &34zzz&34 ; end proc/;