[Bioperl-l] [Wg-phyloinformatics] Summer of Code: project summaries

Chris Fields cjfields at illinois.edu
Wed Sep 17 16:41:52 UTC 2008


On Sep 16, 2008, at 12:18 AM, Han, Mira wrote:

> Hi,
> Just writing to summarize the final product of this summer. (even  
> though it's overdue)

BLTN

> The phyloXML support in BioPerl project is finished officially,
> I've created three new modules,
> Bio::TreeIO::phyloxml,
> Bio::Tree::AnnotatableNode,
> and Bio::Annotation::Relation.
> The parsing is done for all elements except for <ProteinDomain>
> And the validation step is still missing.
> I'm planning to add those in in the future.

Great work!  One issue that will come up: have you tested round- 
tripping?

(i.e. where object data read in from the original phlyoxml data is the  
same as object data read in from bioperl-derived phyloxml output)

> I was contemplating to make a Bio::Annotation::XML till the end,
> But decided not to since there was already a new module  
> Bio::Annotation::TagTree, that looked like the same thing.
> Currently, the module does not use TagTree, it uses nested  
> AnnotationCollections instead, because TagTree was a temporary stub  
> at the time.

I would consider it no longer temporary (just changed it in svn).  The  
'stub' part was left over from the initial commit; it has now been  
tested with bioperl-db (via swissprot tests).  It may need more  
rigorous testing via bioperl-db but it appears to work just fine  
(famous last words...).

There was one issue with Data::Stag (repeated 'Use of undefined  
variable' errors that popped up with Annotation.t tests), but Chris M.  
released a new Data::Stag to CPAN just recently which fixes that.  It  
wasn't a bioperl bug and was relatively harmless.

> There are methods in phyloxml that seem out of place there,
> For example, the print_annotation and print_attr functions that  
> print the annotations in phyloXML format.
> Or the read_annotation function that reads the value of the  
> annotation for a certain object.
> I feel like these functions should go with the Annotation object,
> But since there were no Annotation object that is phyloXML specific,
> I just put them in the TreeIO::phyloxml.
> This may change too in the future.

I don't see a problem with this; if you look at the various IO parsers  
there are several helper methods present (see Bio::SeqIO::genbank for  
an example).

If you were to go that route, I would add a method to the (generic)  
Annotation class that accepts some customization via a callback, maybe  
using a default callback if one isn't supplied.  See the various  
Bio::AnnotationI display_text methods, which were added in as a more  
explicit replacement for operator overloading.

> The documentations are all finished and can be seen in
> http://www.bioperl.org/wiki/Module:Bio::TreeIO::phyloxml
> http://www.bioperl.org/wiki/Module:Bio::Tree::AnnotatableNode
> http://www.bioperl.org/wiki/Module:Bio::Annotation::Relation
>
> The detailed progress of the project is documented in
> http://www.bioperl.org/wiki/PhyloXML_support_in_BioPerl
>
> and there is also a demo page that describes the use in
> http://www.bioperl.org/wiki/Phyloxml_Project_Demo

I'll give them a look over, but that's a great start!

> Finally I'd like to thank Chris Fields and Hilmar Lapp,
> for the constant support during the summer.
> And the people on the list for providing helpful suggestions when I  
> came with a question.
> See you around.
>
> Mira Han

Thanks, and congrats on completeing the summer of code!  Hope you  
stick around a bit longer; we need all the hands we can get.

chris



More information about the Bioperl-l mailing list