Annotation package workshop 2010
Contents |
19–21 May 2010
The purpose of this meeting is to work on defining a package for SBML Level 3 which supports more elaborate (full RDF) annotations, as well as defining any other types of annotation not mandatory in the Level 3 core.
Meeting organization
Neil Swainston, Dagmar Waltemath and Allyson Lister are organising the meeting, with Nicolas Le Novère hosting and providing the location and infrastructure for the physical meeting. Attendees will be distributed across at least two sites (EBI/Hinxton and University of Rostock), and videoconferencing will be used. The actual number of groups involved is larger, but some of the group representatives will travel to one of the main sites to reduce the number of connections and increase local interactions and discussions. See the table below for a list of the attendees and where they were joining from.
The organisers of each hub are responsible for organising the travel and accommodation arrangements for that hub.
Audio-visual connection information
The lead sites were the EBI near Cambridge, UK, and Rostock, Germany (contact: Dagmar Waltemath). We used a combination of systems for remote connections: a Tandberg videoconferencing system link between the EBI and Rostock (at IP address 193.62.197.99) and EVO. See the separate page of instructions for information about how to get started with EVO. The session password is "SBML" (without the double quotes).
Detailed discussion topics
On the morning of the first day, we began with a more detailed list of possible topics constructed from everyone's input prior to the meeting, then developed the following condensed list of specific topics. We also assigned "owners" to indicate the lead groups or persons to take the first pass at discussing each topic.
There is currently also a page of general notes that is being modified dynamically and will probably be emptied by the end of the workshop.
Topics discussed in addition to those below included the following:
- Format: How should the annotation package be integrated into SBML LV3 core annotation style and the "free annotation" style with arbitrary RDF?
| # | Owner | Importance | Question | Notes page | See Also |
|---|---|---|---|---|---|
| 1 | EBI | High | In general, how does the annotation package relate to all other packages (current and future, core and non-core)? It could be that the packages decide what their annotation means. | Notes | Topics for Discussion #1, #10 (#3) |
| 2 | Rostock | Regular | How do we structure annotations about annotations? This includes evidence codes, which software/person added the annotation. How does this affect the History annotations? How would RDF reification vs. the current SBML "model history" RDF annotation look like? Would we need to implement rdf:id for things like rdf:Bag, so that one bag, for instance, could refer to another bag? In the history, how to associate a particular modification with a particular person? | Notes | Topics for Discussion #2, #4 |
| 3 | All | High | Can we / should we find a way to add more fine-grained annotations, e.g. to attributes of XML elements? E.g. we want to say that a particular rate is as a result of a particular bit data, with a way to specify a particular piece within a linked data set. | Notes | Topics for Discussion #4, #9 |
| 4 | EBI | High | In order to solve the problem of precedence, would the nesting of qualifiers help? We might need several layers of qualifications. One example is conflicting annotations with hasPart (it's more important to know it's a complex than that it's a version of a protein) and isVersionOf (e.g. hasPart cdk2 and isVersionOf cdk2 for the MPF complex). One answer might be using rdf:alt, or perhaps collections rather than containers. How can we describe boolean operators? Does this cover AND/OR/NOT? (NOT 1: This protein is not P12345, or this protein is not phosphorylated (is this a useful example?); NOT 2: a value was tested for, and not found. Should we include this information? Someone could choose to ignore the annotation, so should annotation be used to negate a value?) | Notes | Topics for Discussion #6, #7, #15 |
| 5 | Rostock | Regular | Is there some way to use annotations to provide unique identifiers that would be valid among multiple models and not just within a model? Perhaps by linking a metaid of a model to a unique identifier of your own within the Annotation section. SBRML etc. to link model to data. Therefore, is #9 in scope for SBML or should the linking be the other way around? | Notes | Topics for Discussion #8, #9 |
| 6 | All | Regular | Cross-element annotation. How can we have something in the RDF that allows reference to another metaid from another element? Could say that parameter X is a property of species Y. |
Agenda
From the originally proposed list of topics for discussion we have put up the following programme. A detailed description of all addressed discussion points follows further down. If you have any other topics you wish to add, just email Allyson, Neil or Dagmar.
Wednesday, 19 May 2010
| Time | Lead person(s) | Topic | Files | Audio only | EVO A/V |
|---|---|---|---|---|---|
| 13:00–15:15 | Allyson | Setting the detailed agenda & workshop work plan | • Starting list • Final subset | MP3 | zip |
| 15:45–17:00 | Everyone | Various topics | none | MP3 | zip |
Thursday, 20 May 2010
| Time | Lead person(s) | Topic | Files | Audio only | EVO A/V |
|---|---|---|---|---|---|
| 09:00–12:15 | Everyone | Drafting and local discussion at each site | see table | MP3 1 MP3 2 | zip 1 zip 2 |
| 13:00–14:15 | Allyson | Group discussion | see table | MP3 | zip |
| 14:45–18:00 | Allyson | Group discussion | see table | MP3 | zip |
Friday, 21 May 2010
| Time | Lead person(s) | Topic | Files | Audio only | EVO A/V |
|---|---|---|---|---|---|
| 10:30–13:30 | Allyson | Fitting in the changes with the existing specification: extension/replacement/parallel/combination of the above. | see table | MP3 1 MP3 2 | zip |
Pre-meeting Background Information
The following is background reading material for the meeting.
- The discussion topics list for this workshop.
- SBML Level 3 Version 1 Specification, especially Sections 5 and 6, which concern various types of annotation.
- You should be familiar with the W3C RDF Standard
- We may bring RDFa into the discussion if appropriate. You can find more information on RDFa in the W3C RDFa Primer
Participants
Participants marked in bold are organisers of the workshop.
| Name | Affiliation | Physical location |
|---|---|---|
| Allyson Lister | CISBAN, University of Newcastle, Newcastle, UK | EBI |
| Neil Swainston | MCISB, University of Manchester, Manchester, UK | EBI |
| Dagmar Waltemath | University of Rostock, Rostock, Germany | Rostock |
| Wolfram Liebermeister | HU Berlin, Germany | Rostock |
| Falko Krause | HU Berlin, Germany | Berlin |
| Marvin Schulz | HU Berlin, Germany | Berlin |
| Christian Knuepfer | Dept. of Math. and Comp. Sci., Friedrich-Schiller-University Jena, Germany | Rostock |
| Ron Henkel | University of Rostock, Rostock, Germany | Rostock |
| Stefan Hoops | Virginia Bioinformatics Institute, Virginia, USA | VBI |
| Frank Bergmann | University of Washington, USA | UW |
| Michael Hucka | Caltech, California, USA | EBI |
| Nicolas Le Novère | EMBL-EBI, Hinxton, UK | EBI |
| Camille Laibe | EMBL-EBI, Hinxton, UK | EBI |
| Morgan Taschuk | CISBAN, University of Newcastle, Newcastle, UK | EBI |
| Goksel Misirli | University of Newcastle, Newcastle, UK | EBI |
| Sarah Keating | EMBL-EBI, Hinxton, UK | EBI |
| Catherine Lloyd | Auckland Bioengineering Institute, Auckland, NZ | EBI |
Attendance is by invitation from the organisers only.
Post Meeting discussion points
Annotating non-existence of entities
The annotation package provides a mean to express that a particular entity (be it a species, a reaction, a parameter, a compartment etc) is consciously not encoded in a model because we know that it must not be part of the model.
This knowledge is different to the non-conscious absence of an entity, for example, because it was just not thought about in the context of a model.
Example
biologists?
To express absence of a particular entity we introduce the listOfAbsentEntities element. It contains a number of entity definitions (annot:omittedEntities). Each of them gets a metaID assigned. Through that metaID, each of the ommitted entities can have a number of annotations assigned, following the rules of the annotation package.
The absent entities are encoded as follows:
<annotation> <annot:listOfAbsentEntitities> <annot:omittedEntity metaid="metaidX"/> <annot:omittedEntity metaid="metaidY" /> </annot:listOfAbsentEntitites> </annotation>
The sole name (metaid) of an omitted entity does not hold any reliable semantics with information about that entity. That is why the <rdf:RDF> description block annotates the omitted entities and only then we can infer knowledge about the biological entity that must not occur inside the model:
<annotation>
<rdf:RDF>
<rdf:description rdf:about="metaidX">
<bqbiol:is>
<rdf:Bag>
<rdf:li rdf:resource="urn:miriam:obo.go:GO%3A11111111"/>
</rdf:Bag>
</bqbiol:is>
</rdf:description>
<rdf:description rdf:about="metaidY">
[..]
</rdf:description>
</rdf:RDF>
</annotation>
An example for the definition of two absent species is given in the following code snippet:
<listOfSpecies>
<annotation>
<annot:listOfAbsentEntitities>
<annot:omittedEntity metaid="foo"/>
<annot:omittedEntity metaid="bar" />
</annot:listOfAbsentEntitites>
<rdf:RDF>
<rdf:description rdf:about="foo">
<bqbiol:is>
<rdf:Bag>
<rdf:li rdf:resource="urn:miriam:obo.go:GO%3A11111111"/>
</rdf:Bag>
</bqbiol:is>
</rdf:description>
<rdf:description rdf:about="bar">
[..]
</rdf:description>
</rdf:RDF>
</annotation>
</listOfSpecies>
In the above example two omitted entities foo and bar are defined inside the listOfAbsentEntities. As the list is nested inside the SBML listOfSpecies we can infer that the absent entities foo and bar are both representing absent species. The rdf description links the absent species foo to the MIRIAM URI urn:miriam:obo.go:GO%3A11111111, using the bioqualifier is. The meaning of that annotation is: Inside the model there must not occur a species that is urn:miriam:obo.go:GO%3A11111111.
Draft proposal
Meeting discussions resulted in a draft proposal for an annot package for SBML L3.


