Skip to main content

A set of metabolic model analysis tools for PySCeS.

Project description

Documentation Status


This is a set of metabolic model analysis tools for PySCeS.

PySCeSToolbox currently provides tools for:

  • Generalised supply-demand analysis.
  • Symbolic metabolic control analysis and control pattern analysis.
  • Generating model schemas from metabolic models.
  • Distinguishing between thermodynamic and kinetic contributions towards reaction rate.
  • Interactive plotting

PySCeSToolbox was designed to be used within the Jupyter notebook, but most of the core features should work in a normal Python script.

Documentation can be found at While all major tools have been documented, the documentation is still a work in progress.


An abbreviated list of requirements is given below. Python dependencies will be installed automatically when installing PySCeSToolbox via pip. For detailed operating system specific instructions on installing the requirements see the documentation at,


Required packages should automatically download and install when using the commands specified under Installation below.

Maxima is only a requirement for SymCA.


The latest release of PySCeSToolbox can be installed from PyPi by running the following commands in the terminal (or Windows equivalent):

pip install pyscestoolbox

To enable widgets you may need to run the following commands:

jupyter nbextension enable --py --sys-prefix widgetsnbextension
jupyter nbextension install --py --user d3networkx_psctb
jupyter nbextension enable --py --user d3networkx_psctb

The latest development version can be installed from GitHub with:

pip install git+

For the pre-2015-11-11 version:

pip install git+
pip install git+

Basic usage

To start a PySCeSToolbox session in a Jupyter notebook:

  1. Start up the Jupyter Notebook using the jupyter notebook command in the terminal
  2. Create a new notebook by clicking the New button on the top right of the window and selecting Python 2
  3. Run the following three commands in the first cell:
%matplotlib inline
import pysces
import psctb

Model files must be placed in ~/Pysces/psc/ if using Linux or C:\Pysces\psc\ for Windows.

Important notices

For readers of “Tracing regulatory routes in metabolism using generalised supply-demand analysis” published in BMC Systems Biology on 03/12/2015:

To use the IPython notebook file included as “Additional file 5” in the paper, please install the latest version of PySCeSToolbox specified under Installation.

The two PySCeS MDL model files included as “Addition file 1” and “Addition file 2” are required to run the notebook. They should be renamed to “Hoefnagel_moiety_ratio.psc” and “Curien.psc”, respectively. Further instructions are included within the notebook and on this page.

Firefox users should download these files using a different browser or switch to the new beta version of the BMC Systems Biology website.


Because this project is still in its infancy, future changes might break older scripts. These types of changes will be kept to a minimum and will be documented here.

Changes on 2017-02-09: Full cross compatibility

On 2017-02-09 Symca support via Maxima has been added to PySCeSToolbox on Windows. A configuration file located at C:\Pysces\psctb_config.ini can be used to specify the path to maxima.bat. By default, however, PySCeSToolbox should detect the path to maxima.bat automatically if it has been installed using the default options. This change should have no impact on any older scripts save for making them platform independent.

Changes on 2017-02-02: Dropped IPython Notebook 3.x.x support

As of 2017-02-02 IPython Notebook 3.x.x support has been dropped in favour of Jupyter 4.x.x. This should not affect the functioning of scripts (save for those based on versions before that of 2015-11-11). PySCeSToolbox will however require the Jupyter Notebook as of this date in order to use its interactive features. Note that ipywidgets (an automatically installed requirement for the Jupyter notebook) needs you to run the command “jupyter nbextension enable --py --sys-prefix widgetsnbextension” before enabling widgets in the notebook.

Changes on 2015-11-11: API changes

Major changes were made on 2015-11-11 that might break scripts coded before this date. These changes are related to the naming of methods and fields. For scripts older than 2015-11-11 we recommend using an older version of PySCeSToolbox (noted under Installation). Manual porting of scripts is also possible with details of necessary changes outlined under Porting scripts to latest version.

Porting scripts to latest version

Method and variable names and the analysis objects they belong to that were changed on 2015-11-11 are documented in the tables below. To port any older script simply change the old name of any method/variable to the new name.


Old name New Name
save save_session
load load_session
plot_data scan_results
mca_data mca_results
plot_decompose do_mca_scan


Old name New Name
reactions reaction_results
mca_data ec_results
reaction name* J_reaction name
par_scan do_par_scan

*reaction name refers to the naming of a reaction as it is defined in the model file.


Old name New Name
CC cc_results
CCn* cc_results_n
save save_session
load load_session
par_scan do_par_scan

*CCn refers to any of the additional result dictionaries that are created when an internal metabolite is fixed and the internal_fixed paramenter of do_symca is set to True


Old name New Name
plot_data scan_results
save_data save_results

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for PyscesToolbox, version 0.8.9.post2
Filename, size File type Python version Upload date Hashes
Filename, size PyscesToolbox-0.8.9.post2.tar.gz (79.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page