ABI Meeting Minutes 2008-07-16

Present:  Justin Marsh, Mike Cooling, Andrew Miller, Geoff Nunns, James Lawson, Tommy Yu, Catherine Llouyd, Dougal Cowan, Poul Nielsen, Peter Hunter, Randall Britten

Apologies:  Edmund Crampin

Last week's action items

1.)  Andrew will create a tracker item to address this issue within the API's validation service so that the user is warned of the inconsistency.

  • => Moved forward to next week
Action item 1.)  Andrew will create a tracker item to address this issue within the API's validation service so that the user is warned of the inconsistency. (re: dimensional inconsistency in units - need to inform user that they need to insert a scaling factor)

2.)  Randall to follow up on possibility of leveraging FieldML for representing maxima/minima and finite integrals

  • Randall has talked to Richard Christie about using FieldML to represent functions like this. This is more of a medium/long term issue.

3.)  Andrew to remove team@cellml.org moderation flag to allow Dougal to post to the list

  • Done

4.)  Justin and Andrew will create a tracker item to discuss this, and work on the issue. Geoff will add a link to the model to the tracker item

  • Moved forward to next week.
Action item 2.)  Justin and Andrew will create a tracker item to discuss this, and work on the issue. Geoff will add a link to the model to the tracker item (re: modulus division by zero bug)

5.)  James to get Tommy to show him how to use Hg

  • James has had a look through the Hg documentation but hasn't done any work with it yet 

Agenda for this week

PCEnv progress update

  • Justin is working on small bug fixes and features
  • He has been working on a multi-line form and undo / redo capabilities for the equation editor

CellML API progress update

  • Andrew has been working on the validation service, specifically units checking and <apply> element operators in MathML
  • It is a big job and the whole tree needs to be validated before anything can be tested

CellML 1.2 specification update

  • Andrew is working on a document outlining the possible implementation of a type system based on a typed lambda calculus
  • He intends it to be ready for a call for input from the community relatively soon.

PMR2 update

  • Tommy is working on the system for representing and giving curation flags to models.
  • He has also finished HgForest support, which allows modularisation of models into libraries of components
  • Randall - external staging for the PMR2 prototype will be arranged today
  • Tommy is all ready to start working on the full version of the software, pending feedback from users external to the ABI, which itself is pending external staging

Dougal - PMR2 wiki

  • Dougal would like to create a wiki to collect peoples' notes about their experiences with PMR2
  • Dougal suggested that it would probably start with plenty of information about the backend code and the bowels of the system, then move to describing the frontend as the interface to Hg becomes more comprehensive
  • It would generally be better to put this wiki on www.cellml.org and link to it on the PMR2 site, rather than the other way around
  • Unfortunately the Plone2 Zwiki supported by www.cellml.org is buggy can be difficult to use

Catherine - assigning curation status to 1.1 models

  • Andre sent Catherine an email this week concerned that she had given a curation status to a CellML 1.1 model
  • These 1.1 models are not in the actual CellML repository, rather they are uploaded into their own folder with all dependencies
  • Andre does not believe a curation status should be given to a model that is not in the official repository
  • James asked what his reasons were - Justin replied that a model that is not in the actual repository is not subject to the same curation workflow, so a model might be changed without the curation status being updated
  • Also, the model may not have a permanent path - we need to make sure that we keep the paths of these models valid for as long as feasible, since links to some of them have been given as references in publications
    • James noted that this was considered at the time that we decided to put CellML 1.1 models up on cellml.org in such a manner, and that we came to a similar conclusion as above
  • Because multiple models are involved in 1.1 models, it is possible that one of the dependencies of a model might be changed -  this could break the parent model, and therefore also render the curation status invalid
  • Randall noted that we can in fact apply the same curation principles to these 1.1 models as we intend to apply in PMR2 - that is, we can make a note in the documentation (akin to a curation flag,) that the curation status of a model refers to a particular revision at a particular point in time, and that some resources may change
  • Peter suggested that in the future we could set up a nightly automated test system that would verify that a model's curation status is still valid by checking its output against a 'reference description' which describes the correct results.
  • This may become slightly more complex if we are actually linking the values of variables to a external database, which may change.
  • Mike suggested that we simply make sure that people who 'own' these 1.1 models do not change them once they have been put up
  • James suggested that if the model does in fact need to be changed, an ad-hoc versioning system may be applied. So long as there aren't more than a few versions, a new folder could be uploaded containing all its own dependencies, named 'modelX_version01,' for example. This would ensure that any links or references to the original model would not be affected, and the curation status would not need to be changed.
  • Randall proposed that we could use a full revision control system if need be, since it may still be some time before we have PMR2 live
  • These models probably aren't undergoing enough revision to warrant this, however. We could reconsider this in the future if circumstances change
  • Poul suggested that the access control for changing these models once they are uploaded be limited to Catherine, so that the curation workflow remains consistent
    • James could also do this if required
