Use pre-built packages¶
If you only need python interface, use pip. This is the easiest way to install Python interface. This solution has been tested for Linux and MacOSX.
pip install pymoose
We also build moose package with additional components such as gui and moogli.
moogli (tool to visualize network activity) is not available for CentOS-6.
Packages for gentoo
MacOSX support for moose-gui is not complete yet. However, the python-scripting interface can be installed on OSX using
$ brew tap BhallaLab/moose $ brew install moose
Or alternatively, via pip
$ pip install pymoose --user
Docker images of stable version are available from public repository.
$ docker pull bhallalab/moose $ docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY bhallalab/moose
This will launch xterm; run moosegui in terminal to lauch the GUI.
In case your distribution is not listed on our repository page , or if you want to build the latest development code, read on.
First, you need to get the source code. You can use
git (clone the
repository) or download snapshot of github repo by clicking on this link.
$ git clone https://github.com/BhallaLab/moose
(This will create folder called "moose") Or,
$ wget https://github.com/BhallaLab/moose/archive/master.zip $ unzip master.zip
If you don't want latest snapshot of
MOOSE, you can download other released
versions from here.
Next, you need to install required dependencies. Depending on your OS, names of following packages may vary.
- cmake (version 2.8 or higher)
- g++ (>= 4.6.x) For building the C++ MOOSE core.
- gsl-1.16 or higher.
- HDF5 (>=1.8.x) For reading and writing data into HDF5 based formats
Python interface for core MOOSE API (pymoose)¶
- Python2 ( >= 2.7.x) For building the MOOSE Python bindings
- Python-dev ( >= 2.7.x) Python development headers and libraries, e.g. python-dev or python-devel
- NumPy ( >= 1.6.x) For array interface, e.g. python-numpy or numpy
- NetworkX (1.x) For automatical layout
- pygraphviz For automatic layout for chemical models
- Matplotlib (>=1.1.x) For plotting simulation results
- python-libsbml For reading and writing chemical models from and into SBML format
Most of the dependencies can be installed using package manager.
$ sudo apt-get install libhdf5-dev cmake libgsl0-dev libpython-dev python-numpy
Ubuntu 12.04 does not have required version of
gsl (required 1.16 or
higher, available 1.15). On Ubuntu 16.04, package name is
$ sudo yum install hdf5-devel cmake libgsl-dev python-devel python-numpy
$ sudo zypper install hdf5-devel cmake libgsl-dev python-devel python-numpy
$ cd /to/moose_directory/moose-core/ $ mkdir _build $ cd _build $ cmake .. $ make $ ctest --output-on-failure # optional $ sudo make install
This will build pyMOOSE (MOOSE's python extention), ctest will run few tests to check if build process was successful.
To install MOOSE into non-standard directory, pass additional argument -DCMAKE_INSTALL_PREFIX=path/to/install/dir to cmake
$ cmake -DCMAKE_INSTALL_PREFIC=$HOME/.local ..
To use different version of python
$ cmake -DPYTHON_EXECUTABLE=/opt/python3/bin/python3 ..
After that installation is pretty easy
$ sudo make install
If everything went fine, you should be able to import moose in python shell.
>>> import moose
Graphical User Interface (GUI)¶
If you have installed the pre-built package, then you already have the GUI. You can launch it by runnung moosegui command in terminal.
$ git clone https://github.com/BhallaLab/moose-gui
Alternatively the moose-gui folder exists within the moose folder downloaded and built earlier in the installation process. It can be found under
Below are packages which you may want to install to use MOOSE Graphical User Interface.
- PyQt4 (4.8.x) For Python GUI
- Matplotlib ( >= 1.1.x) For plotting simulation results
- NetworkX (1.x) For automatical layout
- suds/suds-jurko (0.4) For accessing models hosted on biomodels database.
- python-libsbml For reading and writing signalling models from and into SBML format
Ubuntu/Debian, these can be installed with
$ sudo apt-get install python-matplotlib python-qt4
$ sudo yum install python-matplotlib python-qt4
Now you can fire up the GUI
$ cd /to/moose-gui $ python mgui.py
If you have installed
moose package, then GUI is launched by
running following commnad:
moogli is subproject of
MOOSE for visualizing models. More details can
be found here.
Moogli is part of moose package. Building moogli can be tricky because of multiple depednecies it has.
- OSG (3.2.x) For 3D rendering and simulation of neuronal models
- Qt4 (4.8.x) For C++ GUI of Moogli
To get the latest source code of
moogli, click on this link.
Moogli depends on
OpenSceneGraph (version 3.2.0 or higher) which may not
be easily available for your operating system.
For this reason, we distribute required
Depending on distribution of your operating system, you would need following packages to be installed.
$ sudo apt-get install python-qt4-dev python-qt4-gl python-sip-dev libqt4-dev
$ sudo yum install sip-devel PyQt4-devel qt4-devel libjpeg-devel PyQt4
$ sudo zypper install python-sip python-qt4-devel libqt4-devel python-qt4
After this, building and installing
moogli should be as simple as
$ cd /path/to/moogli $ mkdir _build $ cd _build $ cmake .. $ make $ sudo make install
If you run into troubles, please report it on our github repository.