Skip to content
/ STEPS Public
forked from CNS-OIST/STEPS

Public release repository for STochastic Engine of Pathway Simulation (STEPS)

License

Notifications You must be signed in to change notification settings

birkany/STEPS

 
 

Repository files navigation

Instructions

To facilitate new requirements from the parallel TetOpSplit solver, STEPS 3.0 and above uses CMake system to replace the Python distutil system in previous releases. Please follow the instructions below.

Minimum Prerequisites

  1. C++ compiler supporting c++11 (e.g. gcc 4.8, clang 3.3)
  2. Python2 (2.7.x recommended)
  3. NumPy (http://www.numpy.org/)
  4. CMake (https://cmake.org/)
  5. Either Cython (http://www.cython.org/) or SWIG (http://www.swig.org/)
  6. BLAS/OpenBLAS ( http://www.openblas.net/ )

See install Dependencies sections

Optional Prerequisites

  1. To use the parallel SSA solver TetOpSplit: MPI libraries (e.g. MPICH https://www.mpich.org/)
  2. To use the parallel EField solver: PETSc (https://www.mcs.anl.gov/petsc/)

Removing Previous STEPS Installation

Due to potential conflict, please remove any previous installed version below version 3.0.0, to check and remove previous release, enter the following commands in a terminal:

python -c "import steps; print steps.__file__"

The commands will provide you the path of your current STEPS installation, for example

/usr/local/lib/python2.7/site-packages/steps/__init__.pyc

you can remove the STEPS installtion in the above location via terminal command:

[sudo] rm -rf /usr/local/lib/python2.7/site-packages/steps

Installation From Source code

  1. Clone the repository using the folowing command in terminal
git clone https://github.com/CNS-OIST/STEPS.git
  1. run the following commands to compile the source code and install
cd STEPS
git submodule update --init --recursive
mkdir build
cd build
cmake ..
make
[sudo] make install

You can change the installation location by changing the prefix in CMake

cmake -DCMAKE_INSTALL_PREFIX:PATH=/MY_INSTALL_LOCATION ..

MPI and PETSc libraries are automatically detected in the system. If the user wants to manually choose to build STEPS with / without them it can set

cmake -DUSE_MPI=[True|False] -DUSE_PETSC=[True|False] ..

By default, Cython binding is used to generate the user interface, you can switch to SWIG binding by

cmake -DPYTHON_BINDINGS_CYTHON=OFF ..

Please refer to CMAKE documentation for customizing your installation

After installation, you can check the STEPS installation with the following commands

python -c "import steps; steps._greet()"

If STEPS is installed successfully, you should be able to see similar information as below

STochastic Engine for Pathway Simulation
Version:  3.1.0
License:  GPL2.0
Website:  steps.sourceforge.net
CXX Binding: Cython

Simulation with serial solvers

STEPS 3.0 and above contain all serial solvers in previous releases, to run STEPS in serial interactive mode, open Python and import the steps module

import steps

Scripts of serial STEPS simulations can be exexuted in terminal

python sim_script.py

Simulation with parallel TetOpSplit

At the moment STEPS does not provide the interactive interface for parallel TetOpSplit solver, thus parallel simulations need to be executed via scripts in terminal with "mpirun" command

mpirun -n N_PROCS python parallel_sim_script.py

N_PROCS is the number of MPI processes to be created for the parallel simulation.

Please refer to the documentation of your MPI solution for further customization.

Dependencies

Linux Debian based: apt-get install g++ gcc cmake libopenblas-dev libmpich-dev python-numpy cython python-scipy

OSX: brew install openblas mpich

Validation and Examples

  • Short validation tests (runnning in a few minutes, using serial solvers only) can be found in this repository, under test/validation
  • Longer validation tests (using serial and parallel solvers) can be found in the STEPS_Validation repository
  • Examples scripts (including tutorials and papers models) can be found in the STEPS_Example repository

Documentation

You can find STEPS user manual and other documentation from the STEPS official website http://steps.sourceforge.net

About

Public release repository for STochastic Engine of Pathway Simulation (STEPS)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 50.6%
  • Python 46.8%
  • CMake 1.6%
  • C 1.0%
  • Makefile 0.0%
  • Nix 0.0%