From: Richard A. <ra...@st...> - 2009-03-22 01:17:34
|
Hi, Just a query about the listOfModels element - is it assumed to be the case that, for a given sedml document, it will describe a single 'reference' model version, which will be the first model in the list, and subsequent entries in the list will refer to that base model, applying changes (as is the case with the example 'oscillation to chaos' model)? Or, is it possible that a given sedml document could refer to >1 reference model? I'm asking from the point of view of how a self-contained .miase archive file might look. (By self contained, I mean that the application using it will be able to access all the information needed to run a simulation without having to query repositories - with the help of a supporting library. ) In the first case above, it would only ever contain a single model file, in the second case, it could contain multiple models. Also, do we want to allow archives which contain all model variants as complete models, or are we going to stick with a 'reference' version of the model, and generate new, altered versions of the model by applying Xpath changes on the fly at runtime? I assume the latter, but I can't find anything in the current examples, or in the CMSB2008.pdf to distinguish between these possibilities. From the point of view of supporting library methods, I was thinking something along the lines of: MiaseArchive archive = libSedml.readArchive(String filepathToMiaseArchive); // A MiaseArchive enables access to a sedml document, and model file(s?) SedmlDocument document = archive.getSedMlDocument(); // access Sedml DOM via document.getSedMlModel(); //access model file ( or is it possible to have > 1 model file here??) // if the latter, need method to iterate over multiple model files. String referenceModelContents = archive.getModelAsString(); //now, get XPath change from SedML model and apply it ListOfChanges changes = sedMl.getListOfModels.getModelById(modelID).getListOfChanges(); String alteredModelContents = document.applyChanges(referenceModelContents,changes); // now use your model specific library to parse the altered model and run simulation. If we can clarify this I can put some examples into svn. I can send a class diagram if that would be more explanatory. Cheers Richard -- Dr Richard Adams Senior Software Developer, Computational Systems Biology Group, University of Edinburgh Tel: 0131 650 8285 email : ric...@ed... -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. |