==== Work flow tools ==== 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. === Model development and testing === == Copy / paste between models == 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''. == Disable / enable == 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. == Interactive and local mode == 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 | === Simulation and initial conditions === == 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 == Image-based modeling == 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''. === Parameter exploration === * Spatial parameter sweep * Parameter sweeps * Analysis of parameter sweeps === Analysis === * Logging and plotting raw data * Frequency distributions / Histograms * Colors / Labels / Arrows * TIFF hyperstacks