GET Documentation

Welcome to the documentation for the Generalised Epithelial Transport (GET) project. Here we will endeavour to document the various aspects of the GET project and provide tutorials on the use of this suite of tools. Currently the documentation for the Physiome Modeller is hosted here as that tool makes use of the GET framework, but as the GET tools evolve beyond epithelial cell transport we imagine the distinction between GET and Physiome Modeller will become blurred and we will refactor into a single project at that stage.

Contents:

The GET Framework

Generalised Epithelial Transport (GET) is a project aimed at providing a user-friendly, web-based, computational modelling tool for epithelial cell transport, particularly in regard to the kidney. Recent presentations providing an overview of these tools are available:

With the GET framework we hope to provide a user-focused tool for investigations of epithelial transport across the spatial scales from molecular mechanisms through to collections of cells (e.g., the renal nephron). Libraries of existing mathematical models and simulation experiments will be made available to users for the:

  • investigation/application of previous studies;
  • development of new studies based on previous work;
  • validation of new or existing work with new experimental data or computational tools.

In developing the GET framework we have tried to take a modular approach, separating functional modules into their own reusable libraries or modules. Below we present the current list of modules in the GET framework and their current status.

GET library

The GET library is the collection of CellML models which form the library of reusable modules utilised by the GET tools to create modular epithelial cell model descriptions. SED-ML will be used to provide descriptions of the simulation experiments to accompany the mathematical models in the library, to demonstrate specific instantiations of the models into simulation experiments. The library is available via both a Physiome Repository workspace and BitBucket. The Physiome Repository workspace should be considered the primary source and we maintain the clone on BitBucket to take advantage of the range of Mercurial management tools available on that platform. The ease with which we can do this demonstrates one of the advantages of using a distributed version control system like Mercurial.

The GET library currently consists of the core modules used by GET creator. The intention is to extend this library with a collection of curated CellML encodings of a range of epithelial transporters and whole cell models. The current collection of uncurated models can be seen in the renal nephron workspace.

GET creator

GET creator is the tool within the GET framework which focuses on the automated creation (and potentially editing in the future) of epithelial cell models via the assembly of constituent components from the GET library. In this manner, users are able to rapidly create customised epithelial cell models which capture the level of detail they require for their specific investigation. Through the incorporation of knowledge about the modules available in the library, GET creator is able to automatically define the glue which binds the generic modules together (i.e., summing all fluxes of a particular molecule through a given membrane).

We aim to infer model encoding requirements from annotations of the models contained in the GET library, but currently GET creator has that knowledge embedded directly in the code. By shifting this knowledge to the model annotations, our approach will be extensible to any sufficiently annotated model that might be added to the library in the future. This will become important as the scope of the library extends beyond the current core models.

GET creator is designed as a library with a clearly defined programming interface. The code repository contains a demonstration application which makes use of this library to start the process of creating the model described by Latta et al (1984). While this test application is complete, the generated CellML model is not yet complete.

In addition to creating the CellML model configured for the users specific requirements, GET creator will also be able to customise generic simulation experiment descriptions from the GET library that are deemed suitable for the model being constructed. While certain basic simulation experiments that might be suitable can be inferred from the library models being integrated into the new cell model, further guidance from the user will result in a more comprehensive suite of simulation experiments being generated. In this manner, we envision the incorporation of some of the functional curation concepts developed for cardiac electrophysiology models could be transfered to epithelial cell transport models.

GET simulator

GET simulator is the simulation engine for the GET framework. Underneath, GET simulator makes use of CSim, a generic CellML simulation tool with both a command line client and a reusable library.

While whole epithelial cell models can be encoded in CellML and those models can be simulated by standard CellML-capable simulation tools, in most cases that will not be the full experiment the user desires to run. Instead, the method described by Latta et al (1984) has been implemented in GET simulator in order to solve for mass and charge conservation. The idea is that GET simulator makes use of CSim to evaluate parts of the model while following the Latta et al (1984) algorithm for solving the current state of the whole cell.

As mentioned above, SED-ML is used to encode the descriptions of the simulation experiments to be executed. SED-ML makes use of the Kinetic Simulation Algorithm Ontology (KiSAO) to describe the numerical method to be used when executing a particular numerical simulation task. KiSAO does not currently contain suitable terms to describe the simulation algortihm implemented by GET simulator. So we are making use of a proposed extension for SED-ML for the inclusion of custom simulation algorithms. In this manner, we are able to encode our epithelial cell simulation experiments in generic SED-ML with all the advantages that that offers, but still have a method by which to inform other simulation engines that a specific algorithm is required. A suitable fall-back algortihm can also be defined such that simulation engines are able to perform the default integration of the cell model as mentioned above.

GET web application

The GET web application is an attempt to provide a web-based drag-and-drop interface for assembling epithelial cell models. This interface makes use of the GET library and GET creator tools above via web services provided by the GET model server. You can see a screenshot of the current state of the interface embedded in the Physiome Modeller interface here.

GET model server

The GET model server is a prototype web server providing access to the GET framework via standard web services. These services are specific to the GET framework, but as the project develops common tools will be extracted out as proposed features to be implemented as part of the software which runs the Physiome Repository.

Physiome Modeller

Physiome Modeller was developed initially as a prototype to demonstrate the interaction between a web-application and OpenCMISS-Zinc in the presentation and interaction with a multiscale, physiome-style, computational model. The primary focus of the demonstration was on the kidney, and hence the tool currently provides the greatest level of detail for the kidney, nephron, and renal epithelial cells.

