MPC Physiome

About IMAG

MPC, the semi-automated Modular Program Constructor

MPC is an open-source Java based modeling utility, built upon JSim's Mathematical Modeling Language (MML), JSim website, that uses directives embedded in model code to construct larger, more complicated models quickly and with less error than manually combining models.

Getting Started:

Modular Program Constructor (MPC): in-depth examples:

The Modular Program Constructor (MPC) has been designed to work with
JSim's Mathematical Modeling Language (MML).  MPC is a pre-compiler written in
Java. It reads an input file, FileName.mpc, and generates an output file,
FileName.mod, a JSim model file. The input file combines MML with “directives”
embedded as comments and is able to utilize code from other JSim model files
%” so they are comments. Directives control the identification, fetching, 
relabeling of variables and parameters, and assembling and recombining code into 
new equations.  MPC currently has thirteen directives:

%COM (comment directive not copied to final model file)
%START codeBlockName
%END codeBlockName
%INSERTSTART codeBlockName
%INSERTEND codeBlockName
%  continuation, used only with GET, REPLACE, and COLLECT directives
%GET Model.mod codeBlockName (“oldName1=newName1”, ...)
%SETGLOBALVAL %replacer%=("replacement")
%REPLACE %replacer%=(“replacement1”, ... “replacementN”)

Download the presentation and MPC Guide for details (below).

Project file contains the ODE generated version of the diffusion equation using
the SETGLOBALVAL directive and finite difference approximation and compares the 
result with the PDE solution. (Run setglobalval model).

Project file shows an ode model of a transporter between two compartments and
a pde model of a four species transporter both generated using much of the
same code. (run getODE and getPDE; run Loops on getPDE to explore the effect of
cold substrate on the outflow of tracer substrate.)

Final three models illustrate generating models sequentially to build reuseable
models of increasing complexity to simulate an organ-level model with heterogeneous
flow for two substrates. The models are
BTEX30: a three region model (capillary, interstitial fluid region, and
        parenchymal cell) with flow, diffusion, exchange between regions, and
        consumption for single metabolite A. (Plotted on BTEX30plotpage.)

The following two models are plotted on plotpages with prefix B30.
BTEX30A2B: two copies of BTEX30 for two species with enzymatic conversion of
           metabolite A to metabolite B in parenchymal cell.
BTEX30A2B10paths: a copy of BTEX30A2B is modified removing the flow declaration.
                  A ten flow path model is generated combining 10 copies of the
                  modified BTEX30A2B model with the multiflow algorithm.

View MPC examples in JSim: 

    Help running a JSim model.

Download MPC examples JSim project file:

JSim must be installed locally.

Further reading:    

Related Models

Model Feedback


Please cite in any publication for which this software is used and send one reprint to the address given below:
The National Simulation Resource, Director J. B. Bassingthwaighte, Department of Bioengineering, University of Washington, Seattle WA 98195-5061.

Model development and archiving support at provided by the following grants: NIH U01HL122199 Analyzing the Cardiac Power Grid, 09/15/2015 - 05/31/2020, NIH/NIBIB BE08407 Software Integration, JSim and SBW 6/1/09-5/31/13; NIH/NHLBI T15 HL88516-01 Modeling for Heart, Lung and Blood: From Cell to Organ, 4/1/07-3/31/11; NSF BES-0506477 Adaptive Multi-Scale Model Simulation, 8/15/05-7/31/08; NIH/NHLBI R01 HL073598 Core 3: 3D Imaging and Computer Modeling of the Respiratory Tract, 9/1/04-8/31/09; as well as prior support from NIH/NCRR P41 RR01243 Simulation Resource in Circulatory Mass Transport and Exchange, 12/1/1980-11/30/01 and NIH/NIBIB R01 EB001973 JSim: A Simulation Analysis Platform, 3/1/02-2/28/07.