[Biopython-dev] GSoC Weekly Update: PhyloXML for Biopython
Eric Talevich
eric.talevich at gmail.com
Mon Jun 22 12:14:19 EDT 2009
Hi folks,
Previously (June 15-19) I:
* Wrote a pretty-printer for displaying a summary of the parsed tree
structure
* Made all existing unit tests pass
* Started unit tests for instantiation of each phyloXML object
* Profiled the parser and utilities using the cProfile module on the
unit
test suite. Summarized findings on the Biopython mailing list (nothing
exciting was discovered)
* Used a custom warning type to indicate noncompliance with the PhyloXML
spec
* Separated parsing code (Parser.py) from the phyloXML class definitions
(Tree.py) -- this should make Nexus/Newick compatibility feasible
* Improved the conversion from PhyloXML.Sequence to Bio.SeqRecord,
making
better use of annotations and using SeqFeature objects to represent
protein domains
This week (June 22-26) I will:
Work on the backlog:
* Finish unittests for parsing and instantiating core elements
* Compare parser performance with Bioperl and Archaeopterix
* Document results of parser testing and performance (on wiki or here)
* Document basic usage and performance characteristics of the parser on
the
Biopython wiki
Then, serialize phyloXML trees and write back to file:
* Write unit tests for serialization
* Write serialization methods for each class
* Write a top-level function for triggering serialization of the whole
hierarchy
Question:
Biopython has a couple of core objects that I'm reusing in my project. There
was a quirk in these libraries (related to this:
http://effbot.org/pyfaq/why-are-default-values-shared-between-objects.htm)
that made the objects slightly more awkward to instantiate, but the issues
were recently fixed. I'd like to merge these fixes soon.
So, GSoC requires a tarball of the code we write at the end of the summer.
Merging from upstream would bring code that I didn't write into my
development tree -- which I could probably filter out with the right
arguments to git-diff, but nonetheless, my project history would no longer
be entirely clean. Does Google care about this? Or is it safe to go ahead
and pull from the next stable release of Biopython (coming soon)?
Cheers,
Eric
http://github.com/etal/biopython/tree/phyloxml/Bio/PhyloXML
https://www.nescent.org/wg_phyloinformatics/PhyloSoC:Biopython_support_for_parsing_and_writing_phyloXML
More information about the Biopython-dev
mailing list