#NEXUS 

[! ***** MODELFIT BLOCK -- MODELTEST 3.4 *****]

[The following command will calculate a NJ tree using the JC69 model of evolution]

BEGIN PAUP;
	log file= modelfit.log replace;
	DSet distance=JC objective=ME base=equal rates=equal pinv=0
	subst=all negbrlen=setzero;
	NJ showtree=no breakties=random;
End;

[!
***** BEGIN TESTING 56 MODELS OF EVOLUTION ***** ]

BEGIN PAUP;


Default lscores longfmt=yes;
Set criterion=like;

[!
** Model 1 of 56 * Calculating JC **]
lscores  1/ nst=1  base=equal  rates=equal  pinv=0
scorefile=model.scores replace; 
[!
** Model 2 of 56 * Calculating JC+I **]
lscores  1/ nst=1  base=equal  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 3 of 56 * Calculating JC+G**]
lscores  1/ nst=1  base=equal  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 4 of 56 * Calculating JC+I+G **]
lscores  1/ nst=1  base=equal  rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 

[!
** Model 5 of 56 * Calculating F81 **]
lscores  1/ nst=1  base=est  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 6 of 56 * Calculating F81+I **]
lscores  1/ nst=1  base=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 7 of 56 * Calculating F81+G **]
lscores  1/ nst=1  base=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 8 of 56 * Calculating F81+I+G **]
lscores  1/ nst=1  base=est  rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 

[!
** Model 9 of 56 * Calculating K80 **]
lscores  1/ nst=2  base=equal  tratio=est  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 10 of 56 * Calculating K80+I **]
lscores  1/ nst=2  base=equal  tratio=est  rates=equal  pin=est
scorefile=model.scores  append; 
[!
** Model 11 of 56 * Calculating K80+G **]
lscores  1/ nst=2  base=equal  tratio=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 12 of 56 * Calculating K80+I+G **]
lscores  1/ nst=2  base=equal  tratio=est  rates=gamma  shape=est pinv=est
scorefile=model.scores  append; 
 
[!
** Model 13 of 56 * Calculating HKY **]                
lscores  1/ nst=2  base=est  tratio=est  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 14 of 56 * Calculating HKY+I **] 
lscores  1/ nst=2  base=est  tratio=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 15 of 56 * Calculating HKY+G **] 
lscores  1/ nst=2  base=est  tratio=est  rates=gamma  shape=est  pinv=0  
scorefile=model.scores  append; 
[!
** Model 16 of 56 * Calculating HKY+I+G **] 
lscores  1/ nst=2  base=est  tratio=est  rates=gamma  shape=est  pinv=est  
scorefile=model.scores  append; 

[!
** Model 17 of 56 * Calculating TrNef **]                            [a b c d e f]
lscores  1/ nst=6  base=equal  rmat=est  rclass=(a b a a e a)  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 18 of 56 * Calculating TrNef+I **] 
lscores  1/ nst=6  base=equal  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 19 of 56 * Calculating TrNef+G **] 
lscores  1/ nst=6  base=equal rmat=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 20 of 56 * Calculating TrNef+I+G **] 
lscores  1/ nst=6  base=equal  rmat=est rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 

[!
** Model 21 of 56 * Calculating TrN **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 22 of 56 * Calculating TrN+I **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 23 of 56 * Calculating TrN+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 24 of 56 * Calculating TrN+I+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 


[!
** Model 25 of 56 * Calculating K3P **]                              [a b c d e f]
lscores  1/ nst=6  base=equal  rmat=est  rclass=(a b c c b a)  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 26 of 56 * Calculating K3P+I **] 
lscores  1/ nst=6  base=equal  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 27 of 56 * Calculating K3P+G **] 
lscores  1/ nst=6  base=equal rmat=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 28 of 56 * Calculating K3P+I+G **] 
lscores  1/ nst=6  base=equal  rmat=est rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 


