TreeDist - Calculate and Map Distances Between Phylogenetic Trees
Implements measures of tree similarity, including information-based generalized Robinson-Foulds distances (Phylogenetic Information Distance, Clustering Information Distance, Matching Split Information Distance; Smith 2020) <doi:10.1093/bioinformatics/btaa614>; Jaccard-Robinson-Foulds distances (Bocker et al. 2013) <doi:10.1007/978-3-642-40453-5_13>, including the Nye et al. (2006) metric <doi:10.1093/bioinformatics/bti720>; the Matching Split Distance (Bogdanowicz & Giaro 2012) <doi:10.1109/TCBB.2011.48>; the Hierarchical Mutual Information (Perotti et al. 2015) <doi:10.1103/PhysRevE.92.062825>; Maximum Agreement Subtree distances; the Kendall-Colijn (2016) distance <doi:10.1093/molbev/msw124>, and the Nearest Neighbour Interchange (NNI) distance, approximated per Li et al. (1996) <doi:10.1007/3-540-61332-3_168>. Includes tools for visualizing mappings of tree space (Smith 2022) <doi:10.1093/sysbio/syab100>, for identifying islands of trees (Silva and Wilkinson 2021) <doi:10.1093/sysbio/syab015>, for calculating the median of sets of trees, including the transfer consensus (Takazawa et al. 2026) <doi:10.64898/2026.03.16.712085>, and for computing the information content of trees and splits.
Last updated
phylogeneticstree-distancebioinformaticscladisticsentropyinformation-theorymutual-informationphylogenetic-treestree-distancestreescppopenmp
11.52 score 37 stars 14 dependents 166 scripts 2.6k downloadsTreeTools - Create, Modify and Analyse Phylogenetic Trees
Efficient implementations of functions for the creation, modification and analysis of phylogenetic trees. Applications include: generation of trees with specified shapes; tree rearrangement; analysis of tree shape; rooting of trees and extraction of subtrees; calculation and depiction of split support; plotting the position of rogue taxa (Klopfstein & Spasojevic 2019) <doi:10.1371/journal.pone.0212942>; calculation of ancestor-descendant relationships, of 'stemwardness' (Asher & Smith, 2022) <doi:10.1093/sysbio/syab072>, and of tree balance (Mir et al. 2013, Lemant et al. 2022) <doi:10.1016/j.mbs.2012.10.005>, <doi:10.1093/sysbio/syac027>; artificial extinction (Asher & Smith, 2022) <doi:10.1093/sysbio/syab072>; import and export of trees from Newick, Nexus (Maddison et al. 1997) <doi:10.1093/sysbio/46.4.590>, and TNT <https://www.lillo.org.ar/phylogeny/tnt/> formats; and analysis of splits and cladistic information.
Last updated
cladisticsevolutionary-biologyphylogenetic-treesphylogeneticscpp
11.17 score 24 stars 23 dependents 214 scripts 4.1k downloadsTernary - Create Ternary and Holdridge Plots
Plots ternary diagrams (simplex plots / Gibbs triangles) and Holdridge life zone plots <doi:10.1126/science.105.2727.367> using the standard graphics functions. Allows custom annotation, interpolating, contouring and scaling of plotting region. Includes a 'Shiny' user interface for point-and-click ternary plotting. An alternative to 'ggtern', which uses the 'ggplot2' family of plotting functions.
Last updated
graphicsplottingplotting-in-rternary-plots
10.00 score 37 stars 8 dependents 115 scripts 1.8k downloadsTreeSearch - Phylogenetic Analysis with Discrete Character Data
Reconstruct phylogenetic trees from discrete data. Inapplicable character states are handled using the algorithm of Brazeau, Guillerme and Smith (2019) <doi:10.1093/sysbio/syy083> with the "Morphy" library, under equal or implied step weights. Contains a "shiny" user interface for interactive tree search and exploration of results, including character visualization, rogue taxon detection, tree space mapping, and cluster consensus trees (Smith 2022a, b) <doi:10.1093/sysbio/syab099>, <doi:10.1093/sysbio/syab100>. Profile Parsimony (Faith and Trueman, 2001) <doi:10.1080/10635150118627>, Successive Approximations (Farris, 1969) <doi:10.2307/2412182> and custom optimality criteria are implemented.
Last updated
bioinformaticsmorphological-analysisphylogeneticsresearch-tooltree-searchcpp
8.27 score 9 stars 44 scripts 879 downloadsQuartet - Comparison of Phylogenetic Trees Using Quartet and Split Measures
Calculates the number of four-taxon subtrees consistent with a pair of cladograms, calculating the symmetric quartet distance of Bandelt & Dress (1986), Reconstructing the shape of a tree from observed dissimilarity data, Advances in Applied Mathematics <doi:10.1016/0196-8858(86)90038-2>, using the tqDist algorithm of Sand et al. (2014), tqDist: a library for computing the quartet and triplet distances between binary or general trees, Bioinformatics <doi:10.1093/bioinformatics/btu157> for pairs of binary trees; calculating the rooted triplet distance using the CPDT algorithm of Jansson & Rajaby (2017), A more practical algorithm for the rooted triplet distance, Journal of Computational Biology <doi:10.1089/cmb.2016.0185>; these distances can be used to construct consensus trees via the greedy heuristic of Takazawa et al. (2026), Outperforming the majority-rule consensus tree using fine-grained dissimilarity measures, bioRxiv <doi:10.64898/2026.03.16.712085>.
Last updated
bioinformaticscomparisonphylogenetic-treesphylogeneticsquartetquartet-distanceresearch-tooltreecppopenmp
7.89 score 17 stars 55 scripts 1.2k downloadsRogue - Identify Rogue Taxa in Sets of Phylogenetic Trees
Rogue ("wildcard") taxa are leaves with uncertain phylogenetic position. Their position may vary from tree to tree under inference methods that yield a tree set (e.g. bootstrapping, Bayesian tree searches, maximum parsimony). The presence of rogue taxa in a tree set can potentially remove all information from a consensus tree. The information content of a consensus tree - a function of its resolution and branch support values - can often be increased by removing rogue taxa. 'Rogue' provides an explicitly information-theoretic approach to rogue detection (Smith 2022) <doi:10.1093/sysbio/syab099>, and an interface to 'RogueNaRok' (Aberer et al. 2013) <doi:10.1093/sysbio/sys078>.
Last updated
consensus-treephylogenetic-treesphylogenetics
7.26 score 4 stars 2 dependents 149 scripts 1.1k downloadsips - Interfaces to Phylogenetic Software in R
Functions that wrap popular phylogenetic software for sequence alignment, masking of sequence alignments, and estimation of phylogenies and ancestral character states.
Last updated
6.16 score 2 dependents 159 scripts 688 downloadsPlotTools - Extended Tools for Continuous Legends, Polygon Manipulation, and Visual Display of Categorical Data
Annotate plots with legends for continuous variables and colour spectra using the base graphics plotting tools; and manipulate irregular polygons. Includes palettes for colour-blind viewers.
Last updated
colourblindnesslegendspalettesplottingpolygonsspectrum
5.93 score 1 stars 25 dependents 6 scripts 2.8k downloadsmotmot - Models of Trait Macroevolution on Trees
Functions for fitting models of trait evolution on phylogenies for continuous traits. The majority of functions are described in Thomas and Freckleton (2012) <doi:10.1111/j.2041-210X.2011.00132.x> and allow tests of variation in the rates of trait evolution.
Last updated
cpp
5.33 score 54 scripts 536 downloadsTBRDist - Rearrangement Distances Between Phylogenetic Trees
Fast calculation of tree rearrangement distances. For unrooted trees: Subtree Prune and Regraft (SPR), Tree Bisection and Reconnection (TBR), and Replug distances, using the algorithms of Whidden and Matsen (2017) <doi:10.48550/arXiv.1511.07529>. For rooted trees: rooted SPR (rSPR) distance, using the fixed-parameter algorithms of Whidden, Beiko, and Zeh (2013) <doi:10.1137/110845045>.
Last updated
phylogeneticstree-distancealgorithmsbioinformaticsdistance-calculationphylogenetic-treescpp
4.60 score 1 stars 4 scripts 614 downloadsCongreveLamsdell2016 - Distance Metrics for Trees Generated by Congreve and Lamsdell
Includes the 100 datasets simulated by Congreve and Lamsdell (2016) <doi:10.1111/pala.12236>, and analyses of the partition and quartet distance of reconstructed trees from the generative tree, as analysed by Smith (2019) <doi:10.1098/rsbl.2018.0632>.
Last updated
4.18 score 1 stars 175 downloadsTotalCopheneticIndex - Quantify the Balance of Phylogenetic Trees
Measures the degree of balance for a given phylogenetic tree by calculating the Total Cophenetic Index. Reference: A. Mir, F. Rossello, L. A. Rotger (2013). A new balance index for phylogenetic trees. Math. Biosci. 241, 125-136 <doi:10.1016/j.mbs.2012.10.005>.
Last updated
1.70 score 3 scripts 176 downloads