Abstract
Summary. Pylogeny is a cross-platform library for the Python programming language that provides an object-oriented application programming interface for phylogenetic heuristic searches. Its primary function is to permit both heuristic search and analysis of the phylogenetic tree search space, as well as to enable the design of novel algorithms to search this space. To this end, the framework supports the structural manipulation of phylogenetic trees, in particular using rearrangement operators such as NNI, SPR, and TBR, the scoring of trees using parsimony and likelihood methods, the construction of a tree search space graph, and the programmatic execution of a few existing heuristic programs. The library supports a range of common phylogenetic file formats and can be used for both nucleotide and protein data. Furthermore, it is also capable of supporting GPU likelihood calculation on nucleotide character data through the BEAGLE library. Availability. Existing development and source code is available for contribution and for download by the public from GitHub (http://github.com/AlexSafatli/Pylogeny). A stable release of this framework is available for download through PyPi (Python Package Index) at http://pypi.python.org/pypi/pylogeny. Subjects Bioinformatics, Computational Biology
Highlights
There is a need for tree manipulation, scoring, and flexible heuristic designs as part of larger bioinformatics pipelines
Introduced here is a cross-platform library called Pylogeny intended for heuristic search and analysis of the phylogenetic tree search space, as well as the design of novel algorithms to search this space
This framework is written in the Python programming language, yet it uses efficient auxiliary libraries to perform computationally expensive steps such as scoring
Summary
There is a need for tree manipulation, scoring, and flexible heuristic designs as part of larger bioinformatics pipelines. Operators include Nearest Neighbor Interchange (NNI), Subtree Prune and Regraft (SPR), and Tree Bisection and Reconnection (TBR), most of which are implemented presently in Pylogeny (Felsenstein, 2004) These nodes can be evaluated for fitness against sequence data. The functionality to maintain a phylogenetic landscape is implemented in the landscape class defined in the landscape module of this library This object interacts with a large number of other classes and supports tree scoring using standard phylogenetic methods. Persistence and management of character data is performed by an alignment module, while trees are stored by their representative string in a tree module They can be instantiated into a richer topology object in order to manipulate and rearrange them. Support is present for splits or bipartitions (as in the bipartition object) of these trees, required by many phylogenetic applications such as consensus tree generation (Margush & McMorris, 1981)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.