[!
** Model 29 of 56 * Calculating K3Puf **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 30 of 56 * Calculating K3Puf+I **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 31 of 56 * Calculating K3Puf+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 32 of 56 * Calculating K3Puf+I+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 


[!
** Model 33 of 56 * Calculating TIMef **]                            [a b c d e f]
lscores  1/ nst=6  base=equal  rmat=est  rclass=(a b c c e a)  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 34 of 56 * Calculating TIMef+I **] 
lscores  1/ nst=6  base=equal  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 35 of 56 * Calculating TIMef+G **] 
lscores  1/ nst=6  base=equal rmat=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 36 of 56 * Calculating TIMef+I+G **] 
lscores  1/ nst=6  base=equal  rmat=est rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 


[!
** Model 37 of 56 * Calculating TIM **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 38 of 56 * Calculating TIM+I **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 39 of 56 * Calculating TIM+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 40 of 56 * Calculating TIM+I+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 


[!
** Model 41 of 56 * Calculating TVMef **]                            [a b c d e f]
lscores  1/ nst=6  base=equal  rmat=est  rclass=(a b c d b e)  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 42 of 56 * Calculating TVMef+I **] 
lscores  1/ nst=6  base=equal  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 43 of 56 * Calculating TVMef+G **] 
lscores  1/ nst=6  base=equal rmat=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 44 of 56 * Calculating TVMef+I+G **] 
lscores  1/ nst=6  base=equal  rmat=est rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 


[!
** Model 45 of 56 * Calculating TVM **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 46 of 56 * Calculating TVM+I **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 47 of 56 * Calculating TVM+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est  pinv=0
scorefile=model.scores  append; 
[!
** Model 48 of 56 * Calculating TVM+I+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est  pinv=est
scorefile=model.scores  append; 


[!
** Model 49 of 56 * Calculating SYM **]                               [a b c d e f]
lscores  1/ nst=6  base=equal  rmat=est  rclass= (a b c d e f)  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 50 of 56 * Calculating SYM+I **] 
lscores  1/ nst=6  base=equal  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 51 of 56 * Calculating SYM+G **] 
lscores  1/ nst=6  base=equal  rmat=est  rates=gamma  shape=est pinv=0  
scorefile=model.scores  append; 
[!
** Model 52 of 56 * Calculating SYM+I+G **] 
lscores  1/ nst=6  base=equal  rmat=est  rates=gamma  shape=est pinv=est  
scorefile=model.scores  append; 

[!
** Model 53 of 56 * Calculating GTR **] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=0
scorefile=model.scores  append; 
[!
** Model 54 of 56 * Calculating GTR+I**] 
lscores  1/ nst=6  base=est  rmat=est  rates=equal  pinv=est
scorefile=model.scores  append; 
[!
** Model 55 of 56 * Calculating GTR+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est pinv=0  
scorefile=model.scores  append; 
[!
** Model 56 of 56 * Calculating GTR+I+G **] 
lscores  1/ nst=6  base=est  rmat=est  rates=gamma  shape=est pinv=est  
scorefile=model.scores  append; 


LOG STOP;

END;

[
lscores: tree/s
nst: number of substitution types
rmat: rate matrix
base= nucleotide frequencies
rates= rate of evolution for variable sites (same 
shape= alpha parameter of the gamma distribution
pinv= proportion of invariable sites
]

[The likelihood ratio test statistic is calculated as twice the difference between 
the log likelihood scores of the two models constrasted. When the model representing
the null hypothesis is a special case of the alternate model, this statistic 
fits a chi-square distribution with a number of degrees of freedom equal to the 
number of parameters that freely vary between the two models. A detailed explanation 
of the test of the model of DNA substitution can be found in Huelsenbeck and Crandall
Annu. Rev. Ecol. Syst. 1997. 28: 437-466]

[!***  END OF MODELTEST BLOCK  ***]
