Ancestral sequence reconstruction using Python
Ancestral Sequence Reconstruction in Python
PyASR offers a modern Python interface to PAML ("Phylogenetic Analysis by Maximum Likelihood")--tuned specifically for reconstruction ancestral protein/DNA sequences.
NOTE: PyASR currently only supports protein reconstructions. This is a work in progress.
import phylopandas as pd import dendropy as d import pyasr # Use phylopandas to read a set of ancestor.s df_seqs = pd.read_fasta('test.fasta') # Use dendropy to read in tree. tree = d.Tree.get(path='tree.newick', schema='newick') # Reconstruct nodes in tree. tree, df_seqs, df_anc = pyasr.reconstruct(df_seqs, tree, working_dir='test', alpha=1.235) # Write out ancestor dataframe to a CSV file. df_anc.to_csv('ancestors.csv')
We can visualize the ancestors side-by-side with the tree using inside of JupyterLab thanks to the ToyTree library.
This package is released on PyPi. You can install using pip:
pip install pyasr
To get the development version:
git clone cd pip install -e .
The actual reconstruction calculation are done using PAML. This requires PAML to be
installed and the
baseml executables exported to your
$PATH environment variable. Directions for installing PAML can be found on the PAML website.
The following Python dependencies are required for PyASR to work.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|pyasr-0.6.1-py2.py3-none-any.whl (35.6 kB) Copy SHA256 hash SHA256||Wheel||py2.py3|
|pyasr-0.6.1.tar.gz (31.8 kB) Copy SHA256 hash SHA256||Source||None|