This is an archived static version of the original discussion site.

PLL (Phylogenetic Likelihood Library from Stamatakis group) is up


Sounds like all the speediness one would expect from a @Alexis_RAxML group project, now in library form.

I’d love to hear if anyone’s using it.


The new IQ-TREE

“IQ-TREE can use PLL for likelihood computations, if you use “-pll” option”

best, max


I would be interested in having scriptable access to it, (ideally) from Perl. In the past I would have been most interested in a SWIG interface - the way it was done for HYPHY and Beagle, but there seems to be less of a market for that: in Python there’s cython, and in Perl there’s Inline::C. Maybe I will be able to play around with this in my copious spare time :wink:


On the other end of the spectrum comes

GeLL: A Generalized Likelihood Library for Phylogenetic Models

Daniel Money and Simon Whelan

Summary: Phylogenetic models are an important tool in molecular evolution allowing us to study the pattern and rate of sequence change. The recent influx of new sequence data in the biosciences means that in order to address evolutionary questions we need a means for rapid and easy model development and implementation. Here we present GeLL, a Java library that lets users use text to quickly and efficiently define novel forms of discrete data and create new substitution models that describe how those data change on a phylogeny. GeLL allows users to define general substitution models and data structures in a way that is not possible in other existing libraries, including mixture models and non-reversible models. Classes are provided for calculating likelihoods, optimizing model parameters and branch lengths, ancestral reconstruction and sequence simulation.


I tested IQ tree on a variety of data sets, and found something very interesting. This method for some reason calculates the very large distances, when sequences are beyond saturation of silent sites (such as comparing the mitochodrial DNA of fish, amphibians, birds, mammals, turtles etc), very differently than other methods I have used.

For more similar sequences (for example the mitochondrial DNA of just mammals), the distances computed by IQ tree are quite similar to PHYML, RAXML etc… I wrote to the authors to ask if there was anything in the IQtree method which was designed to get a better estimate of very large distances, but have not gotten a response back from them about it, other than that we all think this is not a “bug”, it seems to actually be doing a good job with this.


With Ebolavirus genomes (Ebola-Sudan, Ebola_Zaire, Ebola_Tai Forest) the distances between these groups is huge far beyond saturation of silent sites.

Within a single group such as Ebola_Zaire the distances are much smaller.


Hey Phylobabblers,

I’m thinking of implementing IQ-tree in my pipeline, and would be very interested in a follow-up of Brian’s findings.


The alignments I used for the filovirus trees are available in our filovirus database pre-built alignments. The vertebrate complete mitochondrial genome alignment is available on FigShare.


I found out this week that when I was creating trees with PHYML I was using a neighbor-joining tree (created with BONJ or Weighbor for example) as the guide tree for maximum likelihood, and that the default setting in the program I was using was for optimize branch lengths set to no. After running PHYML with optimize branch lengths = yes, the results are the same as those obtained with IQtree. Thus the difference was not IQtree maximum likelihood vs PHYML maximum likelihood.


Returning a little to the original topic of this thread, it turns out that the @Alexis_RAxML lab is not using the original PLL moving forward, but rather this one:

We have enjoyed using it. The code is nice and it has some good examples.