Tuesday, March 21, 2006

Firefox Extension for Turning Built-in SVG on and off

A quick Google found this Firefox extension for turning built-in SVG on and off, posted on or maybe something uplifting.

Really useful little extension, because Firefox SVG support is actually pretty awful very good. (Just discovered that FireFox couldn't handle my original SVG, but if I put in the namespaces as attributes of the svg tag, everything worked fine. Must remember to engage brain before typing...).

The Adobe SVG plugin is much nicer (this is still true). This extension enables the user to switch between Firefox and Adobe. Pity there is nothing like this for Camino, a very nice Gecko-based browser for Mac OS X that I've gotten used to. Because it uses the same rendering engine as Firefox, Camino makes the same hash nice job of SVG (once the namespaces are included).

Currently playing in iTunes: Fire and Rain by James Taylor

Monday, March 20, 2006

Fun and games with WebDot and Fedora Core 4


Well, that was fun. I've just installed AT&T's WebDot, a Tcl CGI program for generating images of graphs on the fly using Graphviz. Although there are RPMs for Fedora Core 4 available from AT&T's site, they didn't work. Here's what I did to get this working:


  • Installed Graphviz from the RPM.

  • Installed WebDot from the source tarball, not the RPM.

  • Failing to read the instructions (like, who does that?) I neglected to install graphviz-tcl-2.8-1.fc4.i386.rpm (Graphviz Tcl). I tried to do this but it complained about a lack of Tk

  • For reasons unbeknownst to me, I didn't have Tk installed (but did have Tcl), so off to the Fedora Core FTP server to grab tk-8.4.9-3.i386.rpm.

  • Now graphviz-tcl-2.8-1.fc4.i386.rpm installs happily, but still no joy.

  • Running Webdot from the command line

    cd /var/www/cgi-bin
    ./webdot

    produced some meaningful error messages at last. The script couldn't find a Tcl shell because the script was looking for Tcl 8.3, and Fedora Core 4 has 8.4. Hence, I edited the first line of the script accordingly. Then it complained about not finding libtcldot.so.0.0.0. Turned out the script thought this library was in /usr/lib/graphviz/, whereas the RPM had put it in /usr/lib/graphviz/tcl (sigh). So, the first two lines now look like this:

    #!/usr/bin/tclsh8.4
    set LIBTCLDOT /usr/lib/graphviz/tcl/libtcldot.so.0.0.0


  • OK, the webdot script now runs, but no images of graphs. One useful hint is to try and view the images WebDot generates, even if they look like missing images (i.e., there doesn't seem to be anything there). Sometimes useful error messages are displayed, in this case I saw a message about missing fonts.

  • Having gone through this particular version of hell a while ago when putting WebDot on a RedHat 8 box, I remembered we need some TrueType fonts. AT&T have these on the Graphviz web site, but as a tarball with no instructions what to do with them. I still had the RPM I used on the RedHat 8 box (you can grab it here), so installed this (which puts the fonts into /usr/X11R6/lib/X11/fonts/truetype/).

  • Now, it works (yay!).


Isn't software fun? By the way, the nice icon in this post comes from pixelglow's wonderful port of Graphviz to Mac OS X. After the fun with Fedora, it's back to my Mac...

Tuesday, March 14, 2006

Biodiversity Informatics Visualization


The Human-Computer Interaction Lab at the University of Maryland has produced numerous nice visualisation tools, and has a page devoted to biodiversity visualisation.


We are building information retrieval and analysis interfaces for the rapidly expanding domain of biodiversity and ecological databases. Biodiversity databases contain organism-related information such as distribution, taxonomy, natural history, and conservation data. They are as complex as molecular and medical biology resources, yet serve a broad audience as do general-use digital libraries. We began by developing an interactive tree visualization (TaxonTree) for Kingdom Animalia. We also developed a prototype allowing coupled interaction with two trees (DoubleTree). We are currently working on developing other methods of visualizing both hierarchical and non-hierarchical biodiversity information (TreePlus and EcoLens), leveraging prior research on digital libraries and on bioinformatics. This has involved exploring ontologies and biodiversity data management in collaboration with the Animal Diversity Web (ADW) and the SPIRE project, and tree-reasoning with Kevin Omland at UMBC.

Monday, March 13, 2006

Least Common Ancestor (LCA) queries

My suspicion is that most queries biologists would make concerning trees are fundamentally LCA queries (as opposed to pattern matching, for example). For instance, "find me trees where group x is monophyletic" is a LCA query. Hence, LCA algorithms of of special interest (especially if they can be incorporated in a database). One recent LCA algorithm due to Bender and Farach-Colton (PDF here) has an implementation available in SourceForge, courtesy of Muhammad Ahsan Yusuf and Zack Ramjan.

There is a recent paper on this work (and the problem of LCA's in directed acyclic graphs) by Bender et al. in Journal of Algorithms(doi:10.1016/j.jalgor.2005.08.001).

Wednesday, March 01, 2006

All My Eye

All My Eye is a new blog by staff at Ingenta involved in RDF and related projects. Worth keeping an eye on, especially as the Ingenta fields are metadata rich, and have been used by uBio's RSS project.

Genome browsers and chronograms



Continuing the theme of visualising phylogenies, one thing which strikes me is the parallel between genome browsers that display annotation "tracks" (such as the UCSC Genome Browser) and illustrations of "chronograms" with geological periods and accompanying data, such as sea levels, isotope levels, etc. In my haste I couldn't find an example with a sea-level track, but I know they exist. The chronogram at right comes from Steppan et al. (doi:10.1111/j.1095-8312.2003.00274.x). In both cases there is a natural co-ordinate system (genome location and time, respectively) going from left to right, and annotations that can be added using the same frame of reference.



Hence, wouldn't it be cool™ if we had a database of phylogenies that could be queried by time slices (see my earlier post on interval queries), and which would display a phylogeny together with user-selected annotation tracks (obtained, say, from external geological databases)?

Monday, February 27, 2006

Interval queries


VLDB2005 has some interesting papers. One which caught my eye is Efficiently Processing Queries on Interval-and-Value Tuples in Relational Databases[PDF] by Enderle et al. Why? Because with all the effort systematists are placing on estimating divergence times, it would be nice if a phylogeny database could recover phylogenies by time slices (as well as by taxa, geography, data type, author, etc.). Imagine being able to find phylogenies with divergence dates that spanned the K/T boundary, for example.

Document icons


Amber Frid-Jimenez: has a really nice page showing document icons that reflect the words contained in the document. Neat idea, and has a lot of potential. One obvious extension to phylogenetics would be to represent the taxonomic coverage in a similar style, so people could very quickly find studies on related sets of organisms simply by browsing.



(Via information aesthetics.)

Wednesday, February 15, 2006

LSID Firefox extension update

I've updated my extension to resolve LSIDs in Firefox so that it works with version 1.5.0.1 (the most recent version of Firefox). The extension is available from Mozdev. It may take a little while for the mirrors to update with the new version, so if you get a "404" when trying to download, you may need to come back later.

IBM's LSID project have their own Firefox extension LSID Launchpad for Firefox, which is a lot slicker than mine. It's in beta, but well worth a look.



In case you're wondering, these extensions enable you to browse LSIDs as if they were URLs. For example, with the extension installed, a LSID such as urn:lsid:ubio.org.lsid.zoology.gla.ac.uk:namebankID:10386 becomes clickable, and you can see the metadata associated with the LSID. For the technically minded, they add support for the lsidres protocol to Firefox.

Sunday, February 12, 2006

Rob McCool on Rethinking the Semantic Web

Having read Rob McCool's articles on Rethinking the Semantic Web (brought to my attention by Bob McMorris' comment on my earlier post on globally unique identifiers), I think he makes very interesting points, but they are not all relevant to whether biodiversity informatics adopts RDF.

In terms of whether the dream of the Semantic Web will happen, I suspect he is right - technologies such as tags and microformats will be a lot easier to adopt, and will make more effective use of existing tools. I'm not writing the Semantic Web off, but McCool's point about keeping things very simple is, I think, on the money.

Much of the work on RDF and the Semantic Web has been done in academia, and most examples concern things such as relationships between people and projects (typically computer science projects in, you guessed it, the Semantic Web). Within a small academic community there is often a small problem scope, consistent vocabulary (or at least, it is tractable to develop either a vocabulary or a mapping between vocabularies), obvious identifiers, experience with ontologies, and a limited set of problems. My sense is that biodiversity informatics fits this model. If the goal is to integrate databases of integrate taxonomic names, specimens, images, character data, DNA sequences, and publications, and make inferences based on this aggregation of information, then I feel the use of Semantic Web techniques will be quite tractable, indeed productive.

In the same way, much of the scepticism about whether ontologies are actually be useful in the real world (see Clay Shirky's brilliant Ontology is Overrated -- Categories, Links, and Tags, or listen to a MP3) is probably well founded. Again, I think the issue is one of scope. Biologists are used to ontologies, after all what is taxonomic classification but a large ontology with well developed rules for its construction and maintenance?

That said, there are areas in our field where insistence on RDF, controlled vocabularies, and ontologies will probably be counterproductive. Ontologies for morphological characters will, I suspect, prove hard to sell. Even though we have a history of shared terminology (think of papers establishing consistent numbering schemes for setae on insect heads), these shared vocabularies tend to have limited applicability unless they are very general (matching setae on the head of a fly and a louse is tricky), and if they are general (e.g., "legs") they are very low level. There is also the thorny issue that many aspects of morphology are not homologous in evolutionary terms (in what sense are the wings of a fly and a bird both "wings"?). Leaving aside the conceptual issues, this is one area where I think people will balk if it becomes a pain to use ontologies. It's hard enough getting people to use scientific names (never mind remembering that species names such as Homo sapiens should be written in italics). I suspect this is one area (along with scientific literature) where tagging will be a compelling alternative. For an example of the power of tagging literature see Connotea.


McCool's articles are available here:

Thursday, February 09, 2006

Globally Unique Identifiers

I attended the TDWG-GUID workshop on Global Unique Indenitifers (GUIDs) held at NESCent, which has issued a report. Essentially, the aim of this work is to deploy globally unique identifiers for digital objects in biodiversity informatics, such as taxon names, specimen records, images, etc. The workshop settled on LSIDs (Life Science Identifiers), which is a sensible choice.

LSIDs have been around, and there is considerable software support from IBM (see their project on SourceForge). I've used them in my Taxonomic Search Engine. Not everybody is thrilled by LSIDs (see Anyone using LSID? on NodalPoint).

DOIs and Handles were also considered. I have flirted with handles (see my comments on the iSpecies blog). DOIs have some useful properties, especially stable infrastructure, management tools, and immediate utility by the publishing industry, although they are not cheap. George Garrity uses them in his NamesforLife© project(doi:10.1601/tx.0). Long term the biodiversity community might benefit from thinking seriously about this. The German Science Foundation has invested in providing free DOIs to the German scientific community (see Publication and Citation of Scientific Primary Data). There's also a certain irony in a blog posting talking about GUIDs and rejecting DOIs, when every reference to an external publication is made using, you guessed it, a DOI.

Regarding the workshop itself, at times I wanted to gnaw off parts of my body to retain sanity. As a result I was pretty obnoxious. My frustration stemmed partly from a feeling that the TDWG community seems determined to make life hard for themselves by placing obstacles in their path whenever possible. They've also a lot of investment in XML schema, which I regard as misguided (that's being polite). Anybody who thinks XML schema are the answer to our problems should read "From XML to RDF: how semantic web technologies will change the design of 'omic' standards" (doi:10.1038/nbt1139). I nearly lost it when there was discussion of adopting LSIDs but serving the metadata in XML schema. This defeats the whole point of LSIDs. By serving RDF, we can do inference, in particular we can easily aggregate RDF into triple stores. Populating a database becomes as easy as resolving the LSID and sucking down the metadata. Consequently, data integration suddenly looks a lot more tractable. Indeed, from the perspective of RDF, LSIDs are just another Uniform Resource Identifier (URI), albeit one which consistently resolves to RDF.

As the workshop drew to a close, I began to feel that one reason people just didn't "get" LSIDs and RDF was that there were no really cool examples of what can be done with the technology. If you just look at RDF serialised as XML, then it's not obvious what the big deal is. So we serve a different form of XML, what's the big deal? This is a little like my first impression of XML -- it just seemed like a more fussy version of HTML, so what was all the hype about? Once you see the power of the tools associated with XML (such as the parsers, XSLT and XPath), then you see the point. It can make exchanging and processing data a lot easier, and style XSLT sheets are just way kewl. The difference between XML and RDF is of this order. So, what we need are some cool applications combining LSIDs, metadata, and triple stores to show people just why this is so much more powerful than the XML schema that have obsessed the TDWG community for so long.

Wednesday, February 08, 2006

Search result comparison



Yet more cool stuff from information aesthetics, this time a comparison of search results from Google and Yahoo. Given my own talk on Google versus Yahoo and the death of taxonomy?, this page certainly caught my eye.

Treemaps


I came across this version of treemaps a little while ago, but this post on information aesthetics reminds me to add this to the list of cool things that are worth thinking about when considering how to visualise the Tree of Life.

Isn't it gorgeous?

Tuesday, February 07, 2006

TreeBASE talk at CIPRES


On Saturday I gave a short invited talk at the CIPRES all hands meeting in Austin. Not sure if I'll be invited back after this, but I think it was worth saying a few things that somebody, somewhere should be saying. You can grab the PowerPoint slides here. To give you a sense of the talk (and the style in which it was intended), here's the abstract:


The current TreeBASE is a black hole -- data disappears in and is difficult to extract again. Furthermore, no use is made of the wealth of information that could be linked to data in TreeBASE. The only external links TreeBASE contains are author email addresses. Yet, given a GenBank sequence or a paper title one can go to the Internet and readily extract information on genes, specimen localities, PubMed records, citation links, images, taxonomic authorities, etc. The search interface is limited, and locks users into primitive and often fruitless searches. TreeBASE is a walled garden in a time when the world is discovering data integration, federated searches, and "mashups." Designing new, improved (read bigger) relational database schema does nothing to address these issues. If the community wants a useful tool that tells us what we know (and what we don't know) about the tree of life, and enables the kind of integrated research that we systematists so often say is only possible with a phylogenetic underpinning, then I suggest we need something rather different. This talk will sketch some problems with TreeBASE, discuss some ideas relating to globally unique identifers, metadata, inference, and the Semantic web, and will end with the author running from the room hotly pursued by Bill Piel.


Apart from biological gripes, I was also a little surprised that some of the stuff from the early days of "phyloinformatics" wasn't being picked up on, especially the idea of a phylogenetic query language (e.g., Jamil et al., BIBE 2001 doi:10.1109/BIBE.2001.974405) (and, no, I don't think a CORBA wrapper constitutes a phylogenetic query language).

Wednesday, January 18, 2006

Finding good phylogenies using citation relationships

How does a person who is not expert in a group of organisms find a good phylogeny to use for their work? Think of somebody interested in animal behaviour who needs a tree for their birds of fish. Ignoring the answers "ask a systematist" or (even worse) "become a systematist and build the tree themselves", how do we answer this query?

Google ranks sites using link structure (in essense, pages with lots of links that are themselves pointed to by lots of sites score highly). Could we use the same idea for scientific papers? The answer is of course we could, but whether it would generate useful results is an open question. I've been toying with Jon Kleinberg's ideas in Authoritative sources in a hyperlinked environment. Kleinberg identifies "authorities" and "hubs", which are roughly analogous to highly cited papers and review articles, respectively.

So, the idea is this. For a collection of papers (such as those in TreeBASE, or those being assembled for birds by Katie Davis in my lab), use Google Scholar to extract citation information, build a graph and compute authorities and hubs using Kleinberg's algorithms. Based on a little play with TreeBASE (which I need to finish and write up, sigh), papers with high hub scores tend to be recent reviews, which may be good candidates for a place to start.

We could even test this. In the case of Katie's work on bird supertrees, we could compute a measure of fit between input trees and the supertree, and compare that with the score assigned to the paper containing the source tree. If my idea has value, papers that have "good" input trees will also have scores based on citation structure (e.g., hubiness, or some other measure).

Monday, January 02, 2006

Wouldn't it be cool if ... GenBank watch

From the "wouldn't it be cool if" department, one thing I've often thought would be very handy would be a web site that listed sequences in GenBank that were known (or suspected) to be problematic (especially sequences thought to have been misidentified). What I'd like to see is a site called something like "GenBank Watch" (a ripe off of Search Engine Watch) where this information is recorded.

There has some commentary on this issue in the literature (Rytas Vilgalys's article in New Phytologist doi:10.1046/j.1469-8137.2003.00894.x, and James Harris' article in Trends in Ecology and Evolution doi:10.1016/S0169-5347(03)00150-2).

Some workers do make available lists of dubious sequences, such as list of rejected sequences provided by the mor project. My concern is that a lot of this sort of information is buried in papers (e.g. this one suggesting AF203470 has been misidentified), or even worse, comes to light when manuscripts are reviewed, the authors remove the sequences from their data set, but the important information (that the sequence is bogus) isn't mentioned in the paper.

Wouldn't it be great if there was a web site were one could go and search for a sequence by accession number to if somebody had flagged that sequences as problematic? Ideally the site would enable users to comment on a sequence (for example, it whether the sequence is bogus might be contentious), and it would also need a web service interface so the search could be automated.

One for the "if I only had time" list.

Saturday, December 31, 2005

Bone Rooms, Bird Bodies, and Biodiversity Informatics



Bone Rooms, Bird Bodies, and Biodiversity Informatics is an old article now, but it's a nice summary of what biodiversity informatics is about.


Some people believe that museums contain only musty air, stuffy docents, and pure boredom. However, tucked away behind a mysterious door marked "Museum Staff Only" is a dynamic and ever-growing resource few of us are lucky enough to see in person: the museum collection itself. Whether you imagine graybeards stirring up dust as they pin shiny beetles into tiny boxes or a sparkling modern facility, every museum's beating heart is its hidden collection of specimens and associated library of descriptive notebooks. These collections are anything but boring, and many are now online.

Edit script for classifications


One of the first concrete things to emerge from this research is a paper with Gabriel Valiente entitled An edit script for taxonomic classifications.


Abstract The NCBI taxonomy provides one of the most powerful ways to navigate sequence data bases but currently users are forced to formulate queries according to a single taxonomic classification. Given that there is not universal agreement on the classification of organisms, providing a single classification places constraints on the questions biologists can ask. However, maintaining multiple classifications is burdensome in the face of a constantly growing NCBI classification. In this paper, we present a solution to the problem of generating modifications of the NCBI taxonomy, based on the computation of an edit script that summarises the differences between two classification trees. Our algorithms find the shortest possible edit script based on the identification of all shared subtrees, and only take time quasi linear in the size of the trees because classification trees have unique node labels.


The basic idea is to look for matching subtrees in two classifications (labelled rooted trees), then compute a script that transforms one tree into another. I think the idea is neat, and we have a basic implementation available (written C++ using Graph Template Library). Haven't yet made practical use of it though...

Wednesday, December 21, 2005

Drupal and Atom

Minor technical matter, but I've discovered that the news aggregator for Drupal doesn't read Atom feeds, such as those provided by Blogger, and hence the Atom feed for iPhylo (this blog) did show up in the Systematic Biology web site (which uses Drupal). A quick Google revealed this solution, and so FeedBurner to the rescue. The iPhylo feed on the Systematic Biology site is provided by FeedBurner, not directly from IPhylo.

Monday, December 19, 2005

Structural-based queries

The IEEE SMC Society's eNewsletter has short article on work in Jason Wang's group on struture-base queries.





The goal of our research project is to produce algorithms, data structures, and software that approach the speed of keyword-based search engines for structure-based queries on biological databases. Thanks to previous and ongoing research, searching by attribute-value, by text, and by path expression has become a sophisticated technology. Searching by topological or physical structure, especially for biological databases and especially for approximate matches, is still an art.