[Biopython-dev] pypaml

Brandon Invergo b.invergo at gmail.com
Fri Jan 14 10:56:38 UTC 2011


Hi everyone,
New subscriber here, and hopefully a new contributer as well!

I have written a Python interface to the CODEML program of the PAML
package (http://abacus.gene.ucl.ac.uk/software/paml.html), with the
intention of eventually covering all of the programs in the package.
You can find my package here:
http://code.google.com/p/pypaml/

I recently ran across a discussion that occurred on the main Biopython
list regarding my interface
(http://lists.open-bio.org/pipermail/biopython/2010-September/006743.html)
and I realized that perhaps it would be better if I integrated it into
Biopython. I know that it's something many people would be interested
in. I am very enthusiastic to continue this project and to do whatever
I need to do to facilitate the integration.

Some immediate tasks that need to be done are:
- 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
- build some unit tests (I'm new to this in Python so I need to learn
a bit about that
- perhaps making it fit with any other structural standards in the
Biopython library?

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,
though.

So, as I understand it, I should file an enhancement bug over at the
Bugzilla site. In the meantime I can start working on some of the
points listed above. I also need to refresh my memory of using git
since I've gotten in the dirty habit of using svn (assuming this is
all approved)! Is there anything else I need to do for now?

Cheers,
Brandon Invergo
Pompeu Fabra University
Barcelona, Spain



More information about the Biopython-dev mailing list