Discussion of SBRML on morning of 2008 08 28
Fedor Kolpakov: SBRML and SED-ML are very similar. What is the relationship between them?
Pedro Mendes: We had seen SED-ML, but we didn't want to bias what we did in SBRML. We wanted to figure it out independently. They can certainly be combined. However, we had some different strategies. One of the things you see here is that SBRML doesn't tell you to change anything. Essentially it's based on a view of a system that is a sequence of states. The states in the system are associated with sets of parameters. Time is one of the parameters. Each state is associated with one set of parameters. So you can associate an index with each set of parameters. You might have a hypercube if the numbers change from 1 to something. Or you might have a random sampling. So we're not saying how you change the model, we're saying the model has this value at this point and this value at that point and so on.
Fedor Kolpakov: So if you remove from SED-ML the "ChangeML" part, then SED-ML and SBRML are practically the same.
Pedro Mendes: Except that here we have the results, and there [in SED-ML] they are not in there. The problem is we did not want to describe that operation. We have just a very generic way of doing it by using the ontology thing [in SBRML]. It's passing the problem somewhere else. It's saying, "there is an operation and the name is this one and you can find the instructions somewhere else". We can't encode results without specifying what operations are performed.
Fedor Kolpakov: I think they are quite similar
Pedro Mendes: Yes. I don't know what Nicolas thinks, but I think we could decide to use for example KiSAO to describe the operations.
Nicolas Le Novère: I'm worried about SBRML's use of URIs, which actually were always URLs. I'm a bit worried about that ...
Pedro Mendes: That's again a technicality. By the way, you can have the full SBML model encoded actually right in the file. I personally don't care if the file is large.
Nicolas Le Novère: Something we didn't mention about SED-ML is that the model does not have to be SBML. It could be CellML. You could actually mix them. You could have a description where you show a plot of an SBML model and a plot of a CellML in the same output. This is one of the reasons why I have strong feelings about keeping the models outside. Or as Fedor Kolpakov: proposed, putting SED-ML as an annotation of the model.
Fedor Kolpakov: Why do we need to include CellML and Virtual Cell ML? Why can't we just put them into the SBML model.
Nicolas Le Novère: No, their models are not the same. We developed converters SBML<->CellML. You have pretty good coverage, but not complete, believe me. VCML is vastly different from SBML. If you want to run a spatial simulation today, you can't do that with SBML. There's no reason to say to the modeler, "hold on, please don't exchange any spatial simulations until we develop it in SBML". I think that would be bad public relations.
Pedro Mendes: If you look at the representation of SBRML, all we need from SBML is a definition, and id's that are unique. You basically just have multidimensional tables and you reference into the model. That's also why we say this is perfectly fine for experimental results, if you want to put them into the context of the model.
Fedor Kolpakov: Next question: can we use it for experimental data?
Pedro Mendes: Yes. All we need is something like FuGE that describes how the experiment was run. It's no good to provide results that have no context. You need to describe how the experiment was run.
Fedor Kolpakov: There are all these minimal information standards for data. How do you refer to those?
Pedro Mendes: The minimal information are just that. They're just recipes of what you have to provide; they are not models. For example, there are several markup languages for microarray data. They're nasty, but they exist. But essentially all they care about is a technique. Not the biological context. This [SBRML] would allow you to pick up, for example, a microarray data set, and let's say a model that has a reconstruction of metabolism, and then have the id's of each data item. That way, you're actually mapping the id's of the data to the model. It is possible.
Fedor Kolpakov: OK, but if I should map some experimental data to my model, I have to describe some mapping function?
Pedro Mendes: Yes. The mapping function is the SBML file and you using the right id's for the right things. That's the mapping. Another thing I should point out is that we were very careful when designing this to make it usable in databases. So you should be able to use this very well with XQuery. It's very easy to screw that up, by the way. This was Norman Paton's main contribution.