[Biopython-dev] [Biopython - Bug #3170] (Resolved) Integration of external package: pypaml

redmine at redmine.open-bio.org redmine at redmine.open-bio.org
Tue Jun 21 15:07:04 UTC 2011

Issue #3170 has been updated by Peter Cock.

Status changed from New to Resolved
% Done changed from 0 to 100

Brad's merged Brandon's code, so this can be closed now I think.
Bug #3170: Integration of external package: pypaml

Author: Brandon Invergo
Status: Resolved
Priority: Normal
Assignee: Biopython Dev Mailing List
Category: Main Distribution
Target version: Not Applicable

PAML (Phylogenetic Analysis by Maximum Likelihood; http://abacus.gene.ucl.ac.uk/software/paml.html) is a package of programs written by Ziheng Yang. The programs are used widely, especially CODEML which is used to estimate evolutionary rate parameters for a given sequence alignment. 

There is currently a PAML library for BioPerl but, to my knowledge, no such wrapper exists for Python.

I have independently written a Python interface to the CODEML program of the PAML package, with the intention of eventually covering all of the programs in the package. You can find my code here:

I believe it would be beneficial to integrate my pypaml package into the main Biopython project and to continue its development as such.

Before it can be integrated, some immediate tasks must be done:
- change the licensing: currently it's GPL, as described in the code
and on the project page. Is it sufficient to simply remove its
dedicated project page and change the verbiage in the code?
- check coding standards as described in the Contributing to Biopython wiki
- make some changes to be compatible with Python 2.5: I use @property
and @x.setter decorator tags which are only 2.6+. I think that's the
only incompatability
- double-check the CODEML output parsing for many PAML versions; the
output is notoriously non-standard from release to release. I may have
to build some version-checking into the parser. I wrote it based on
the output of PAML 4.3. I propose that compatibility with only 4.X+ be implemented (current version = 4.4c
- build some unit tests (I'm new to this in Python so I need to learn
a bit about that

I've tried from the start to make it very generalized so I don't think
any major changes need to be made. Plus, I think structurally it
should be easy to implement the other PAML programs by copying a lot
of the code. The output parsing for each program is a different story,

I will implement many of the above changes first in my stand-alone library before merging it with a branch of the Biopython git repository. Because CODEML appears to be the most commonly used program from the package, for the immediate future it will continue to receive most of the focus, but with time the other programs will be implemented.

You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here and login: http://redmine.open-bio.org

More information about the Biopython-dev mailing list