Skip to main content

Python API that provides simple tools for doing phylogenetics.

Project description

=============================================
Python API with tools for doing phylogenetics
=============================================

This is the master repository for the `phylogenetics` Python package. This package includes a lightweight, simple-to-use API for managing and processing phylogenetic data. Many of the modules included in this package originated from Dr. [Mike Harms'](https://github.com/harmsm) `phylo_tools` and have been converted to API's. Read the Wiki to learn more about the internal structure.

The foundation of this API are the `Homolog` and `HomologSet` objects. These objects offer a simple datastructure that manages the metadata for a set of sequences in a phylogenetics/reconstruction project. These objects are easily queried, updated, and saved into many formats (i.e. fasta, csv, phylip, pickle, and json).

An metadata inside a homolog (__dict__ attribute) might look might look like this:

::
>>> print(homolog.__dict__)

{
"id" : "XX00000000",
"species" : "S100A5",
"organism" : "human",
"length" : 180,
"sequence" : "ASKFAFELGSKADGKASEKA...",
"latest_align" : "----ASK---F-AFELG--SKA---DGKASEK-A---...",
"align_1" : "--------------ASK-------F-AFELG-----SKA--DFLASEK--A--...",

.
.
.
}

>>> homolog.fasta()

>XX00000000
ASKFAFELGSKADGKASEKA...


>>> homolog.write("homolog.fasta", format="fasta") # writes to file "homolog.fasta"




Installation
------------

Clone this repo locally:

::
git clone https://github.com/Zsailer/phylogenetics


Navigate to this directory, and install this python package with

::
python setup.py install


**NOTE:** Many of modules in this API require

Setting up for Development
--------------------------

Git must be installed to clone and contribute to this project


1. Fork this repository on Github
2. Clone that repository locally
```
git clone https://github.com/Zsailer/phylogenetics
```
3. Navigate to this directory, and install (softly) this python package with
```
cd phylogenetics
python setup.py develop
```
4. Add another remote link to the master version, call it `upstream`.
```
git remote add upstream
```
5. Start a branch locally from local master
```
git checkout -B <branch-name>
```
6. Make changes and commit to that branch.
```
git commit -a -m "<commit message>"
```
7. Push to your fork on github (which you called `upstream`).
```
git push upstream <branch-name>
```
8. Pull request the branch on Github into this master repository on Github.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phylogenetics-0.1.tar.gz (12.0 kB view hashes)

Uploaded Source

Built Distribution

phylogenetics-0.1-py3-none-any.whl (16.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page