Skip to content


Subversion checkout URL

You can clone with
Download ZIP
An R package for the Monte Carlo simulation of sequence evolution
Failed to load latest commit information.
PAMLdat Added ECM PAML dat files.
RData Relaoded empirical models.
cons_test Added consistency test results for the .Internal-less code.
examples Added example for ToleranceSubstitution.
misc Added script to recreate empirical codon models.
pkg DESCRIPTION update.
.gitignore * .gitignore update.
Alphabet.R Documentation read-through for Alphabet class
AminoAcidMatrices.R Class documentation read-through for AminoAcidMatrices.R
AminoAcidSubst.R Fixed PAMLdat path.
BinarySubst.R Class documentation read-through for BinarySubst.R
BrownianInsertor.R Fixed example line lengths.
COPYING Initial git commit.
COPYLEFT Added GPL v3 file.
CodonAlphabet.R CodonAlphabet is now ordered by the translation table - standard code
CodonModels.R Fix to decrease the runtime of the GY94 example.
CodonSubst.R Doc fix.
ContinuousDeletor.R Class documentation read-through for ContinuousDeletor.R
ContinuousInsertor.R Class documentation read-through for ContinuousInsertor.R
DiscreteDeletor.R Class documentation read-through for DiscreteDeletor.R
DiscreteInsertor.R Class documentation read-through for DiscreteInsertor.R
EmpiricalCodonMatrices.R Added classes handling empirical codon models.
Event.R Fixed example line lengths.
FieldDeletor.R Removed explicit loading of the compoisson package.
GeneralInDel.R Fixed example line lengths.
GeneralSubstitution.R Added accept/reject handling to substitution processes.
Makefile Version 3.0.0
NucleotideModels.R Class documentation read-through for NucleotideModels.R
PSRoot.R updated get<ethodsList.PSRoot in order to be compatible with upcoming
PhyloSim.R Added accept/reject handling to substitution processes.
PopularAlphabets.R Class documentation read-through for PopularAlphabets.R
PopularSequences.R Removed scaleWithOmega.
Process.R Removed clone.PSRoot, using clone.Object instead.
QMatrix.R Class documentation read-through for QMatrix.R Added GSR link.
Sequence.R Fixed example line lengths.
Site.R * Simplified cumulative rate calculation.
ToleranceSubstitution.R Added Rd for ToleranceSubstitution.

Gillespie algorithm


PhyloSim is an extensible object-oriented framework for the Monte Carlo simulation of sequence evolution written in 100 percent R. It is built on the top of the R.oo and ape packages and uses the Gillespie algorithm to simulate substitutions, insertions and deletions.

PhyloSim was brought to you by the Goldman group from EMBL-EBI.

Catalogued on GSR


Botond Sipos, Tim Massingham, Gregory E Jordan and Nick Goldman (2011) PhyloSim - Monte Carlo simulation of sequence evolution in the R statistical computing environment - BMC Bioinformatics 12:104 doi:10.1186/1471-2105-12-104

Download an install

The released packages are available from CRAN.

Key features

  • Simulation of the evolution of a set of discrete characters with arbitrary states evolving by a continuous-time Markov process with an arbitrary rate matrix.

  • Explicit implementations of the most popular substitution models (nucleotide, amino acid and codon substitution models).

  • Simulation under the popular models of among-sites rate variation, like the gamma (+G) and invariant sites plus gamma (+I+G) models.

  • The possibility to simulate under arbitrarily complex patterns of among-sites rate variation by setting the site specific rates according to any R expression.

  • Simulation of one or more separate insertion and/or deletion processes acting on the sequences and which sample the insertion/deletion length from an arbitrary discrete distribution or an R expression (so all the probability distributions implemented in R are readily available for this purpose).

  • Simulation of the effects of variable functional constraints over the sites by site-process specific insertion and deletion tolerance parameters which determine the rejection probability of a proposed insertion/deletion.

  • The possibility of having a different set of processes and site-process specific parameters for every site, which allows for an arbitrary number of partitions in the simulated data.

  • The possibility to evolve sites by a combination of substitution processes along a single branch.

  • Simulation of heterotachy and other cases of non-homogeneous evolution by allowing the user to set "node hook" functions altering the site properties at internal nodes.

  • The possibility to export the counts of various events ("branch statistics") as phylo objects (see the man page of exportStatTree.PhyloSim).

  • See the man page of the PhyloSim class and the package vignette for more features and examples.

Building from source

The package can be built from the source by issuing make pack on a *nix system. The building process need the standard unix tools, Perl and R with the ape, R.oo, ggplot2 and compoisson packages installed.

Something went wrong with that request. Please try again.