From: Richard A. <ra...@st...> - 2009-01-25 22:22:54
|
> > ------------------------------ > > Message: 6 > Date: Fri, 23 Jan 2009 17:35:11 +0100 > From: Dagmar K?hn <da...@eb...> > Subject: Re: [Miase-discuss] sed-ml library? > To: mia...@li... > Message-ID: <497...@eb...> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Hej, > regarding some of the issues: > >> A Schema issues: >> -------------- >> 1. According to the spec SEDBase is a superclass of all the main >> classes, yest in the schema only SedML class inherits from it. This >> means that notes and annotation cannot be added to other elements, >> e.g., uniform time course, dataset, datagenerator etc., >> > > In the XML Schema it is missing indeed. I will add them, probably the > easiest way is by adding the <xs:extension base="SEDBase"> tag to (all) > complex type definitions. > >> 2. Most if not all top-level elements have an 'id' attribute, >> would it make sense to put the 'id' field in SEDBase? >> > > Well, what for example about the <curve> element which might have an > annotation "The following curve shows the osciallation of bla bla bla", > but does not have an id!? Do you mean that a curve should have an ID or shouldn't? If an id is going to be problematic to fit into an inheritsnce hierarcy, then probably it should juet be included where needed, but if there is an argument for all elements having an ID then it would make sense to have id in a common base class, like in sbml. One solution would be to add another base class with an 'id' attribute which extends SedBase ,so you have SedBase / \ IdentifiableSedBase \ / \ \ Simulation, Output Curve Or, if a complex inheritance hierarchy is preferred to be avoided, then an 'Annotation' class could be defined which is composed into the top level elements, and a base class just has an ID. > >> B) Coordination with model >> ---------- >> PRevious posts have raised this issue, is there any progress on >> this? There is a lot of validation that can be done just with the >> sedml file, but if we want to check that a parameter or variable name >> exists, or the xpath is correct, >> then we need access to the model. It seems to me that there are >> different scenarios: >> > >> >> 2) A model is not yet in the public domain, but for example >> the client wants to share simulation info with a collaborator. In >> this case probably the model and the sedml file would have to sent >> together in a zip file to preserve >> relative file paths, but this leaves quite an onus on the user or >> tool to keep the two files coordinated. >> > > Hmm. This is indeed not really satisfying. Probably something to think > about. > >> 3) Could a model file be optionally embedded in a sedml file? >> > > For the moment, no. And I would really like to avoid that. But if > people want to do that they could wrap some additional XML element > around a model and a sed-ml file... :-) > >> This gets round the need to keep sedml independent of sbml, also a >> single file gets round the file coordination issue, but it raises new >> problems of keeping in synch possibly multiple copies of a model. But >> for non-curated models that must be an issue anyway? >> I'll try and expland. I was thinking of a case of a non-curated model. For a ccurated model it is in a sense fixed, can be referred to, changes can be relative to it because it, or at least that version of the model is immutable. MAybe I don't understand the model creation process very well, but if you have different sedml files with embedded sbml files, each referring to a different version of a particular model, then it is confusing to the user to have lots of slightly different model files in their system. But maybe htis isn't actually a problem, as it is up to a tool developer to provide support to the user, and I suppose from a library developlment point of view, so long as the combined sedml/sbml file is internally consistent, then that's the important thing. >> C Validation requirements >> -------------------------- >> >> VAlidation against the schema offers one level of validation, but >> there are many more assertions to validate, here are >> some below, would be good to have a list of these somewhere to >> construct a test-suite. >> Validation tasks below with an asterisk are ones needing access to >> the model: >> > > As you said in an earlier email, I think the syntax checker is > sufficient for the moment and the following validation criteria might be > for the future!? However, this list could go to the feature request on SF. OK I'll transfer it across. Some basic checkers( eg for uniform time course st and end time checking) are implemented just now, but need to work out how get the line numbers back post parsing. Re Frank's comments about a C/C++ library and ported versions being the ideal, I can't disagree with that based on the success of libsbml, but I do think there is room for a native Java implementation as well - the Java bioinformatics community is quite large and just looking at the sbml interopperability forum there are a lot of questions about linking in the Java bindings. Just being able to drop a jar into your classpath would be quite handy for a lot of Java apps especially as often incorporating libsbml causes portability problems for what were previously completley Xplatform apps. I think what I'll try to do next is set up some more automated testing system so that as new example sedml afiles are added to svn they can be validated easily. Also need to think about design of aPI, code generation is great for getting started but the api is rather ungainly at present. Just one more issue, how big do you think these files are likely to get, realistically, over the next few years? I'm thinking that as most models are relatively small then the sed-ml files will be easily held in memory for the forseeable future? Cheers Richard -- Dr Richard Adams Senior Software Developer, Computational Systems Biology Group, University of Edinburgh Tel: 0131 650 8281/8285 email : ric...@ed... -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. |