ABI Meeting minutes 2009-01-14

Present: Randall Britten, Dougal Cowan, Andrew Miller, Michael Backhaus, Justin Marsh, Poul Nielsen, James Lawson, Adam Reeve, Peter Hunter, Jeelean Lim, Julian Eden
Apologies: Tommy Yu, Catherine Lloyd

Last week's action items:

1.) Everyone to think about a solution to the "events" problem.
  • Andrew commented on tracker item 1543, in which he has posted some piecewise equation examples of implementing "events".
  • James asked if it was possible to have event functionality that imported different modules; Andrew said it was possible to have an imported switch (?).
  • Andrew commented that it is more difficult to have multiple resets; you would need to use multiple piecewise equations.
  • A breakaway meeting was called on the events problem.
2.) Poul to forward the paper on motifs to interested parties.
  • Poul has forwarded the paper.
  • James would like to code up some of these models.
  • Randall asked if Jeelean should take a look at some of these models; Poul thinks this would be a good idea.
3.) Randall to create tracker items for Steve's ideas.
  • Not yet  - this item to carry over.
Action item 1.) Randall to create tracker items for Steve's ideas.

4.) Andrew to add a comment to the Java wrapper tracker item to ask for feedback.
  • Andrew has done this, and Abhishek has replied.
  • Randall suggested creating a MATLAB interface to CellML using MATLAB's built-in Java interface via the Java wrapper, whereby the CellML api could be used from MATLAB to generate MATLAB code for a CellML model. This could be part of a MATLAB package that made it easy to run simulations of CellML models from MATLAB.

  • Peter Hunter asked if a Python wrapper is on the agenda.  Randall commented that it would possibly make Tommy's job easier and may be worth considering.
  • Peter Hunter suggested it might be worth getting Andrew to assess the work involved in getting a Python wrapper working.

This week's agenda:

1) CellML-API and DAEs, Saucerman, IDA, initial_value attribute etc (continued)
  • With regards to the use of the initial_value attribute for initial values (IVs) of algebraic state variables (ASVs), Randall has been looking at the more literature on initial value problem (IVP) DAEs; literature consistently formulates DAEs such that all dependent variables (both state variables (SVs) and ASVs) have IVs. This adds further support to the proposal that using initial_value for ASVs needs to be supported, rather than being used to indicate constant parameters. Randall described again his proposal that CCGS should support the use of the initial_value attribute for ASVs. Cases where using initial_value for both ASVs and constants is ambiguous can be easily resolved by using a math equation for constants. This will allow handling of ASV IVs using the existing CellML specification, i.e there is no need to wait for a modified CellML specification, or for a metadata specification.

  • James suggested that many people would have initial values, from lab data.
  • Andrew raised the issue of where initial values are set but other imported components are meant to be able to affect them (?).
  • Andrew reiterated his objection that he feels that providing initial values is more like a procedural approach and not within the goals of CellML for declaratively describing a mathematical model. He feels that constraints should be used to eliminate the spurious solutions that the current CCGS/CIS non-linear solver finds when solving for initial values of ASVs.

    Randall explained that it is not merely a procedural approach, but is also declarative, since the mathematical question that it describes is 'given this starting value, what trajectory is followed?' The view that specifying IVs for ASVs is merely a numerical hint rather than a first class part of the mathematical description of a DAE IVP is peculiar only to the specific numerical technique currently used by CCGS/CIS.

    Peter highlighted that often models do not include all physical mechanisms, but have empirical devices that are effectively  equivalent. Both reset rules (discussed earlier), and the use of specific IVs rather than constraints, are an example of this.

    Randall: we will need to support both having constraints to control computation of IVs; as well as directly specifying IV's. However, the direct specification of IVs is needed first.

  • Peter, Poul and Randall support the proposal of using the initial_value attribute for ASVs as well.

  • Discussion continued at a break-away meeting after the main meeting.

2) A new name for PCEnv/COR: Should we set up a voting system? We've had plenty of feedback and ideas but very little agreement! Majority rule? Or executive decision by Peter and Poul?
  • Peter thought there was majority support for "OpenCell" on the mailing lists.  Given a reasonable consensus, he would suggest going with "OpenCell".
  • Andrew raised the issue of the "Cell" part - the software is not limited to cellular modelling.
  • Peter doesn't see a problem with the cell part; it is consistent with CellML and the cell can be thought of as any contained packet.
  • Andrew raised the issue of Google results being obscured by other hits, and also that OpenCell is already trademarked.
  • Justin would prefer an acronym or nonsense name; a unique identifier.
  • Peter suggested the issue be given one more week.
3) New tutorials for the CellML website... in particular, CellML 1.1. Can I get everyone's ideas and thoughts please? Should this be based on Sarala's work? Or should it be merged with a "how-to" regarding PMR2? And who to write this?
  • James talked about the new tutorials going up on the development site.  Input is needed on how integrated the CellML 1.1 tutorial should be with the PMR2 tutorial.
4) Skipped.

5) CellML AGM - what, why, how, where, when? Consideration for inclusion in the CellML Workshop schedule.
  • James asked whether the steering group might be elected at the Workshop during a short AGM.
  • Andrew mentioned that we would need nominations prior to the AGM.
  • Poul suggested that any proposals to be voted on would require wide circulation prior to the AGM.
  • James asked how to handle absentee voting; proxy votes or post-in votes?  Randall thought that post-in votes would make sense.
  • Justin raised the issue of "takeover" by parties not central to the CellML effort if the voting is publicly open.
  • Poul suggested votes by proxy from attendees.
Action item 2.) James to post about the AGM to the discussion list; propose that we hold the AGM at the Workshop, and discuss how we organize voting.

6) Skipped.

7) Repository contributions - update
  • Jeelean has been working on cell cycle models; has curated 12 models, a mix of new and old.
8) PCEnv development - update
  • Justin has been preparing for the 0.6 release.
  • Justin needs Mac testers; Edmund, Catherine and Poul were suggested.
  • Adam has been working on MATLAB and Python export. MATLAB to CellML conversion could be next, but there are other tasks that might be more appropriate, and this still needed to be decided.
  • Peter noted that MATLAB to CellML converter would be very valuable, and many users would be likely to use it.

  • Peter wondered if these efforts will lead to cut-and-paste-able code display of CellML models from PMR2; he thinks this is required.
9) CellML API - update
  • No updates.
10) Website redesign - update
  • James mentioned that we are now putting the new tutorials up on the development site.
  • The workflows need to be worked out; we need to talk to Gareth or Tommy
  • James said that some kind of PMR2 interface needs to be designed
  • There was a discussion about migration to the new repository;
  • Andrew suggested this be automated and done as quickly as possible.
  • James mentioned that the last automated process required a lot of manual cleaning up, and advocated an entirely manual migration that would ensure accuracy.
11) CellML Specs - update
  • James said that he hopes to standardize as much as possible of the metadata spec into Dublin Core.
12) SBML to CellML converter prototype - update
  • Andrew has done a lot of work on this this week.
  • All SBML except events and most MathML is now converted.
  • Major work is required to apply units via inference code.
  • James asked if Andrew had been in touch with Nicolas Rodriguez yet; Andrew has not yet.