_images/initial.png

A further aim for the Physiome Modeller was to integrate our previous work on a renal nephron browser (doi: 10.1098/rsfs.2010.0032, shown below) and reference descriptions of CellML models (doi: doi: 10.1109/IEMBS.2008.4649689 and doi: 10.1093/bioinformatics/btn080, shown below) with the tools being developed under as part of the GET framework, in particular the GET web application. While a purely web-based solution is desireable, the particular technology currently (and used in the nephron browser) used for the interactive three-dimensional visualisation (OpenCMISS-Zinc) is not readily available for easy use across the main operating systems and web browsers.

The nephron browser interface.

_images/nephron-browser.png

The interactive reference description for CellML models.

_images/reference-description.png

So while the Physiome Modeller is a Python desktop application, it is conceptually just a wrapper around a web browser which provides the link to the OpenCMISS-Zinc scene viewer, as shown below. In this manner, we are able to develop the GET tools as standard Javascript web applications and then directly connect them to the three-dimensional graphics with the expectation that once Zinc is available natively in the web browser the python wrapper can be easily replaced with a native Javascript implementation.

_images/initial-annotated.png

Overview

The three aspects of the Physiome Modeller user interface are:

  • the tree view on the left, allowing the user to navigate through the spatial scales;
  • the centre panel, which displays the actual content; and
  • the right panel shows the interactive graphical rendering of the model – i.e., the same as the nephron graphic in the original nephron browser.

In the example shown below, you see the “human” spatial scale where you get the search results for all data in the Physiome Repository matching “circulatory system” in the content pane and a whole body to play with in the graphical view.

_images/initial.png

Since we are using our fully fledged visualisation toolkit, we have access to all sorts of useful functionality. In this screen shot we have displayed some of the original images used to create this computational model (in this case from the visible human data set).

_images/image-slices.png

and here showing that as the user “zooms” in to the model, the skin has disappeared to allow uninterrupted views of the components of the human circulatory system.

_images/circulatory-system.png

In the Physiome Modeller, the user is able to navigate through the spatial scales, for the renal system only, either “automatically” by zooming in on the appropriate region of the graphical display; or by selecting the desired scale in the tree view on the left panel. Here we have shifted to the kidney (organ spatial scale) and can now see all search results from the Physiome Repository related to the kidney (in the centre panel) and the graphical rendering shows the larger vessels of the renal vasculature.

_images/renal-vasculature.png

Zooming in further, the user drops down to the sub-organ spatial scale and is presented with the nephron model (from the previous nephron browser) and accompanying nephron search results from the repository.

_images/nephron-model.png

Further zooming now drops the user down to the cell spatial scale. In the demonstration shown below, the user is presented with a certain epithelial cell model in the graphical rendering pane, but that has been hidden in this screen shot to allow a better view of the GET web application now being embedded inside the Physiome Modeller user interface. While not actually integrated into one web application, it does at least present a common look and feel across the tools and show where things are heading. The user is also able to easily navigate back up to the higher spatial scales, so that once we get the simulation capabilities all hooked up you could imagine how a user could “edit” their cell model in this view and then run whole nephron or kidney simulations and quick access the simulation results all in one tool.

_images/embedded-get-web-application.png

When available for the current model being displayed, it is also possible for the user to browse an embedded version of the CellML reference description (described above), as shown below. Again, the model visualisation panel has been hidden.

_images/embedded-reference-description.png

Glossary

Clone
Clone is a Mercurial term that means to make a complete copy of a Mercurial repository. This is done in order to have a local copy of a repository to work in.
Embedded workspace
Embedded workspaces
A Mercurial concept that allows workspaces to be nested within other workspaces.
Exposure
Exposures

A publicly available page that provides access to and information about a specific revision of a workspace. Exposures are used to publish the contents of workspaces at points in time where the model(s) contained are considered to be useful.

Exposures are created by the PMR software, and offer views appropriate to the type of model being exposed. CellML files for example are presented with options such as code generation and mathematics display, whereas FieldML models might offer a 3D view of the mesh.

Fork
A copy of the workspace which includes all the original version history, but is owned by the user who created the fork.
Mercurial
Mercurial is a distributed version control system, used by the Physiome Model Repository software to maintain a history of changes to files in workspaces. See a tour of the Mercurial basics for some good introductory material.
Pull
Pulling
The term used with distributed version control systems for the action of pulling changes from one clone of the repository into another. With PMR, this usually implies pulling from a workspace in the model repository into a clone of the workspace on your local machine.
Push
Pushing
The term used with distibuted version control systems for the action of pushing changes from one clone of the repository into another. With PMR, this usually implies pushing from a workspace clone on your local machine back to the workspace in the model repository, but could be into any other clone of the workspace. See a tour of the Mercurial basics for some good introductory material.
Python
Python is a programming language that lets you work more quickly and integrate your systems more effectively. See http://python.org for all the details.
Synchronize
Used to pull the contents or changes from other Mercurial repositories into a workspace via a URI.
Workspace
Workspaces
A Mercurial repository hosted on the Physiome Model Repository. This is essentially a folder or directory in which files are stored, with the added feature of being version controlled by the distributed version control system called Mercurial.

To do list

General

Within sections

This is the GET documentation project, providing the documenation for GET and related projects. The live version of this documentation is available at: http://get-documentation.readthedocs.org/.

Indices and tables