Phylotree.js implements many abstractions in addition to features, and comes with a documented application programming interface, thus promoting interoperability and extensibility. Example applications include a tool to visualize and annotate phylogenetic trees, a web application for comparative sequence analysis, a structural viewer that interacts with a large phylogenetic tree, and an interactive tanglegram.
By having a variety of built-in features and several core abstractions, phylotree.js has a demonstrable ability to allow to users to select portions of a tree in a wide variety of ways and interface these selections with downstream components of an application. Phylotree.js is capable of serving as a “glue” component between parts of an application. Crossings can represent interesting evolutionary events, or highlight the disparity between a single verses multi-tissue tree.
With phylotree.js, it is possible to interface phylogenetic trees with a variety of other software to produce custom, interactive visualizations of phylogenetic data.
Phylotree.js is licensed permissively under the MIT license, is well documented, and contains a gallery of examples. The code at time of writing is available as Additional file. All the minor ttols related to branches, nodes and clades that collapse are available in “Options” method.
Some features are enlisted here;
Capable of handling multiple selection categories for comparative analysis
Several mechanisms for selecting branches, including by clade, path to root, individual branches, internal branches, leaves, and branches that are nearby after layout
Runs entirely in the browser, including Newick/PhyloXML/NexML parsing
Can handle trees with thousands of tips
Supports linear, radial, scaled branch, tip-aligned, and scaled tip size views
The viewer can be constrained to fit in a given SVG box, or scale based on the size of the tree
Clade collapse and hiding to explore large trees
Node, clade, and subtree selection
Tools to automatically select subsets of tree branches based on conditions.
Color branches and tips, including gradient shading for continuous traits.
Customize the way tip names are displayed
Transform branch lengths based on branch attributes
Redefine the way a tree is displayed by writing custom CSS
It supports Newick format and XML for trees. A new update of PhyloTree, Build 17, is introduced, having nearly 5.5 thousands halogroups.