Action item 3.)  Catherine to draft a policy statement that mandates:
  •  that we keep all paths of 1.1 models for posterity once they have been created
  • that the models are not changed after they have been uploaded
Access rights will not be restricted to curation staff only, as the number of models is low. If this situation changes, this policy will be revisited.

Mike - what is the correct version of a model?

  • Mike brought up the issue of the Pandit 2001 model, which has had many modifications since the original publication-consistent version was put up.
  • The authors have provided corrections to equations and parameters in the publication, but there is still discrepancy about what exactly the form of the model should take, so we are not sure which version is 'right'
  • Peter asked where the discrepancies are coming from
  • Mike replied that he and others have found bugs such as missing or extraneous minus signs, missing terms, parameter discrepancies etc.
  • James noted that this would be a good example of where branching in PMR2 could be applied. A branch could be made until the discrepancies are sorted out, at which point the model could be merged
  • Poul noted that the author should really have the right to define what they want the correct version of the CellML model to be
  • James suggested that if a modeller changes a model to fix what they perceive to be errors, they are in fact creating a new, derivative model - the original model is not affected, then

Peter - feedback from Europe

  • Peter has been in Europe for the last five weeks
  • He attended the EU FP7 NoE kickoff in Brussels
  • The Virtual Physiological Human NoE is adopting CellML, SBML and FieldML as their standard markup languages
  • This means that groups will be both using these languages and also developing software to work with them
  • The next step is the ICTBio meeting in Brussels in October 
  • A similar meeting that Peter and Poul are attending is the IMAG 2008 conference on model sharing in Montreal 
  • Peter will be demonstrating the utility of CellML and the CellML repository in Frank Sachse's 2008 work
  • The US and the EU are starting to work together on these initiatives much more, which is good for CellML and model sharing in general

Sessions greatly increase the utility of models

  • Peter said it was clear to him during his travels in Europe that associating a PCEnv session with a model greatly increases its utility to potential users
  • James discussed the problems with creating sessions for every model within the current PMR1 framework
    • Currently, sessions are version specific, so a new session has to be created every time a new version of a model is put up
    • If the model has all its metadata, this requires the URL of the old model in the session to be replaced by that of the new model, and the session file need to be uploaded. If an SVG file is included in the session, this does not need to be updated unless the model has changed significantly.
    • This process is not in itself particularly time consuming, but it is tedious, and scaling up to maintain a large number of sessions would be very time consuming
    • Also, the peculiarities of the process mean that it is difficult to show people how to upload session files to the repository. James is therefore the only person who regularly makes and maintains session files for models
    • It is possible that a script of some sort could be used to automate this process
    • The most time consuming aspect of creating sessions is definitely creating Javascript-embedded SVG diagrams which respond to clicks on elements of the diagram by rendering the appropriate trace in a graph window
      • This is also difficult to show other people how to do
  • Peter asked about the possibility of building a GUI that lets a user associate elements of an SVG diagram with elements of a model
  • This has been discussed before as a possibility, but would probably take Justin some time to implement
  • Andrew noted that we might want to take a look at PCEnv's SVG-Javascript API and make it more robust, and also make it accessible by other programs. Javascript may not in fact be the best language to use.
Andrew, Justin and James held a breakaway meeting after the CellML meeting to discuss the use of Javascript for making SVG diagrams interactive and ways to make the process of generating these interactive SVG diagrams more user-friendly.
  • Randall brought up Andre's work on creating comprehensive model descriptions based on graphing and simulation metadata as a probable successor to the current PCEnv-centric session files
  • Essentially, these descriptions are generated from model annotations, which are scanned and processed on model upload to generated a comprehensive, web-accesible description of the model, including the its output
  • Andre has written a paper "Reference descriptions of cellular electrophysiology models" which describes this work.
  • Peter and Poul suggested that in the relatively near future we may be able to build on Sarala's work to automatically generate full, biological diagrams of ontologically annotated CellML models

Update on repository contributions

  • Geoff will having a meeting with Peter to discuss his work since he has been here
  • James has talked to Jonna about creating sessions with SVG diagrams for the set of Guyton models that she has recently completed translating into CellML
    • There are issues with the master format (MS Visio) that Jonna's diagrams are in - export to SVG is incomplete. This issue may not be able to be resolved without a fair bit of work editing the incompletely translated diagrams
  • Catherine is still working on the Saucerman & McCulloch model - it is probably at the point where she should email Jeff Saucerman for help
  • Dan Beard's Biological Components Databank was mentioned 
    • Edmund Crampin has been collaborating with Dan on this, so we should ask him for information