There are two different ways to install and use PySB:
Install PySB natively on your computer (recommended).
Download a Docker container with PySB and Jupyter Notebook. If you are familiar with Docker, PySB can be installed from the Docker Hub by typing docker pull pysb/pysb. Further details are below.
Need Help? If you run into any problems with installation, please visit our chat room: https://gitter.im/pysb/pysb
Option 1: Install PySB natively on your computer
Our recommended approach is to use Anaconda, which is a distribution of Python containing most of the numeric and scientific software needed to get started. If you are a Mac or Linux user, have used Python before and are comfortable using pip to install software, you may want to skip this step and use your existing Python installation.
Anaconda has a simple graphical installer which can be downloaded from https://www.continuum.io/downloads - select your operating system and download the 64 bit version. Both Python 2.7 and 3.6 are supported. The default installer options are usually appropriate.
The installation is very straightforward with conda - type the following in a terminal:
conda install -c alubbock pysb
You may wish to use the Anaconda prompt, which sets up the Anaconda paths automatically, rather than the standard command prompt or terminal on your operating system. Otherwise, you may have to use the full path to the conda command each time, and may end up using the system version of Python, rather than the Anaconda one.
You can also install PySB using pip, but in that case you will need to manually install BioNetGen into the default path for your platform (/usr/local/share/BioNetGen on Mac and Linux, c:\Program Files\BioNetGen on Windows), or set the BNGPATH environment variable to the BioNetGen path on your machine.
Start Python and PySB
If you installed Python using Anaconda on Windows, search for and select IPython from your Start Menu (Windows). Otherwise, open a terminal and type python to get started (or ipython, if installed).
You will then be at the Python prompt. Type import pysb to try loading PySB. If no error messages appear and the next Python prompt appears, you have succeeded in installing PySB!
Recommended additional software
The following software is not required for the basic operation of PySB, but provides extra capabilities and features when installed.
cython or weave Cython is a package for compiling Python code into C code on the fly. It is used by PySB's ScipyOdeSimulator to greatly improve the speed of ODE integration. PySB will detect and use Cython automatically, if available. To install with Anaconda, type conda install cython. With pip, type pip install cython.
Weave performs the same job as Cython, and is slightly faster in some circumstances. It is only available on Python 2. To install with Anaconda, type conda install -c conda-forge weave. With pip, type pip install weave.
This Python package allows you to plot the results of your simulations. It is not a hard requirement of PySB but many of the example scripts use it. matplotlib is included with Anaconda. Otherwise, it can be installed with pip install matplotlib.
This Python package provides extra capabilities for examining large numerical datasets, with statistical summaries and database-like manipulation capabilities. It is not a hard requirement of PySB, but it is a useful addition, particularly with large sets of simulation results. pandas is included with Anaconda. Otherwise, it can be installed with pip install pandas.
Kappa is a rule-based modeling tool that can produce several useful model visualizations or perform an agent-based model simulation. PySB optionally interfaces with its KaSim simulator and KaSa static analyzer.
To install Kappa for PySB use, put the KaSim executable (and optionally KaSa if you have it) in /usr/local/share/KaSim (Mac or Linux) or C:\\Program Files\\KaSim (Windows). If you would like to put it somewhere else, set the KAPPAPATH environment variable to the full path to the folder containing the KaSim and KaSa executables. Note that if you have downloaded the official binary build of KaSim, it will be named something like KaSim_4.0_winxp.exe or KaSim_4.0_mac_OSX_10.10. Regardless of where you install it, you will need to rename the file to strip out the version and operating system information so that you have just KaSim.exe (Windows) or KaSim (Mac or Linux).
On Anaconda, Kappa can be installed with conda install -c alubbock kappa.
Option 2: Docker container with PySB and Jupyter Notebook
Docker is a virtualization platform which encapsulates software within a container. It can be thought of like a virtual machine, only it contains just the application software (and supporting dependencies) and not a full operating system stack.
Install Docker and the PySB software stack
To use PySB with Docker, first you'll need to install Docker, which can be obtained from https://www.docker.com/community-edition#/download (Windows and Mac). Linux users should use their package manager (e.g. apt-get).
Download the PySB software stack from the Docker Hub
On the command line, this requires a single command:
docker pull pysb/pysb
This only needs to be done once, or when software updates are required.
Start the container
Start the Docker container with the following command (on Linux, the command may need to be prefixed with sudo):
docker run -it --rm -p 8888:8888 pysb/pysb
This starts the PySB Docker container with Jupyter notebook and connects it to port 8888.
Open Jupyter Notebook in a web browser
Open a web browser of your choice and enter the address http://localhost:8888 in the address bar. You should see a web page with the Jupyter notebook logo. Several example and tutorial notebooks are included to get you started.
Important notes for Docker installations
To see graphics from matplotlib within the Jupyter Notebook, you'll need to set the following option in your notebooks before calling any plot commands:
Any Jupyter notebooks created will be saved in the container itself, rather than on the host computer. Notebooks can be downloaded using the Jupyter interface, or a directory on the host computer can be shared with the container.
The PySB container builds on the Jupyter SciPy notebook, which contains further information on the options available for the container (such as sharing a directory with the host computer to preserve notebooks, setting a password and more). Documentation from the Jupyter project is available at https://hub.docker.com/r/jupyter/scipy-notebook/