MO-Phylogenetics is a optimization software tool that infers bi-objective phylogenetic trees optimized under two reconstruction criteria the Maximun Parsimony and the Maximun Likelihood simultaneously. Integrates a set of libraries of the framework BIO++ and the optimized functions of the Phylogenetic Likelihood Library (PLL) into the multi-objective optimization framework jMetalCpp with a number of multi-objective metaheuristics of the state-of-the-art that can be applied to solve this optimization problem.

Some of the main features of this software tool are: High performance in the exploration of the tree-space adjusted to a bi-objective approach, some optimized methods to branch length optimization, some techniques to create the initial solution trees leading to optimal and others.

MO-Phylogenetics can be easy configured using a parameter file with all the needed options (See How to use section).

jMetal (C++ version)

The jMetalCpp project has the goal of providing a C++ implementation of jMetal, a Java framework for multi-objective optimation with metaheuristics. As with the original jMetal framework, our plan is to develop jMetalCpp according to our needs and then sharing the software to allow interested researchers to use it freely.


Bio++ is a set of C++ libraries for Bioinformatics, including sequence analysis, phylogenetics, molecular evolution and population genetics. Bio++ is Object Oriented and is designed to be both easy to use and computer efficient. Bio++ intends to help programmers to write computer expensive programs, by providing them a set of re-usable tools.


PLL - Phylogenetic Likelihood Library

PLL is a highly optimized, parallized software library to ease the development of new software tools dealing with phylogenetic inference. Among the functions included in PLL are parsing multiple sequence alignments (MSA) from PHYLIP and FASTA files, reading Newick trees, performing topological moves such as SPR and NNI, model optimization, likelihood evaluation and partitioned analysis by assigning different substitution models to each partition of the MSA.

PLL fully implements the GTR nucleotide substitution model for DNA data and a number of models for aminoacid data. It suppoort single-thread, POSIX Threads, and MPI. Each version is optimized for the Streaming SIMD Extensions 3 (SSE3) and Advanced Vector Extensions (AVX)PLL


Introduction |  Download |  How to use |  Datasets |  People |  Acknowledgements