Skip to content


jModelTest2 is a tool to carry out statistical selection of best-fit models of nucleotide substitution by implementing five different model selection strategies; hierarchical and dynamical likelihood ratio tests, Akaike and Bayesian information criteria and a decision theory method.

jModelTest2 is available as a module on Apocrita.


To run the latest installed version of jModelTest2, simply load the jmodeltest2 module:

$ module load jmodeltest2
$ java -jar ${JMODELTEST2_JAR} -help

java -jar jModelTest.jar -d sequenceFileName
                        [-ckp checkpointFileName.ckp]
                        [-t fixed|BIONJ|ML] [-u userTreeFileName] [-o outputFileName]
                        [-tr numberOfThreads] [-machinesfile machinesFileName]

For full usage documentation, run java -jar ${JMODELTEST2_JAR} -help.

Environment variable for path to jModelTest.jar

Loading the jmodeltest2 module will set the JMODELTEST2_JAR environment variable which should be used to reference the path to jModelTest.jar.

Example jobs

Serial Job

Here is an example job using 1 core and 5G memory:

#$ -cwd
#$ -j y
#$ -pe smp 1
#$ -l h_rt=2:0:0
#$ -l h_vmem=5G

java -Xmx5G \
     -jar ${JMODELTEST2_JAR} \
     -tr ${NSLOTS} \
     -d input.fasta \
     -o output/test.out

Setting the thread and memory limits

When requesting less than one entire node in the smp parallel environment, add the -tr ${NSLOTS} and -Xmx options to limit the number of threads and amount of memory jModelTest2 can use, respectively. For more information regarding the VM memory allocation, see here.

Parallel Job

Here is an example MPI job using 64 cores with an infiniband connection across 2 nxv nodes:

#$ -cwd
#$ -j y
#$ -pe parallel 64
#$ -l h_rt=1:0:0
#$ -l infiniband=nxv

java -jar ${JMODELTEST2_JAR} \
     -d input.fasta \
     -o output/test.out