Categories
Meetings & Conferences

SBML Hackathon 2009: Finished

The SBML Hackathon was a really interesting experience for me. I haven't had much time to collect my thoughts, as we've gone straight on to the next phase: the BioModels Workshop or, for some, the trip home.

This was my first Hackathon, and I found the environment conducive to work and the discussions very interesting. You can follow what's being said and has been said about sbml on the #sbml thread on Twitter, too. There were breakouts, discussions, informal talks, posters, competitions and of course the hacking.

It was a really efficient way of finding out the large amount of interesting research and software development happening in the SBML community. I also met a lot of people who previously have only been names on emails. Further, I think many of us have found the beginnings of interesting collaborations, too.

Despite the hail and the rain today, I think the BioModels workshop will be just as interesting, though the format is slightly different. Here's to the next 2.5 days!

Read and post comments |
Send to a friend

original

Categories
Meetings & Conferences

SBML Hackathon Day 2

Things changing with SBML Level 3

A complete list is available at http://sbml.org/Community/Wiki/SBML_Level_3_Core/Workplan

These are just the ones I found the most interesting as we went through the whole list.

+ Move species type and compartment type outside of the core. These were used for annotation reasons, but could also do it with the species and compartments using their annotation/RDF sections. If the reason to use it was to group together things for annotation, why just for species and compartments? Why not for all things? In which case, a generic mechanism would be a good thing. Further, the original reason for them was as the first step in a generalized reaction (e.g. automatically generate reactions when all matched species are present in the compartment). If they ever generalize reactions, then they will reintroduce something that works in a similar way as an extension. In summary, what these things do will be done within the new Annotation package that will be part of Level 3.
+ Remove default values on optional attributes and make the necessary adjustments.
+ Introduce an SIdRef/UnitSId type. These types will match the SId / UnitSId, and will allow differentiation between ids that are references and ids that are ids. This is a really good idea, and will help out with the Xpath-based referencing method used in the L3 hierarchical modelling extension.
+ Update the units section
+ Update the reactions section. This improves how stoichiometry is dealt with. Will explain reaction extent, add sections for stoichiometry and conversion factor and remove stoichiometryMath. You cannot show a distinction between targets for optimization and those which aren't. However, this isn't a problem that is strictly for SBML, as "parameter" in SBML means something different.
+ Remove the parts of the spec that belong in a Best Practices document
+ Remove the parts of the explanation of kinetics for multicompartment models

http://sbml.org/Events/Hackathons/The_7th_SBML_Hackathon

Please note that this post is merely my notes on the presentation. They are not guaranteed to be correct, and unless explicitly stated are not my opinions. They do not reflect the opinions of my employers. Any errors you can happily assume to be mine and no-one else's. I'm happy to correct any errors you may spot – just let me know!

Read and post comments |
Send to a friend

original

Categories
Meetings & Conferences

SBML Hackathon 2009: Afternoon Session

Falko Krause presented ubuntu 4 systems biology, a live cd with some applications pre-installed, so you can try it out without having to actually install it. He says if you have any software you'd like to include, to let them know and they'll include it. They'll package your software, and your video. They have libsbml, curated biomodels, semantic sbml, copasi, and others are already installed.

Then there was a presentation of the updates on the SBML Test Suite by Sarah Keating. She went over the various options available for each semantic test case. What has changed from the first incarnation? There is L2V4 support, the settings file has changed, and some of the models have changed based on user feedback. For instance, some models used initial values that were very very low, which caused problems for some people.

I also learnt that there are three of us working on automated model annotation of varying types that are here at the SBML Hackathon. This is great news, as until recently I couldn't find anyone working on it. Here are the links to the three projects:

1. Saint: SBML Model Annotation Integration Interface. Saint allows quick and straightforward model annotation (of MIRIAM annotations, species names, sboTerms, and new reactions plus more coming soon) using a web interface. Developed by CISBAN and recently presented at a talk at BioSysBio 2009 (video and slides available soon).
2. A MIRIAM Annoation helper, developed by MCISB
3. Semantic SBML. Created initially as SBMLmerge, for merging models together, this is both a web interface and a standalone application that adds MIRIAM annotation.

There was also an interesting discussion about starting up an SBML/CellML competition with various categories.

http://sbml.org/Events/Hackathons/The_7th_SBML_Hackathon

Please note that this post is merely my notes on the presentation. They are not guaranteed to be correct, and unless explicitly stated are not my opinions. They do not reflect the opinions of my employers. Any errors you can happily assume to be mine and no-one else's. I'm happy to correct any errors you may spot – just let me know!

Read and post comments |
Send to a friend

original

Categories
Meetings & Conferences

SBML Hackathon 2009: Introduction and libSBML 4 Overview

Keep track of the tweets at http://search.twitter.com/search?q=%23sbml

Nicolas' Introduction

Sponsored by Elixir ("a sustainable infrastructure for biological information in Europe"). Very nice graph of the minimal cost of storage and other IT resources (such as EBI) compared to the funding for the genome sequencing project. Elixir is a 4.5 million euro grant awarded in May 2007, but should have a rolling funding structure. The idea is that it will be a reliable distributed infrastructure. It's quite a large infrastructure with 14 work packages. Nicolas is coordinating the WP 13.3 technical feasibility study.

Other sponsors are ENFIN, NIH, Beckman Institute in Caltech.

Michael's Introduction

The goals of the hackathon: meet others working on software tools of all kinds; discuss SBML; learn to work with SBML; implement support for SBML in your software; test your software's SBML support. The tutorials are on libSBML version 4 (beta) and an SBML test suite update (though the re-write isn't finished yet). There are some suggested starting places for work and some competitions planned: a best poster competition, an sbml matrix competition, and an libsbml documentation competition (see http://sbml.org/Events/Hackathons/The_7th_SBML_Hackathon/Supplementary_documents_for_the_2009_SBML_Hackathon).

libSBML 4: Sarah Keating

libSBML is an API for working with SBML, with all the standard functions. There are a number of model history/metadata convenience methods that allow you to set such metadata without messing with the underlying attributes. For every attribute on every object, there are the setX(), getX(), and isSetX() methods (and unsetX() if it's allowed to be empty).

What is the difference between version 3 and version 4 of libSBML? There are changes for the developers (hidden from the normal users), functionality changes. The focus is to help people avoid creating invalid SBML. Sbase has metaid, notes and annotation. In libSBML 3, id and name exist on Sbase and shouldn't! So, libSBML 4 now better reflects SBML and name and id have moved out of Sbase.

Additionally, all change functions check first to see if the action is appropriate. For example, you can't set the compartment type on a level 1 model. It doesn't check that the id is already present in the model, but it does check that the syntax of the id is valid. It will also check that the math is well-formed. Each thing returns success or failure: 0 is success, and nonzero (with an enumeration) is various types of errors. Copying objects resets their parents to null. The setLevelAndVersion() method now has a strict argument (boolean). If false, it is the same behavior as level 3, if true will check if the converted model is really valid. If it's not valid, then it won't allow the conversion and reports an error.

Constructors now take a level and version, with an optional XML namespace. These are the only public constructors. There are huge problems with people creating objects and then adding them to a document where the level/version was already set and causing problems.

See http://sbml.org/SBML_Projects/libSBML/Development for details.

http://sbml.org/Events/Hackathons/The_7th_SBML_Hackathon

Please note that this post is merely my notes on the presentation. They are not guaranteed to be correct, and unless explicitly stated are not my opinions. They do not reflect the opinions of my employers. Any errors you can happily assume to be mine and no-one else's. I'm happy to correct any errors you may spot – just let me know!

Read and post comments |
Send to a friend

original