Garli

GARLI is a program that performs phylogenetic inference using the maximum-likelihood criterion. Several sequence types are supported, including nucleotide, amino acid and codon. Version 2.0 adds support for partitioned models and morphology-like datatypes.

You can run garli on our standalone machines or the cluster.

First create a garli.conf file in your working directory along with your data file. There are many options in the documentation. Here is an example garli.conf file to get you started (you will need to alter this to suite your analysis):

 [general]
 datafname = rana.nex
 constraintfile = none
 streefname = stepwise
 attachmentspertaxon = 50
 ofprefix = example_output
 randseed = -1
 availablememory = 512
 logevery = 10
 saveevery = 100
 refinestart = 1
 outputeachbettertopology = 0
 outputcurrentbesttopology = 0
 enforcetermconditions = 1
 genthreshfortopoterm = 20000
 scorethreshforterm = 0.05
 significanttopochange = 0.01
 outputphyliptree = 0
 outputmostlyuselessfiles = 0
 writecheckpoints = 0
 restart = 0
 outgroup = 1
 resampleproportion = 1.0
 inferinternalstateprobs = 0
 outputsitelikelihoods = 0
 optimizeinputonly = 0
 collapsebranches = 1

 searchreps = 2
 bootstrapreps = 0

 [model1]
 datatype = nucleotide
 ratematrix = 6rate
 statefrequencies = estimate
 ratehetmodel = gamma
 numratecats = 4
 invariantsites = estimate

 [master]
 nindivs = 4
 holdover = 1
 selectionintensity = 0.5
 holdoverpenalty = 0
 stopgen = 5000000
 stoptime = 5000000

 startoptprec = 0.5
 minoptprec = 0.01
 numberofprecreductions = 10
 treerejectionthreshold = 50.0
 topoweight = 1.0
 modweight = 0.05
 brlenweight = 0.2
 randnniweight = 0.1
 randsprweight = 0.3
 limsprweight =  0.6
 intervallength = 100
 intervalstostore = 5
 limsprrange = 6
 meanbrlenmuts = 5
 gammashapebrlen = 1000
 gammashapemodel = 1000
 uniqueswapbias = 0.1
 distanceswapbias = 1.0

Running on the Cluster with MPI

Create a pbs or slurm submission script.

garli.pbs

 #!/bin/sh
 #PBS -l nodes=5:ppn=4
 #PBS -q short
 #PBS -N GarliTest

 # Initialize and load the modules  
 . /usr/modules/init/bash
 module load openmpi-apps/1.6.4/garli/2.01

 cd $PBS_O_WORKDIR

 mpirun -np 20 Garli-2.01

garli.slurm

 #!/bin/sh
 #SBATCH -N 5 -c 4
 #SBATCH -J GarliTest

 # Initialize and load the modules  
 . /usr/modules/init/bash
 module load openmpi-apps/1.10.2/garli/2.01

 cd "$SLURM_SUBMIT_DIR"

 mpirun Garli-2.01 -20

You can optionally specifiy a number of replicates after the Garli-2.01 command. See the Garli Documentation. Note that the total number of replicates performed also depends on the searchreplicates parameter in the garli.conf file.

Note: at least with recent tests under Slurm, specifying a the number of processes after the Garli-2.01 command is necessary. See the Slurm script above.

Submit

qsub garli.pbs

or

sbatch garli.slurm