Sequential Tree Sampler for online phylogenetics
C++ Mathematica Python CMake Makefile Processing Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples Add examples folder Jun 5, 2017
misc/phylosmc Moves + gsl Nov 9, 2012
test Remove beagle tests when USE_BEAGLE=OFF Jun 7, 2018
.gitmodules the git:// url does not work for me. https is less likely to run afou… Jun 6, 2017
.travis.yml travis file 👷 Jun 7, 2018
Doxyfile Start on attachment logl at arbitrary locations Jun 9, 2014
LICENSE Create LICENSE Aug 28, 2017
Makefile fixes Jun 5, 2017
mainpage.dox More docs Mar 22, 2013
wercker.yml wercker file Jun 8, 2018

Sequential Tree Sampler (STS)

The sequential tree sampler implements a prototype of online phylogenetics, updating a posterior distribution generated by MrBayes with new sequences. The algorithm has been described and its performance evaluated in a manuscript. The scripts used to generate the figures can be found here.


  • smctc - included as git submodule (git submodule update --init)
  • lcfit - included as git submodule (git submodule update --init)
  • Bio++ version 2.2.0 core, seq, and phyl modules. Note that debian & ubuntu up to 16.04 include v2.1.0 which is too old. Bio++ should be installed from source using the script on these systems. Alternatively, the source code of version 2.3.0 for each module can be dowloaded from github in the releases section
  • cmake
  • gsl version 1.16 Note that gsl v2 is not currently supported.
  • nlopt
  • boost boost
  • beagle version 2.1 (Optional)
  • google test this is libgtest on debian/ubuntu (Optional)


  1. Install dependencies
  2. run make

Binaries will be build in _build/release

Adding taxa to an existing posterior

The tool sts-online adds taxa to an existing posterior tree sample. sts-online operates on a fasta file and tree file in nexus format. The fasta file must contain an alignment with a superset of the taxa in the tree file.

Currently only the Jukes-Cantor model is supported.

Example invocation

sts-online -b 250 -p 2 --proposal-method lcfit 10taxon-01.fasta 10tax_trim_t1.t 10tax_trim_t1.sts.json

In this example, we use an alignment containing 10 sequences and a posterior sample of trees generated by MrBayes with an alignment that does not contain the sequence labeled t1. sts-online ignores the first 250 trees from 50tax_trim.run1.t and uses a particle factor of 2. The 10tax_trim_t1.sts.json file will contain the updated trees.