Scripts/aquickie.run

From TNT

Jump to: navigation, search

aquickie
Author: Pablo Goloboff.
Version: 1.0.
For: not provided.
Arguments: not provided.
Example: not provided.
Script
Scripts may not be displaying correctly here at present, use the script from the provide file in the archive.


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/;

Personal tools