Attaching phyloxml annotations

Fabian Schreiber posted to the mailing list that he was having trouble parsing a newick string, then attaching annotations to the resulting objects such that they show up when serialized to phyloxml. How this is done is not immediately obvious so here is an example.

Reading and writing complex character annotations

I have just uploaded Bio::Phylo version 0.48 so it should become available shortly on Also, the mailing list has now opened up to anyone without my approving your signing up, at least until the spam gets out of hand. And there was a question from Laszlo Nagy, sent to me privately, which is about the post's title and is interesting enough to discuss here publicly.

Bio::Phylo::Beagle wrapper around Beagle-lib

The BEAGLE library has been published in Systematic Biology and is under development on Google code. BEAGLE is a very exciting project: it has been designed to make the most of various chip architectures (GPUs, OpenMP and SSE) in computing likelihoods. Several popular programs (MrBayes, BEAST and Garli) interface with BEAGLE, and the author list is a who's who in computational biology. In the BEAGLE source tree there is an example that demonstrates how python can interface with BEAGLE. Here, by way of a test script, I demonstrate a perl library that does the same, but with the data handling of Bio::Phylo.

Visualizing RDFa semantic annotations using SVG and NeXML/JSON

TreeBASE emits richly RDFa-annotated NeXML. An example of this is the annotation of taxa/OTUs, whose names TreeBASE tries to match to the NCBI taxonomy. The annotations that indicate such a match use skos:closeMatch as predicate and the URIs as provided by UniProt as the object. Below is a tree that uses the same logic and code, more or less, as a previous post, but embeds these UniProt URIs as xlink:href clickable links (in bold face) in the generated SVG.

TreeBASE visualization using JSON/NeXML and SVG

In follow up to a post that used HTML5 canvas to draw trees from TreeBASE here is an alternative implementation that has the same general layout and logic but uses SVG instead.

TreeBASE visualization using JSON/NeXML and HTML5 canvas

This is a simple drawer for TreeBASE trees that is meant to demonstrate two points:

  • HTML5 canvas is neat. Fingers crossed for it being universally adopted because we might be able to do away with plugins (and the uncertainty of their being installed) and applets.
  • NeXML is not to be feared. If you don't like pointy braces for some reason or another you can always use its JSON incarnation instead.