Skip to content

PhyloNetworks: a julia package with utilities for phylogenetic networks

License

Notifications You must be signed in to change notification settings

JuliaPhylo/PhyloNetworks.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

doc stable doc dev Build status coverage Code Style: Blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages PkgEval

logo dark logo light

Overview

PhyloNetworks is a Julia package with utilities to to handle phylogenetic trees and networks. It serves as a core package that other packages can depend on, such as PhyloPlots to visualize phylogenies, SNaQ to infer phylogenies from genetic data, PhyloTraits to analyze the evolution of traits along phylogenies.

Phylogenetic networks represent the evolutionary relationships between a set of organisms, e.g. populations, species, languages, cultures etc. They are also called admixture graphs when their leaves are populations of the same or closely related species. They are explicit graph representations, in which nodes represent ancestral populations / species, and edge lengths represent evolutionary time.

Utilities in this core package include:

  • read / write phylogenies in (extended) Newick format
  • manipulate networks: re-root, prune taxa, remove hybrid edges, transform a network with a semidirected nearest-neighbor interchange (sNNI), extract the major tree from a network, extract displayed networks / trees
  • compare networks with dissimilarity measures (e.g. the Robinson-Foulds distance on trees)
  • summarize samples of networks with support for local features (edges and clades of hybrid origin or sister to a hybrid clade)
  • fit edges lengths from average pairwise distances between leaves, using least-squares
  • network traversal routines

To get help, check

  • the latest documentation
  • the wiki for a step-by-step tutorial with background on networks (last revised 2022)
  • tutorial for comparative methods, including network calibration (2023 workshop)
  • the google group for common questions. Join the group to post/email your questions, or to receive information on new versions, bugs fixed, etc.

If you use the package, please cite (bibtex format here). For the PhyloNetworks package in particular, please cite:

Note

Version 0.17 of PhyloNetworks is a major change from version v0.16.4. Many functionalities were moved to other packages (e.g. SNaQ.jl and PhyloTraits.jl), the names of many methods were changed, and various internal functions were improved with breaking changes (e.g. traversal routines). PhyloNetworks v0.17 should serve as a better "core", used by other packages with more specialized functionalities.