[BioRuby] Bioruby PhyloXML pencils down

Diana Jaunzeikare rozziite at gmail.com
Mon Aug 17 15:20:45 UTC 2009


Hi all,

So the Google Summer of Code is over. I had a great time learning and
improving my programming skills in real world environment. Especially I am
glad that I learned more of "doing things in the ruby way".  I think that
writing open source will definitely help me to land with a better job after
graduation since the result is something i can actually show to the
potential employers as example of my work.

Here is the summary:

* Wrote Bio::PhyloXML::Parser class which is responsible for parsing xml
files in phyloxml format. It inherits from Bio::Tree and thus have all the
functionality Bio::Tree class have.

* Wrote Bio::PhyloXML::Writer class which is responsible for writing
(hopefully) valid xml files against phyloxml schema. For most part it
produces xml files that validate against phyloxml schema, but probably it is
possible to produce artificial example when it is not, since not everywhere
i have checks for valid input or data type. This is where i can improve in
future.

* Since these classes are meant to deal with big data files, I changed code
several times to make it faster. I managed to improve the speed of the
Parser by a lot, but not for the Writer. In order to improve speed of the
Writer, i will first improve the underlying Bio::Tree class (thus others
also might benefit from faster Bio::Tree class).

* Bio::PhyloXML module holds classes corresponding to complex phyloxml
elements. Here http://wiki.github.com/latvianlinuxgirl/bioruby is the design
of classes.

* The code is here http://github.com/latvianlinuxgirl/bioruby/tree/dev

* The project page is here:
https://www.nescent.org/wg_phyloinformatics/PhyloSoC:PhyloXML_support_in_BioRuby,
where probably I will continue to post future plan.

* Code examples are
https://www.nescent.org/wg_phyloinformatics/BioRuby_PhyloXML_HowTo_documentation.
The same information is also incorporated in bioruby tutorial.


I will definitely stay involved in BioRuby and open source community. The
next step will be to improve Bio::Tree class, especially Bio::Tree#parent
and Bio::Tree#children methods. Next semester I will be taking Algorithms
class, so maybe I will be able to apply that knowledge to this task.  And of
course I plan to maintain my code, since when people will start using the
code, bugs will start to creep up.

I would like to thank my mentors Christian and Pjotr for support and timely
answers to my questions. Also thanks to Naohisa and others who answered my
questions and helped me.

Diana



More information about the BioRuby mailing list