ABI CellML Meeting Minutes, 8th June 2011

Present: Randall Britten, Peter Hunter, Andrew Miller, David "Andre" Nickerson, Poul Nielsen, Tommy Yu

Apologies: Dougal Cowan

Last week's action items:


This week's agenda:

1) Repository and database discussion: issues arising from segmentation & mesh generation meeting. 

  • Andre pointed out the model storage solution was discussed in that meeting, but he is alarmed that PMR2 was not recommended as part of the solution.
  • Tommy raised that Duane may have relatively tight timing requirements, and that they feel PMR2 has a steep learning curve to climb before they can do what they want.
  • Poul noted that there are also other requirements, such as storage of medical images (DICOM) and movies, both of which are large datasets. These together may require a storage mechanism that is a superset of PMR2.
  • Poul suggested that we need to inquire all of ABI to find out what the requirements are for a comprehensive repository for data and models.
    • It will be of great benefit if this is achieved as it will mean resources can be pooled together, resulting in a larger pool that can be used to build a common tool.
  • Peter also had a discussion with Duane yesterday, giving him the suggestion that he should be building on top of PMR2, and to draw up a list of task including:
    • Plan for storing images;
    • models;
    • and to form a bigger picture as to what ABI needs.
  • Randall noted how the CAP project originally considered PMR2, but due to PMR2 still being under development at the time, and the major focus on DICOM data, CAP opted to build on the dcm4chee PAX system.  The CAP project is also focussed on cardiac images and models.  Some previous work has been done by Roger Clayton that used similar technologies to CAP for a musculoskeletal application, but was discontinued when Roger left the ABI.

2) PMR2 development - update

  • Dougal discovered an issue with cloning any workspace in the staging instance.
  • Tommy noted that he was using a newer version of Mercurial/TortoiseHg and a new plugin was causing cloning issues.
  • Tommy fixed this issue by relaxing the overly tight constraints on what matches a protocol request.
  • Tommy worked on the workspace front page to make it more apparent to end-users that they should refer to the latest exposure when they stumble into a workspace from elsewhere.
  • Tommy got the fix to one of the Plone Collective products committed to upstream subversion server as he had obtained committer access.


3) Repository contributions - update

  • Dougal gave his apologies via email, and submitted what he had done via email:
    • Created an exposure for Winslow et al. 1999
    • Documented and exposed Corrias et al. 2011
    • Fixed the keyword metadata for and re-exposed Grandi et al. 2009
    • Andre made changes to the Colegrove et al. 2000 model which allow it to run in OpenCell, but the model is far from reproducing figure 3 from the paper. It is missing the step function for k_leak for example, and does not produce steady Ca concentrations at rest.

4) CellML API - update

  • Andrew was working on two different parts of the API, including:
    • Solution for using xpath with stochastic models;
    • Some bugs were reported with the Python bindings, but Andrew discovered that the version of Python involved was older than what is supported. Due to time constraints that will be marked as unsupported.
  • Andrew is continuing with MinGW API build:
    • Been fraught with difficulty so far.
    • There are two versions of MinGW, the one that comes with Cygwin or Ubuntu.
    • The one that comes with Ubuntu couldn't pass exception between DLL's which causes problems.
      • The workaround is to build a custom MinGW that enables this functionality.
    • Another workaround is to only distribute the MSVC built binaries with hooks MinGW expect in place
      • This is noted to be incompatible with Alan Garny's development environment.
      • Still have to determine if this satisifies all linking issues.
    • Andre suggested to Andrew that he should ask Alan exactly what he needs to avoid wasted effort.
    • Randall seconded this motion.
  • Andre played with the API, noted lots of errors with one of his custom code.
    • After some length of time, he determined the cause to be the order the headers are included matter, specifically the excections must be the first include statement in his source file.
    • He suggested that this be documented.
    • Andrew suggested that this may be fixed by having the auto generated header files include these in the specific order such that end users of the API don't have to deal with this.
    • Andre noted that the order of the header files shouldn't matter and it should be investigated regardless.
  • Andre also found that one specific TeLICeMS related source file included Utilities.hxx even though it didn't need any of its functionalities.

5) CellML core specs - update

  • Randall had a teleconferece call that discussed VPH share guidelines amongst multiple other topics.
    • Usage of CellML and FieldML with best practices were discussed.
    • Yubing Shi's cardiac models are being used as an example that followed a set of modelling guidelines.
    • However, to handle the reset rules for the valve model, Yubing followed our suggestion that some non-standard CellML prototype features have been used. This enabled one variant of the model to be successfully simulated, but another variant still can't be simulated using the CellML API CIS.
    • Andre suggested this is an example of the extensibility of CellML and it can still be used as best practice - use what CellML provide by default and use that as a best practice example as to when or how to extend the language when the feature needed is absent.
    • Peter agrees that this is just a small extension to get the model working, so it is fine.
    • CellML model repository also applies licencing guidelines which can also be used there.
    • Randall noted that there is also a data guideline, we may need more examples to include it.