Personal tools
You are here: Home Wiki CellMLRepositoryMigration
 
Views

Edit history

Edit: -1 of 1
Time: 2005-10-18 14:57:51
Note: /cellml/portal_migration/upgrade

changed:
-
This section discusses a pathway to implementing the CellMLRepositories.


===========================
CellML repository migration
===========================


This is the process a model in our current repository needs to
undergo to become part of the new repository systems as described in
the `cellml repository`_ documentation.  

Current status
==============

The current status of information relating to models is as follows:

1. The model source is located in the CellML model repository
   file-system, which is under CVS control(in the `cellml cvs
   repository`_) and is served to the public through HTTP(apache
   web-server).

   Example URL::

           http://www.cellml.org/examples/models/cAMP_PKA_cascade_2000.xml

2. There is some human readable documentation about the model and
   publication(s) it is supposed to represent on a web-page that is
   generated from docbook formatted data in the `cellml cvs
   repository`_.

   Example of rendered documentation::

           http://www.cellml.org/examples/repository/qualitative/cAMP_PKA_cascade_doc.html

3. Some models have biological annotation defined for them in the
   anatomy ontology.  The web interface for the anatomy ontology does
   not display these yet.  Even so, the data is available through the
   RDF representation that can be exported from the protege project
   file.  There are some pressing issues with the ontology
   representation, but these are dealt with elsewhere(see `cellml
   ontologies`_ for any relevant information).

   The initial instances for all the cellml models, their components,
   and the variables of the components were added through a script,
   but the actual linkage to biological concepts is being done by
   hand.

   
Initial outcome sought
======================

The outcome we are looking for initially is not a complete set of
features described in the `cellml repository`_ document. The most
immediate ones to implement are :

1. Models to be shifted to new location in the repository based on the
   CellML naming convention described in the `cellml repository`_
   document.  There is one location where publicly available models
   are placed.

2. All associated data to be serialised into these model files also.
   This means we need to:

   1. keep existing meta-data in these files

   2. add the biological annotation from the anatomy ontology(see 3 of
      `Current status`_) to these files

   3. add the descriptions from the web-page(see 2 of `Current
      status`_) to these files.  This could be added to the anatomy
      ontology and pulled out in the same way as the biological
      annotation in 2 is.

3. The models are made available through the CellML plone site.  Each
   model is represented as an XML object and a default XSLT transform
   used to render some of the meta-data as the public interface.  This
   requires we settle on a particular RDF serialisation form, such as
   abbreviated, so that XSLT becomes a viable option for this.

4. A simple work-flow is setup to allow people to add new models that
   are to be reviewed and published as part of the repository.  The
   simplest is that public users are allowed to upload new file
   objects to a particular directory on the site(dubbed the public
   `inbox`).  The names of the models should follow the naming
   convention set out in the `cellml repository`_ document. Any
   associated biological data should be added either as meta-data
   within that model file or in a plain text file with the same name
   as the model file but with a .txt extension instead of .xml.  These
   are marked as private so that they are not publicly available.  A
   reviewer with the appropriate role has access to these files and
   can download them to review.  We should perhaps put these files
   into the cvs under a review subsection so that conflicts do not
   occur between reviewers as they review and modify them in their
   local workspaces.  Using the Plone/Zope locking/version system is
   probably not a good option.  One possible solution is that all
   files uploaded to this public `inbox` could be automatically passed
   through into the cvs repository. The other option is that a
   reviewer checks a submission in the `inbox` and pushes it through
   to the cvs repository by calling a method themselves.  They can
   resolve conflicts.

   In the future we can build in automatic creation of tickets for
   reviewers to accept responsibility for individual models that are
   to be reviewed. This will be fleshed out in more detail later in
   the `cellml repository`_ document.

   Once a reviewer thinks a model is ready to publish they move it to
   the public portion of the CVS repository.  These will automatically
   become published to the repository interface of the CellML site.

   (I don't know about others, but maybe it is time to move from CVS
   to `subversion`_.  It's quite nice.)

5. An RSS feed is established for CellML models through the CellML
   site repository interface.

6. Public users should be able to add natural language comments to
   model objects through the CellML website interface.


Test case
=========

We should implement the features from `Initial outcome sought`_ on one
or two models to see what we think.  To do this we need to:

1. Identify two models from the repository for which there is
   sufficient biological annotation in the anatomy ontology.

2. Add the website descriptions to the ontology data for these models.
   At the moment this should just be escaped HTML.  We can work on a
   better schema for this in the future.

3. Make copies of the original models in the CVS repository and put
   these(named appropriately) into the new location.

4. Export the RDF form of the biological annotation for the two models
   from the anatomy ontology.  Run this through an RDF serialiser to
   transform into the RDF-abbreviated form.  Insert this manually into
   the two new model files in the CVS repository.  This will require
   adding the appropriate cmeta:id identifiers on the relevant CellML
   elements.

5. Implement the CVS repository -> CellML website object tool.

6. Implement the XSLT transform for the models.

7. Turn on public commenting and RSS syndication.

8. Add the public `inbox`.  For now a reviewer can download the files
   and manually add them to the review section of the CVS repository
   and delete them from the `inbox`.

9. Add appropriate reviewer roles and check permissions.







.. _`cellml repository` : CellMLModelRepositories

.. _`cellml cvs repository` : http://cellml-dev.bioeng.auckland.ac.nz/admin_info/website_howto.html

.. _`cellml ontologies` : CellMLOntologies

.. _`subversion` : http://subversion.tigris.org/