abc-sysbio

Stars
4

This is a fork of the Python package abc-sysbio. Compared to the official ABC-SysBio release, this fork has been significantly refactored, and all of the simulation code has been moved into my fork of cuda-sim (which derives from the last official cuda-sim release). It is still somewhat experimental, and there may be bugs that were introduced in the refactoring and not yet been found.

abc-sysbio implements likelihood free parameter inference and model selection in dynamical systems.

It is designed to work with both stochastic and deterministic models written in Python or Systems Biology Markup Language (SBML).

abc-sysbio combines three algorithms: ABC rejection sampler, ABC SMC for parameter inference and ABC SMC for model selection.

Contents

Prerequisites

Before trying to install and use abc-sysbio you must first install the following packages

numpy
matplotlib
libSBML (SBML interface)
scipy (ODE models)
cuda-sim (Nvidia GPU)

While the first two are essential, the latter three need only be installed if full use of abc-sysbio is required.

You can then install in the usual way by downloading the code, changing directory, and running python setup.py install.

Linux installation

If custom installation is required then replace <dir> with the full path to a location. This will be the location containing lib and bin directories (usually /usr/local by default).

The --prefix=<dir> option is recommended since it will guarantee that each package picks up the correct dependency.

These instructions are for old versions of packages and the newest versions should be used in their place.

If the target <dir> is write protected, the user may need to use sudo make install instead of make install.

  1. Download and install python

    tar xzf Python-2.6.5.tgz cd Python-2.6.5 ./configure --prefix= --enable-shared make make install

Make sure this new version of python is picked up by default

export PATH=<dir>/bin:$PATH  (for BASH)
setenv PATH <dir>/bin:$PATH
  1. Download and install numpy

    tar xzf numpy-1.4.1rc2.tar.gz cd numpy-1.4.1rc2 python setup.py install --prefix=

  2. Download and install matplotlib

    tar xzf matplotlib-0.99.1.2.tar.gz cd matplotlib-0.99.1.1/ python setup.py build python setup.py install --prefix=

  3. Download and install swig. Note that this is required by libsbml and it must be at least version 1.3.39

    tar -xzf swig-1.3.40.tar.gz cd swig-1.3.40 ./configure --prefix= make make install

  4. Download and install libSBML

    unzip libsbml-4.0.1-src.zip cd libsbml-4.0.1 ./configure --with-python= --prefix= --with-swig= make make install

  5. Download and install scipy

Note that scipy requires ATLAS but should be included in most linux distributions. You need to locate the ATLAS libraries

tar xzf scipy-0.7.2rc2.tar.gz
cd scipy-0.7.2rc2
export ATLAS=/full/path/to/atlas/libraries
python setup.py build
python setup.py install --prefix=<dir>
  1. Download and install cuda-sim (optional)

  2. Install abc-sysbio In the unzipped abc-sysbio package directory do

    python setup.py install --prefix=

This places the abcsysbio package into

<dir>/lib/python2.6/site-packages/

and writes the scripts

<dir>/bin/abc-sysbio-sbml-sum
<dir>/bin/run-abc-sysbio

Add the script directory to the path (must be done in each session or added to .bashrc or .cshrc file)

export PATH=<dir>/bin:$PATH  (bash shells)
setenv PATH <dir>/bin:$PATH  (c shells)

Then the command

run-abc-sysbio -h

should display a list of options and you are ready to run the examples.

Mac OS installation

It is recommended that you install Python/Numpy/Matplotlib together using the Scipy Superpack, Enthought Canopy or Anaconda.

You can then install libSBML using these instructions

Download the ABC-SysBio package and unzip it. Open a terminal and type:

 cd abc-sysbio-2.07
 sudo python setup.py install 

This places the ABC-SysBio package into

 /Library/Python/2.7/site-packages/

and writes the scripts

 /usr/bin/abc-sysbio-sbml-sum
 /usr/bin/run-abc-sysbio

Then the command

 run-abc-sysbio -h

will display a list of options and you are ready to run the examples.

Related Projects