Archive for April, 2010

SBGN 5.5 Hackathon writeup

Sunday, April 25th, 2010

The goal of Systems Biology Graphical Notation or SBGN is to define a set of standard shapes for things like reactions, enzymes, genes, metabolites, compartments etc. For example, here is the reaction that takes place in your body after an alcoholic beverage, using SBGN notation.

Alcohol dehydrogenase as SBGN diagram

The SBGN community organizes regular meetings or “hackathons”, where specs are discussed and new SBGN-related software is presented. This year I was present at the meeting held at Wittenberg in Germany (where you can still find the church door where Luther pinned his 95 theses). Here is my writeup, by no means complete, just a collection of impressions.

Vanted SBGN-ED
In the category SBGN-related software, Tobias Czauderna demonstrated SBGN-ED,  a new plugin for Vanted that lets you create diagrams in SBGN format. Especially interesting is the nice validator that can tell you if you drew something that is not allowed by the SBGN specifications. A very complete SBGN editor and probably one of the nicest out there. No link yet, but there will be a publication very soon.

Vanted BridgeDb plugin
Unfortunately a few presentations had to be canceled the first day due to the volcanic ash that was plaguing the European skies. To fill the gaps in the agenda, we just started hacking on random stuff. One result of this was a Vanted BridgeDb plugin that I made together with Christian Kuklas. Christian immediately found a number of bugs and requested new features in BridgeDb. There is not yet an easy way to install the plugin, but if you’re interested you can play with the source code

SBGN Exchange format
The second and third day, most participants managed to overcome the disruption of the air traffic and join the conference. Besides discussion on the planned next release of SBGN, there was another important topic: LibSBGN.

SBGN currently only exists as a specification of glyphs and symbols and what they mean, there is no computer file format. But there are now several software packages out there that deal with SBGN, and they need a standard exchange format to work together.

The existing standard file formats for pathways, SBML and BioPAX, do not store  layout information, i.e. they do not store the position of the elements of a diagram. According to the SBGN spec, layout information does not carry any meaning. Biologically the diagram means the same thing, no matter if elements are arranged vertically, horizontally, in a circle, or in random order. So you would think there is no problem.

But as it turns out, it’s exactly the layout information that has to be exchanged between pathway software. It turns out that a good pathway layout is really hard to do automatically, so once you have painstakingly defined a layout you want to preserve it. So weirdly enough we want an SBGN file format to exchange information that is not part of the SBGN spec at all.

Because there is no standard, the current tools all defined their own ad-hoc file format out of necessity. The lack of a standard file format is really becoming an impediment to cooperation. There has been a lot of talk how this should look like, XML? DTD? GML? Object model? But in my opinion it doesn’t matter too much in the end, you just have to make a decision and stick with it. We’ve been able to turn a lot of discussion into tangible results in the form of a new SourceForge project, and uploaded some small samples and the beginnings of an XML Schema definition. Hopefully we can keep the momentum and get it mostly done by the next SBGN meeting.

jSBML
Not related to SBGN directly, but I found it interesting nontheless: A new java native library for SBML is being developed called jSBML. There already existed a library called libSBML, but it’s written in C++. Because LibSBML was considered a “good-enough” solution for java programs, the SBML community for a long time resisted the notion of a native java library. But it turned out that many SBML-based Java projects were actually developing their own native library anyway. Ironically,  the tendency to avoid duplication of work actually led to multiple incomplete projects that all duplicated each other. Sometimes it’s best to accept reality.

WikiPathways Curation Jamboree Evaluation

Friday, April 16th, 2010

WikiPathways content is growing nicely, but it’s not growing like one of those nice exponential curves that you see in the first slide of almost every bioinformatics presentation nowadays. We want exponential curves in our presentations too, dammit, so we want to get more people actively involved.

A big challenge for WikiPathways is to get people to take the first step, to get them over that initial hump and actually start participating. Certainly a lot of people are very interested in WikiPathways, but there is some hesitation to just start working on the content. It’s something we have to work on. Besides clearing technical hurdles, we try to gently help people, simply to get started.

As an experiment, we organized a dedicated curation jamboree, a focused effort to get together and crank through a list of curation tasks. We prepared documentation, contacted several mailing lists and harassed all our colleagues. We also put together a special chat channel where newcomers can get instantaneous contact and answers to quick questions. This event happened for two days in February.

So, was it a success? Yes, if you look at edit activity. Thomas made this graph of the number of pathways tagged with either “needs reference” (for pathways that don’t have any literature references) and “missing description” (for pathways that don’t have a nice description text). As you can see, the numbers dropped quickly during the two days of the curation event, by at least 25%. (ignore the initial jump in the blue line, that’s due to a bug in the data collection script). WikiPathways gained a lot of curated data in a short period of time.

Numbers of pathway with a curation tag over time

The most active contributors were the usual suspects: Thomas, Alex, Kristina and me, the core WikiPathways team. But you can see in the graph below that other people joined in as well. Even if they did only a few curation tasks, that’s good  enough. The most important thing is to get people to take the first step. So the graph below is misleading: participating really is more important than winning.

Number of edits per user

That’s Great, Now Please Fix OpenOffice.org

Thursday, April 8th, 2010

Did you hear about the OpenOffice.org mouse? It’s a mouse that has no less than 18 buttons. From the press release:

“With a revolutionary and patented design featuring 18 buttons, an analog joystick, and support for as many as 52 key commands, the OOMouse is intended to provide a faster and more efficient user interface for most complex software applications than the conventional icons, pull-down menus, and hotkeys presently permit.”

This is the same logic that brought us the 5-blade razor. Somebody please smack these people with a copy of The Design of Everyday Things. Why would anybody want such a complicated thing? Beginning users will not be interested in memorizing 18 unmarked buttons. And for advanced users, ordinary keyboard shortcuts are much more effective anyway, because they will prefer to keep their fingers near the home row (the row from “asdf” to “jkl;” – touch typists are trained to put their fingers there at all times). For maximum speed, you want to move your hand away from the keyboard as little as possible.

This is even more ironic when you consider that the OpenOffice.org suite, in spite of all its open-source karma, is still full of tiny annoyances. What OpenOffice.org needs now is a focus on user-friendliness, not a mouse that looks like the console of a nuclear power-plant.

Just a tiny example. I’ve used MS Word a fair bit and I’ve learned a lot of handy keyboard shortcuts. Just try this: if you want to change the style of a paragraph, just press Ctrl + Shift + S, and start typing the name of the style you want. The same trick works with Ctrl + Shift + F for font and Ctrl + Shift + P for font size (points). If you have to do this a lot, this shortcut is a great time saver. I haven’t been able to find any equivalent shortcut in OpenOffice.org. Is that the reason why we need an 18-button mouse now? Can’t we just fix the software itself?

I wonder why OpenOffice.org allowed their name to be used for such a weird project. I fear that this will only re-enforce the stereotype that open source software is never user-friendly.