[Biopython-dev] [Bug 3170] New: pypaml

bugzilla-daemon at portal.open-bio.org bugzilla-daemon at portal.open-bio.org
Fri Jan 14 14:01:13 UTC 2011


           Summary: pypaml
           Product: Biopython
           Version: Not Applicable
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Main Distribution
        AssignedTo: biopython-dev at biopython.org
        ReportedBy: b.invergo at gmail.com

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

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.

Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

More information about the Biopython-dev mailing list