phasty

A Python interface for PHAST (phylogenetic analysis with space/time models).


Keywords
phylogenetics, package
License
BSD-1-Clause
Install
pip install phasty==0.5.3

Documentation

phasty

PyPI version Codacy Badge codecov

A Python interface for PHAST (phylogenetic analysis with space/time models).

Description

PHAST is a package consisting of command-line programs for comparative genomics. It supports several nucleotide substitution models. This package phasty provides Python wrappers for some major programs so that it is easier to integrate them into complicated workflows. It can also parse some files from plain text to more computer-friendly forms to help downstream analysis.

Usage

The design idea of phasty is to be robust and compatible with version changes of PHAST. Therefore, the signatures of functions are written in a general way. Please refer to the corresponding websites for detailed usage of specific options.

Example

Assume hmrc.fa exists in the current directory. After running phylo_fit and reading the .mod file, the content is stored in a list of objects holding attributes with proper data types. Each object represents a fitted model.

from phasty import phylo_fit, parse_mod

output = phylo_fit(
    "hmrc.fa",
    tree="((human,(mouse,rat)),cow)",
    subst_mod="U2S",
    EM=True,
    precision="MED",
    non_overlapping=True,
    out_root="hmrc-u2s",
)

mod_lst = parse_mod("hmrc-u2s.mod")
print(mod_lst[0].rate_mat)

Installation

Download and install PHAST first.

Install from PyPI:

pip install phasty

Or install from source after git clone:

cd phasty
pip install -e .

Run tests:

pip install -e .[dev]
python -m pytest --cov=phasty tests/

Uninstall:

pip uninstall phasty

Notes

This package uses Semantic Versioning.