A Bayesian software for phylogenetic reconstruction
using mixture models
MPI version
Nicolas Lartillot, Nicolas Rodrigue, Daniel Stubbs, Jacques Richer
[email protected]
Version 1.5, October, 2013
1 Introduction
1.1 Modeling site-specific effects using non-parametric methods
1.2 Empirical mixture models . . . . . . . . . . . . . . . . . . .
1.3 Phylogenetic reconstruction . . . . . . . . . . . . . . . . . .
1.4 Choosing a model . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Detailed prior and model specification . . . . . . . . . . . .
2 Input data format
2.1 Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 General presentation of the programs
3.1 Running a chain (pb_mpi) . . . . . . . . . . . . . . . . . . . . . .
3.2 Checking and obtaining posterior mean consensus trees (bpcomp
comp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Obtaining posterior consensus trees and parameter estimates . .
. . . . . . .
and trace. . . . . . .
. . . . . . .
4 Detailed options
4.1 pb mpi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 bpcomp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 readpb mpi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
PhyloBayes-MPI is a Bayesian Markov chain Monte Carlo (MCMC) sampler for phylogenetic inference exploiting a message-passing-interface system for multi-core computing. The
program will perform phylogenetic reconstruction using either nucleotide, protein, or codon
sequence alignments. Compared to other phylogenetic MCMC samplers, the main distinguishing feature of PhyloBayes is the use of non-parametric methods for modeling among-site
variation in nucleotide or amino-acid propensities.
Modeling site-specific effects using non-parametric methods
Among-site variation in the rate of substitution is often modeled using a gamma distribution.
Doing so, however, only models variation in the rate of evolution, and does not account for
the fact that the different nucleotides or amino-acids might have uneven propensities across
As a way of modeling state propensity variation along sequences, in PhyloBayes, the
rate and also a profile—controlling nucleotide or amino acid equilibrium frequencies associated with the substitution process—are modeled as site-specific random variables. As has
been shown in several previous works, accounting for such generalized among-site variation
results in a better statistical fit and greater phylogenetic accuracy. Of particular interest
to phylogenetic reconstruction, such models show a greater robustness to systematic errors
such as long-branch attraction problems.
There are two ways site-specific propensities can be modeled. First, one can use a
parametric model. In such models, the parametric form of the law describing the distribution
of the site-specific feature under investigation is assumed known, up to a few parameters
that will be estimated from the data. The best example is the use of a gamma distribution
for modeling the distribution of relative rates of substitution across sites (Yang, 1994).
Alternatively, one can use non-parametric models: the overall shape of the distribution
across sites is not specified a priori but is directly inferred from the data. It is thus more general than the parametric method. There are different non-parametric methods. A practical
approach, often adopted in Bayesian inference, is the use of Dirichlet process mixtures (Ferguson, 1973). Formally, these are infinite mixtures, i.e. mixtures with a countably infinite
number of components.
PhyloBayes uses Dirichlet processes for modeling sites-specific profiles (Lartillot and
Philippe, 2004). Each site is thus given a frequency vector profile over the 20 amino-acids
or the 4 bases. These are combined with a globally defined set of exchange rates, so as to
yield site-specific substitution processes. The global exchange rates can be fixed to uniform
values (the CAT-Poisson, or more simply CAT, settings), to empirical estimates (e.g. JTT,
WAG or LG) or inferred from the data (CAT-GTR settings).
The CAT-like models proposed thus far are phenomenological: they account for among
site variation in amino-acid propensities but without any reference to the underlying molecular evolutionary mechanisms. Recently, a mechanistic reformulation of these models has
been proposed (Rodrigue et al., 2010). The idea is to work at the codon level and express
substitution rates between codons as the product of mutation rates (such as specified by an
underlying nucleotide-level mutation process) and fixation probabilities. Mutation rates are
assumed to be homogeneous across sites. Fixation probabilities, on the other hand, are sitespecific and are essentially determined by selection operating at the amino-acid level. The
model assumes that selection acts independently at each site (no epistasis) and is constant
across the phylogeny (no fluctuating selection). As a result, the model can be parameterized
in terms of site-specific vectors of fitness parameters (for the 20 amino-acids). The distribution of the 20-dimensional fitness profiles across sites is emulated by a Dirichlet process.
Empirical mixture models
The non-parametric models introduced above are flexible. They automatically estimate the
distribution of site-specific effects underlying each dataset. But on the other hand, they may
require a relatively large amount of data for reliable estimation.
An alternative that would be suitable for smaller alignments is offered by the so-called
empirical mixture models. Unlike non-parametric mixtures, empirical models have a fixed,
pre-determined set of components, which have been estimated on a large database of multiple
sequence alignments. Classical empirical matrices, such as JTT, WAG and LG (Le and
Gascuel, 2008) are a specific case of empirical model, with only one component. A few years
ago, empirical mixtures of profiles were proposed (Quang et al., 2008; Wang et al., 2008),
which are implemented in the current version of PhyloBayes. The user can also specify its
own custom set of exchange rates or mixture of profiles.
Phylogenetic reconstruction
Samples approximately from the posterior distribution are obtained by Markov chain Monte
Carlo (MCMC) and are then used to estimate marginal distributions, or expectations, over
the parameters of interest. Concerning the topology of the phylogenetic tree, PhyloBayes
works like usual Bayesian phylogenetic reconstruction programs and outputs a majority-rule
posterior consensus tree. Conversely, one may be interested in the site-specific biochemical
specificities that have been captured by the infinite mixture model, in which case mean
posterior site-specific profiles will be estimated from the MCMC output.
Choosing a model
It is still difficult to get a general idea of the relative merits of the models, as it depends
on the dataset and on the criterion used to measure the fit. But a few trends are observed,
which can be used for establishing general guidelines.
Amino acid replacement models
Except for small datasets (less than 400 aligned positions), CAT-GTR is virtually always
the model with highest fit among all models implemented in PhyloBayes. The CAT-Poisson
model, which was the model initially developed in Lartillot and Philippe (2004), is less fit
than CAT-GTR but generally more fit than single-matrix models on large and datasets,
particularly when mutational saturation (multiple substitutions) is prevalent.
Concerning the posterior consensus tree, both CAT-GTR and CAT-Poisson are significantly more robust against long-branch attraction (LBA) artifacts, compared to all other
models. However, in some cases, there are differences between the topologies obtained under
CAT or CAT-GTR. The flat exchange rates of CAT (which were introduced mostly for the
sake of computational efficiency) are not biologically realistic, suggesting that CAT-GTR
would generally be a better option.
Empirical mixture models (C60 or WLSR5) may be appropriate for single gene datasets.
Nucleotide substitution models
The CAT-GTR model is a very good generic model also for DNA or RNA data, again
probably better than CAT (which does not correctly handle differences in transition and
transversion rates) but also, in most cases, better than classical nucleotide substitution
Codon substitution models
The mutation-selection model described in Rodrigue et al. (2010) is implemented in the
present version, and can be used for estimating distributions of selection coefficients and for
phylogenetic inference. Other applications of this model, and other codon models implemented in this version, will be discussed at greater length in future works.
Rate across sites
For the amino acid and nucleotide models, the present version only implements the discretized gamma distribution of rates across sites.
Note that constant columns might sometimes make MCMC mixing more challenging
under infinite mixture models. We would recommend the systematic removal of constant
columns from the alignment (-dc option), before running analyses.
Dataset size
In practice, the Dirichlet process mixture works best for alignments in the range of 1 000
to 20 000 aligned positions. Beyond 20 000 positions, convergence and mixing of the Monte
Carlo progressively become challenging. As for the number of taxa, the MCMC sampler
seems able to deal alignments with up to 100 taxa reasonably well and has already been
used on datasets with up to 250 taxa.
A possible approach for analyzing very large multi-gene datasets (large in terms of the
number of aligned positions) is to perform jackknife resampling procedures (although resampling procedures are not so easily justified from a Bayesian philosophical standpoint.). An
example of gene-jackknife using PhyloBayes is described in Delsuc et al. (2008).
Detailed prior and model specification
The exact mathematical structure of the model and the algorithms are described in a separate
document (pbmpi suppmat) available on the website (
Input data format
The main format recognized by PhyloBayes is a generalization of the PHYLIP format:
<number_of_taxa> <number_of_sites>
taxon1 sequence1...
taxon2 sequence2...
Taxon names may contain more than 10 characters. Sequences can be interrupted by
space and tab, but not by return characters. They can be interleaved, in which case the
taxon names may or may not be repeated in each block.
The following characters will all be considered equivalent to missing data: “-”, “?”, “$”,
“.”, “*”, “X”, “x”, as well as the degenerate bases of nucleic acid sequences (“B”, “D”, “H”,
“K”, “M”, “N”, “R”, “S”, “V”, “W”, “Y”), and the “B” and “Z” characters for protein sequences.
Upper or lower case sequences are both recognized, but the case matters for taxon names.
For running analyses under mutation-selection models (Rodrigue et al., 2010), the alignment should be a protein coding nucleotide alignment.
An initial tree can be provided or, alternatively, the program can be constrained to sample
the posterior distribution of parameters under a specified tree topology, which will remained
fixed throughout the analysis. Trees should be provided in NEWICK format. Branch lengths
can be specified but will be ignored.
Taxon names should correspond to the names specified in the data matrix (case sensitive).
If some names are present in the tree but not in the matrix, the corresponding taxa will be
pruned out of the tree. That is, the spanning subtree containing all the taxa mentioned in
the data matrix will be considered as the input tree. Conversely, if some taxa are present in
the data matrix but not in the input tree, the program will exit with an error message.
General presentation of the programs
First, a quick note on system requirements: PhyloBayes MPI is provided both as executable
files (for linux x86-64) and as a C++ source code. Depending on the operating system
running on your cluster, you may need to recompile the code. To this end, a simple Makefile
is provided in the sources directory, and compiling with the make command should then
work in most simple situations, assuming that a version of MPI compatible with C++
compilation (with a mpicxx/mpic++ executable) is already installed on your cluster. Note
that, in some machines, OpenMPI needs to be specifically uploaded by the user before
compiling and/or running a MPI program. You may need to check all these details with
your system administrator. The present code can run in principle on MacOSX or Windows
operating systems, however, it is primarily intended for (and has been exclusively tested on)
high performance computing facilities operating under linux or Unix.
The following programs can be found in the package (for details about any of these
programs, type the name without arguments):
• pb_mpi : the MCMC sampler.
• readpb_mpi : post-analysis program, for computing a variety of posterior averages.
• bpcomp : evaluates the discrepancy of bipartition frequencies between two or more
independent runs and computes a consensus by pooling the trees of all the runs being
• tracecomp : evaluates the discrepancy between two or more independent runs based
on the summary variables provided in the trace files. bpcomp and tracecomp were
directly obtained from the non-mpi version of phylobayes (thus, if some recompiling is
needed, these 2 programs should be recompiled from the non-mpi phylobayes suite).
In this section, a rapid tour of the programs is proposed. A more detailed explanation of all
available options for each program is given in the next section.
Running a chain (pb_mpi)
A run of the pb_mpi program will produce a series of points drawn from the posterior distribution over the parameters of the model. Each point defines a detailed model configuration
(tree topology, branch lengths, nucleotide or amino-acid profiles of the mixture, etc.). The
series of points defines a chain.
To run the program:
mpirun -np <n> pb_mpi -d <dataset> <chainname>
Here, <n> is the number of processes running in parallel. You could also use mpiexec instead
of mpirun. You cannot run pb_mpi with less than 2 processes (the parallelization scheme
involves a master and n − 1 slaves.)
Most clusters use Sun Grid Engine. In that case, you might need to write a script that
would probably look like the following:
#PBS -l walltime=120:00:00
#PBS -l nodes=1:ppn=8
#PBS -o out
#PBS -e err
#PBS -j oe
#PBS -W umask=022
#PBS -r n
mpirun -n 8 pb_mpi -d datafile -cat -gtr chainname
and then send the script to the queue using qsub.
As for choosing the right parallelization scheme, the most straightforward approach is to
set n equal to the number of cores of a given node. On the other hand, for large datasets, and
if your cluster has efficient communication between nodes (e.g., Infiniband), then parallelizing
over more than one node could be efficient. Thus, for instance, if you have 8 cores per
node, then you could run with n = 16 (in which case nodes=2:ppn=8) or even n = 32
(nodes=4:ppn=8). You can try several degrees of parallelization and look at the trace file:
the first and second columns give the total time spent by the chain thus far (in seconds), and
the time per saved point, thus allowing you to compare the efficiency of various parallelization
schemes. Finally, the third column gives the percentage of time spent in topological updates
(as opposed to updates of the mixture or of other continuous parameters). As a general rule,
this percentage decreases as the degree of parallelization increases (this is because topological
updates are the most efficiently parallelized part of the program). If this percentage is more
than 50%, this generally means that a further increase in the degree of parallelization should
normally result in close to linear gains (twice as many cores, twice as fast the program will
run). In contrast, if the percentage of time spent in topological updates is 40% or less, then
parallelization gains start to be less than linear, so that a further increase in the degree of
parallelization, although still resulting in a faster run, is globally a waste of computational
The -d option is for specifying the dataset. There are many other options for specifying
the model (see below). The default options are the CAT-GTR model with discrete gamma
(4 categories). Before starting, the chain will output a summary of the settings.
A series of files will be produced with a variety of extensions. The most important are:
• <name>.treelist: list of sampled trees;
• <name>.trace: the trace file, containing a few relevant summary statistics (log-likelihood,
total length of the tree, number of components in the mixture, etc).
• <name>.chain: this file contains the detailed parameter configurations visited during
the run and is used by readpb_mpi for computing posterior averages. If the -s option
is not used, then only posterior consensus trees can be computed.
The chains will run as long as allowed. They can be interrupted at any time and then
restarted, in which case they will resume from the last check-point (last point saved before
the interruption). To soft-stop a chain, just open the <name>.run file and replace the 1 by
a 0. Under linux, this can be done with the simple following command:
echo 0 > <chainname>.run
The chain will finish the current cycle before exiting. To restart an already existing chain:
mpirun -np <n> pb_mpi <chainname>
Be careful not to restart an already running chain. You can stop a chain and restart it under
a different degree of parallelization.
Checking and obtaining posterior mean consensus trees (bpcomp and
It is difficult to know how long a chain should run beforehand. Different datasets, or different
models, may not require the same number of cycles before reaching convergence and may
display very different mixing behaviors. In general, for larger datasets, each cycle will take
more time, but also, more cycles will be needed before reaching convergence. Note also that
the absolute number of cycles is not really a relevant measure of the quality of the resulting
sample: update mechanisms for the mixture, the topology or the hyperparameters are not
really comparable, and their mixing efficiency depends very much on the model, the data
and the implementation. In the case of phylobayes, the MCMC sampler saves one point
after each cycle. A cycle itself is made of a set of complex and integrated series of updates of
the topology, the branch length or the substitution model (including the mixture), which are
not easily compared with the number of generations realized by other phylogenetic samplers.
Generally, a run under phylobayes provides good results for a total number of points of the
order of 10 000 to 30 000, although again, this really depends on the datasets.
The best is therefore to rely on more objective measures, such as effective sample size and
reproducibility of the results across independent runs started from different initial conditions.
In the case of the relatively complex infinite mixture models CAT and CAT-GTR, convergence and mixing should be carefully assessed both for the phylogenetic and for the mixture
aspects of the model. Thus, one should make sure that posterior consensus trees are reproducible across independent runs, but also, that the trace plots of the summary statistics
recorded in the trace file capturing various sub-components of the model (tree length, alpha
parameter, number of occupied components of the infinite mixture, entropy of the mixture,
entropy of exchangeabilities) appear to be at stationarity and to be reproducible across runs.
Convergence can first be visually assessed by plotting the summary statistics recorded
in the trace file as a function of number of iterations. This can be done using simple linux
utilities, such as gnuplot. Alternatively, the trace file of phylobayes is compatible with the
Tracer program of the Beast software. Thus, you can use Tracer to check convergence and
estimate effective sample size (tracecomp, introduced below, does similar things, albeit with
a more primitive interface).
It is also good practice to run at least two chains in parallel and compare the samples
obtained under these several independent runs. The can be done using the tracecomp
program (for checking convergence of the continuous parameters of the model) and the
bpcomp program (for assessing convergence in tree space). Both use a similar syntax:
bpcomp -x 1000 10 <chain1> <chain2>
Here, using a burn-in of 1000, and sub-sampling every 10 trees, the bpcomp program will
output the largest (maxdiff) and mean (meandiff) discrepancy observed across all bipartitions. It will also produce a file (bpcomp.con.tre) with the consensus obtained by pooling
all the trees of the chains given as arguments.
Some guidelines:
• maxdiff < 0.1: good run.
• maxdiff < 0.3: acceptable: gives a good qualitative picture of the posterior consensus.
• 0.3 < maxdiff < 1: the sample is not yet sufficiently large, and the chains have not
converged, but this is on the right track.
• if maxdiff = 1 even after 10,000 points, this indicates that at least one of the runs is
stuck in a local maximum.
tracecomp -x 1000
<chain1> <chain2>
will produce an output summarizing the discrepancies and the effective sizes estimated for
each column of the trace file. The discrepancy d is defined as d = 2|µ1 − µ2 |/(σ1 + σ2 ),
where µi is the mean and σi the standard deviation associated with a particular column and
i runs over the chains. The effective size is evaluated using the method of Geyer (1992). The
guidelines are:
• maxdiff < 0.1 and minimum effective size > 300: good run;
• maxdiff < 0.3 and minimum effective size > 50: acceptable run.
Obtaining posterior consensus trees and parameter estimates
The consensus of all trees sampled at equilibrium by the MCMC sampler (which is a MCMC
estimate of the posterior consensus tree), is usually taken as the point estimate of the phylogenetic tree. Such a (majority-rule) consensus trees is automatically produced by the bpcomp
program (see above). Note that bpcomp can be run on a single chain (in which case it will
simply produce the consensus of all trees after burn-in), and not necessarily on multiple
chains (in which case, as explained above, it will make the consensus of all trees pooled
across all chains, and compute a discrepancy measure across chains). Using bpcomp on
multiple chains usually results in more stable MCMC estimates of the posterior consensus
The readpb_mpi program is meant for estimating some key parameters of the model, for
performing posterior predictive analyses and for computing posterior mean likelihoods and
cross-validation scores.
By default, readpb_mpi only computes a simple estimate (mean and 95 % credibility
interval) for the total length of the tree (total number of substitutions per site across the
entire phylogeny) and for the α parameter of the discrete gamma distribution of rates across
sites. All other tasks performed by readpb_mpi are accessible via specific options (see
detailed options of readpb_mpi in the next section).
Detailed options
pb mpi
General options
-d <datafile>
option for specifying the multiple sequence alignment to be analyzed (see: Input Data Format
constant sites are removed.
-t <treefile>
forces the chain to start from the specified tree.
-T <treefile>
forces the chain to run under a fixed topology (as specified in the given file). In other words,
the chain only samples from the posterior distribution over all other parameters (branch
lengths, alpha parameter, etc.), conditional on the specified topology. This should be a
bifurcating tree (see Input Data Format section).
only saves the trees explored during MCMC in the treelist file (and the summary statistics
in the trace file). Saving only the trees, and not the detailed parameter configurations
visited during the MCMC, has the advantage of producing smaller files. This is enough
for computing the consensus tree but insufficient for estimating the continuous parameters
of the model (e.g. site-specific equilibrium frequency profiles) or for conducting posterior
predictive tests or cross-validation analyses. For this, you should save the detailed model
configuration for each point visited during the run (which is done by default by the program).
Note that this is a different behavior, compared to the old serial version of PhyloBayes (in
which the -s option was explicitly required to activate the ”save all” mode). In the present
version, the -s option does not do anything.
forces the program to overwrite an already existing chain with same name.
-x <every> [<until>]
specifies the saving frequency and (optional) the number of points after which the chain
should stop. If this number is not specified, the chain runs “forever”. By definition, -x
1 corresponds to the default saving frequency. In some cases, samples may be strongly
correlated, in which case, if disk space or access is limiting, it would make sense to save
points less frequently, say 10 times less often: to do this, you can use the -x 10 option.
Evolutionary models
Rates across sites
-dgam <n>
specifies n categories for the discrete gamma distribution. Setting n = 1 amounts to a model
without across-site variation in substitution rate.
Relative exchangeabilities (exchange rates
exchange rates are all equal to 1. The model is then a mixture of Poisson (F81) processes.
-lg, -wag, -jtt, -mtrev, -mtzoa, -mtart
specifies empirical exchangeabilities.
specifies a general time reversible matrix: exchangeabilities are free parameters, with prior
distribution a product of independent exponential distributions of mean 1.
-rr <filename>
exchangeabilities are fixed to the values given in the specified file. The file should be formatted as follows:
<rr1_2> <rr1_3>
<rr2_3> <rr2_4> ... <rr2_20>
<rr18_19> <rr18_20>
You have to specify the order in which amino acids should be considered on the first line
([<ALPHABET>]), with letters separated by spaces or tabs. This header should then be
followed by the exchangeabilities in the order specified (spaces, tabs or returns are equivalent:
only the order matters).
Profile mixture
-dp (or -cat)
activates the Dirichlet process.
-ncat <n>
specifies a mixture of n components; the number of components is fixed whereas the
weights and profiles are treated as random variables. Fixing the number of components of
the mixture most often results in a poor mixing of the MCMC. The Dirichlet process usually
has a much better mixing behavior.
-catfix <predef>
specifies a mixture of a set of pre-defined profiles (the weights are re-estimated). <predef>
can be either one of the following keywords: C20, C30, C40, C50, C60, which correspond
to empirical profile mixture models (Quang et al., 2008); or WLSR5, which correspond to
the model of Wang et al. (2008). Note that this latter model actually defines 4 empirical
profiles, which are then combined with a fifth component made of the empirical frequencies
of the dataset.
-catfix <filename>
specifies a mixture of a set of user-pre-defined profiles, where <filename> is the name of a
file containing a set of profiles specified as follows:
<weight> <freq1> <freq2> ... <freq20>
<weight> <freq1> <freq2> ... <freq20>
where <ncat> is the number of profiles, and each line following this number should be a set of
21 real numbers, defining a weight, and then a profile of equilibrium frequencies (separated
by spaces or tabs). You should specify the order in which amino acids should be considered
on the first line ([<ALPHABET>]), with letters separated by spaces or tabs. Note that the
weights are there only for historical reasons – they are re-estimated anyway. Combining profiles and exchange rates Any set of exchange rates can be
combined with any of the three settings for the mixture. But the same set of exchange rates
will be used by all components of the mixture.
For instance, -cat -gtr makes an infinite mixture model whose components differ by
their equilibrium frequencies but otherwise share the same set of relative exchange rates
(themselves considered as free parameters). As another example, -catfix WLSR5 -jtt defines
the Wang et al. (2008) model: a model with 5 components, each of which is a matrix
made from the relative exchange rates of the JTT matrix, combined with one of the 4
vectors of equilibrium frequencies defined by Wang et al. (2008), plus one vector of empirical
The default model is -cat -gtr.
Mutation-selection models
activates the mutation-selection model as described in Rodrigue et al. (2010) (codon alignments only).
specifies the vertebrate mitochondrial code (the universal genetic code is the default).
-x <burn-in> [<every> <until>]
Defines the burn-in, the sub-sampling frequency, and the size of the samples of trees to be
taken from the chains under comparison. By default, <burn-in> = 0, <every> = 1 and
<until> is equal to the size of the chain. Thus, for instance:
-x 1000
defines a burn-in of 1000,
-x 1000 10
a burn-in of 1000, taking one every 10 trees, up to the end of each chain, and
-x 1000 10 11000
a burn-in of 1000, taking one every 10 trees, up to the 11 000th point of the chains (or less,
if the chains are shorter). If the chain is long enough, this implies a sample size of 1000.
-o <basename>
outputs the results of the comparison in files with the specified basename combined with
several extensions:
• <basename>.bpcomp: summary of the comparison;
• <basename>.bplist: tabulated list of bipartitions (splits) sorted by decreasing discrepancy between the chains;
• <basename>.con.tre: consensus tree based on the merged bipartition list.
-c <cutoff>
tunes the cutoff for the majority rule consensus (posterior probability support under which
nodes are collapsed in the final consensus tree). By default, the cutoff is equal to 0.5.
readpb mpi
-x <burn-in> [<every> <until>]
Defines the burn-in, the sub-sampling frequency, and the size of the samples of trees to be
taken from the chains under comparison. By default, <burn-in> = 0, <every> = 1 and
<until> is equal to the size of the chain (see bpcomp).
Note that under the mutation-selection model described in Rodrigue et al. (2010), these
sub-sampling options are the only ones currently available with the readpb mpi command.
In this context, the command will produce files that allow one to plot the distribution of
scaled selection coefficients, both globally and in a site-specific manner. Under nucleotide
and amino acid models, several other options are available, as described below.
computes the mean posterior relative exchangeabilities (only if those are free parameters of
the model).
computes the mean posterior site-specific state equilibrium frequencies (only under infinite
mixture models).
for each point of the chain (after burn-in), produces a data replicate simulated from the
posterior predictive distribution.
performs a posterior predictive diversity test: the test statistic is the mean diversity per
site (mean number of distinct amino-acid per sites); the observed value of this statistic is
computed on the true data, and compared with its null (posterior predictive) distribution
(see Lartillot et al., 2007)
performs a posterior predictive test of compositional homogeneity: the test statistic is the
maximum square deviation between global and taxon-specific empirical frequencies; the observed value of this statistic is computed on the true data, and compared with its null
(posterior predictive) distribution (see Blanquart and Lartillot, 2006)
-cv [test_dataset]
computes a posterior mean cross-validation score. If D1 is the dataset used for running the
chain (the training set), D2 is the dataset specified after -cv (the test set) and M is the
model under which the chain was run, then what the program outputs is a Monte Carlo
estimate of
ln p(D2 | D1 , M ) =
p(D2 | θ, M ) p(θ | D1 )dθ
where θ is the set of (global) parameters of the model. The cross-validation likelihood is a
measure of how well the model ’predicts’ site patterns of D2 after it has ’learnt’ its parameters
on D1 . This measure can be computed for alternative models Mi , i = 1..K, and models
with higher score should in principle be preferred.
Cross validation needs to be replicated (cross-validation scores typically have a large
variability, depending on the exact columns that have been included in D1 and D2 ). If your
original data set is D, then you should produce random pairs D1 and D2 , by randomly
sampling columns of D (without replacement), running pb_mpi separately on each replicate
of D1 , and then running readpb_mpi with the -cv option (followed by the name of the
corresponding D2 test set) on each resulting chain (and all this for each model Mi ).
The cross-validation score can then be averaged over the replicates for a given model.
Then, supposing that a model M1 has a higher average score than M2 , the number of
replicates for which the score of M1 is indeed higher than the score of M2 can be considered
as a measure of the ’significance’ of this preference for M1 over M2 .
Typically, 10-fold cross-validation (such that D2 represents 10% and D1 90% of the
original dataset) has been used (e.g. Philippe et al., 2011), and ten replicates have been run
(although ideally, 100 replicates would certainly be more adequate). However, alternative
schemes are possible. In particular, for faster computation in the case of very large datasets,
cross-validation schemes in which the size of D1 and D2 combined together is smaller than
the size of D could be useful (as long as D1 is large enough for the parameters to be correctly
Blanquart, Samuel, and Nicolas Lartillot. 2006. A Bayesian compound stochastic process for
modeling nonstationary and nonhomogeneous sequence evolution. Mol Biol Evol 23:2058–
Delsuc, Frédéric, Georgia Tsagkogeorga, Nicolas Lartillot, and Hervé Philippe. 2008. Additional molecular support for the new chordate phylogeny. Genesis 46:592–604.
Ferguson, T S. 1973. A Bayesian analysis of some nonparametric problems. The Annals of
Statistics 209–230.
Geyer, C. 1992. Practical Markov Chain Monte Carlo. Stat. Sci. 7:473–483.
Lartillot, Nicolas, Henner Brinkmann, and Hervé Philippe. 2007. Suppression of long-branch
attraction artefacts in the animal phylogeny using a site-heterogeneous model. BMC Evol
Biol 7 Suppl 1:S4.
Lartillot, Nicolas, and Hervé Philippe. 2004. A Bayesian mixture model for across-site
heterogeneities in the amino-acid replacement process. Mol Biol Evol 21:1095–1109.
Le, Si Quang, and Olivier Gascuel. 2008. An improved general amino acid replacement
matrix. Mol Biol Evol 25:1307–1320.
Philippe, Hervé, Henner Brinkmann, Richard R Copley, Leonid L Moroz, Hiroaki Nakano,
Albert J Poustka, Andreas Wallberg, Kevin J Peterson, and Maximilian J Telford. 2011.
Acoelomorph flatworms are deuterostomes related to Xenoturbella. Nature 470:255–258.
Quang, Le Si, Olivier Gascuel, and Nicolas Lartillot. 2008. Empirical profile mixture models
for phylogenetic reconstruction. Bioinformatics 24:2317–2323.
Rodrigue, Nicolas, Hervé Philippe, and Nicolas Lartillot. 2010. Mutation-selection models
of coding sequence evolution with site-heterogeneous amino acid fitness profiles. Proc Natl
Acad Sci U S A 107:4629–4634.
Wang, Huai-Chun, Karen Li, Edward Susko, and Andrew Roger. 2008. A class frequency
mixture model that adjusts for site-specific amino acid frequencies and improves inference
of protein phylogeny. BMC Evol Biol 8:331.
Yang, Z. 1994. Maximum likelihood phylogenetic estimation from DNA sequences with
variable rates over sites: approximate methods. J Mol Evol 39:306–314.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF