Morpheus has a number of nifty tools to optimize your work flow from model development to high performance computing.
Here, we present some use cases that use these features.
Multiscale modeling often involves the integration of existing models. For example, combining an existing cell-based CPM model (CPM.xml) with an ODE model (ODE.xml) regulating, say, the cell cycle of each cell.
Morpheus lets you copy and paste parts of a model between different documents.
This allows you to copy the System
from ODE.xml containing the ODE equations and parameters (right-click → Copy). And then paste it inside the CellType
element in the CPM.xml document (right-click → Copy).
You can paste elements only in appropriate places, otherwise it will be greyed out. This ensures validity of the model.
All copied elements are shown in the ClipBoard
.
Testing models frequently involves switch things on and off to observe their effects. Morpheus allow you to do this without losing your contents by using Right-Click → Disable
. The selected element and everything below it will be commented out in the XML file.
This mechanism also allows you to compare submodels. If you want to compare two versions of an ODE system, you can have both System
elements in your model, with one disabled. Switching ODE systems then only involves enabling/disabling both. This provides a quick way to compare submodels within exactly the same context.
During model construction and testing, graphical output and visual feedback is important to debugging, spot erros and guide development.
Yet, during serious simulation (production work), you do not want to be bothered by pop-up windows and graphics that slow down simulation.
Morpheus therefore distuingishes between an interactive
and local
simulation execution mode.
Job queue | Purpose | Behavior |
---|---|---|
Interactive | Testing mode | Start and stop simulations from toolbar buttons. Uses pop-up messages for simulation errors. Directs visual output to on-screen terminal. Overrides Gnuplotter terminal to wxt (Linux), aqua (Mac) or win (Windows). |
Local | Normal simulation | Start simulations from toolbar buttons. Nonintrusive messages. Visual output to file, unless specifies otherwise. |
Remote | Remote batch processing | Submit job to remote queuing system (e.g. LSF) on remote high performance computing resource. Note: Feature not available in public version |
Snapshots and initial conditions
Checkpointing is taking snapshots of the state of an application during its execution. In computer science, this is used as a fault tolerance mechanism by using these snapshots to restart the application in case of failure.
But it is also a useful tool for modeling. It allows you to use the result of one simulation as initial condition for another model. Ad therefore enables the construction of complex initial conditions.
You can specify the interval between snapshots in Time / SaveInterval
. Simulation states are saved as a regular XML model description file, but compressed: [model].xml.gz. The current state of all cells is in CellPopulations / Population
. You can copy this element to act as an initial population for another model.
These files can be opened within Morpheus by a double-click.
Note: PDE data is currently not saved in these files because of the amount of data. We are looking for alternative ways to store and restore these data.
Note: If you want to use checkpointing to construct a complex initial condition, you
Often, realistic tissue geometries are an important factor in the study of tissue formation. To configure models with realistic tissue geometries, Morpheus allows you to import (segmented) microscopy data in the form of multipage TIFF images.
TIFF images can be 8, 16 or 32 bit. Multipage images are interpreted as 3D images (XYZ). All pixels/voxels with identical values are interpreted as beloning to the same cell.
You can find this plugin under CellPopulations / Populations / TIFFReader
.
Note that Morpheus is also able to export TIFF images, see Analysis / TIFFPlotter
.