A Python API for interactive phylogenetics
Phylogenetics is a minimal Python API that makes phylogenetics interactive and reproducible. It's main purpose is to take you from a multiple sequence alignment to a set of ancestral sequences.
Initialize a PhylogeneticsProject
object, add your alignment, and analyze
your tree all in the Jupyter notebook.
# Imports
from phylogenetics import PhylogeneticsProject
# Initialize a project class
project = PhylogeneticsProject(project_dir='project')
# Add tips data or alignment.
project.read_data(dtype='tips', path='alignment.fasta', schema='fasta')
# Compute phylogenetic tree and ancestors.
project.compute_tree()
project.compute_ancestors()
Install from PyPi:
pip install phylogenetics
To install a development version:
git clone https://github.com/Zsailer/phylogenetics cd phylogenetics pip install -e .
Phylogenetics manages phylogenetics data. Currently, it doesn't do any of the phylogenetic calculations itself. For this, it uses wraps external tools like:
- PhyML: for building maximum likelihood trees. (http://www.atgc-montpellier.fr/phyml/)
- PAML: for reconstructing ancestors. http://abacus.gene.ucl.ac.uk/software/paml.html)
Phylogenetics is built on top of following python stack:
- Pandas
- Biopython
- DendroPy
- ToyTree
- PhyloPandas
- PyASR