GNU MCSim

Category Cross-Omics>Agent-Based Modeling/Simulation/Tools

Abstract MCSim is a general purpose modeling and simulation system which can perform standard or Markov chain Monte Carlo simulations.

It allows you to specify a set of linear or nonlinear algebraic equations or ordinary differential equations (ODEs). They are solved numerically using parameter values you choose or parameter values sampled from statistical distributions.

Simulation outputs can be compared to experimental data for Bayesian parameter estimation (model calibration).

MCSim is a simulation and statistical inference tool for algebraic or differential equation systems.

Other programs have been created to the same end, the MATLAB family of graphical interactive programs being some of the more general and easy to use.

Still, many available tools are Not optimal for performing computer intensive and sophisticated Monte Carlo analyses.

MCSim was created specifically to this end: to perform Monte Carlo analyses in an optimized, and easy to maintain environment.

The software consists in two (2) pieces, a model generator and a simulation engine:

1) The model generator, "mod", was created to facilitate structural model definition and maintenance, while keeping execution time short. You code your model using a simplified syntax and mod translates it into C.

2) The simulation engine is a set of routines that are linked to your model to produce executable code.

After linking, you will be able to run simulations of your structural model under a variety of conditions, specify an associated statistical model, and perform Monte Carlo simulations.

Model building and simulation proceeds in four (4) stages --

1) You create a model description file with any text editor (e.g., emacs).

The syntax of the model description file allows you to describe the model variables, parameters, equations, inputs and outputs in a C-like fashion without having to actually know how to write a C program.

2) You instruct the model generator, mod, to preprocess your structural model description file. Mod creates a C file, called 'model.c'.

3) You compile and link the newly created 'model.c' file together with a library containing the other C routines (or with the other C files from the `MCSim/sim' directory).

MCSim C code is standard, so you should be able to compile it with any standard C compiler, for example GNU gcc.

After compiling and linking, an executable simulation program is created, specific to your particular model.

These preprocessing and compilation steps can be performed in UNIX with a single shell command.

4) You then write any number of 'simulation specification' files and run them with the compiled MCsim program.

These simulation files describe the kind of simulation to run (simple simulations, Monte Carlo etc.), various settings for the integration algorithm if needed, and a description of one or several simulation conditions.

The simulation output is written to standard American Standard Code for Information Interchange (ASCII) files.

Note: Little or No knowledge of computer programming is required, unless you want to tailor the program for special needs.

Under UNIX, a graphical user interface written in Tcl/Tk, called XMCSim, is also provided.

This menu-driven interface automates the compilation and running tasks. It also offers a convenient interface to 2-D and 3-D plotting of the simulation results.

Types of simulations -- Five (5) types of simulations are available --

1) A simple simulation will solve the equations you specified, using the default parameter values in the simulation specification file.

User-requested outputs are sent to an output file of your choice.

2) "Monte Carlo" simulations will perform repeated (stochastic) simulations across a randomly sampled region of the model parameter space.

3) A Markov-chain Monte Carlo (MCMC) simulation performs a series of simulations along a Markov chain in the model parameter space.

In MCMC simulations the random choice of a new parameter value is influenced by the current value.

They can be used to obtain the Bayesian posterior distribution of the model parameters, given a statistical model, prior parameter distributions (that you need to specify) and data for which a likelihood function can be computed.

The program handles hierarchical (e.g., random effects and mixed effects) statistical models.

4) A "SetPoints" simulation solves the model for a series of specified parameter sets, listed in a separate ASCII file.

You can create these parameter sets yourself (on a regular grid, for example) or use the output of a previous Monte Carlo or MCMC simulation.

5) An "OptimalDesign" procedure optimizes the number and location of observation times for experimental conditions, in order to minimize the variance of a parameter or an output you specify, given a structural model, a statistical model, and prior distributions for their parameters.

Note: Starting with MCSim version 5.3.0, models coded in Systems Biology Markup Language (SBML) can also be used.

System Requirements

MCSim is written in ANSI-standard C language. The manufacturers are distributing the source code and you should be able to compile it for any system, provided you have an ANSI C compliant compiler.

Starting with version 5 MCSim is using routines from the GNU Scientific Library (gsl). Version 1.5 (or higher) of the shared gsl library, gslcblas library, and gsl include files should be installed on your system.

On a UNIX or GNU/Linux system the manufacturers recommend the GNU gcc compiler (freeware). The automated installation script checks for the availability on your system of the tools needed for compilation and proper running of the software.

It should warn you of missing components and eventually adapt the installation to your environment (for example by generating only the documentation formats that you can read).

For other operating systems (MacOS, Windows...) you will need a C language development environment or at least a compiler, and some familiarity with it. Here also you might consider installing a freeware version of gcc, such as djgpp.

To run the graphical user interface (GUI) XMCsim, you need a GNU/Linux or UNIX system with "XWindows", "Tcl/Tk" and "wish" installed.

Manufacturer

Manufacturer Web Site GNU MCSim

Price Contact manufacturer.

G6G Abstract Number 20475

G6G Manufacturer Number 104100