Skip to content
Jupyter widget for the dynamic and static visualizations of systems biology models written in PySB, BNGL, and SBML
Jupyter Notebook Python JavaScript CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows pin old coverage version Jan 7, 2020
docs set working python packages for docs Nov 21, 2019
.gitignore Modified files of the cytoscape-jupyter-widget to visualize pysb models Nov 17, 2018
LICENSE Create License Apr 10, 2019 Fix tests Sep 24, 2019
graphml.png add info to atom rules notebook. Add remove images readme Nov 19, 2019
meta.yaml Add Conda recipe Dec 11, 2019
pyvipr_logo.png Added pyvipr logo Mar 24, 2019
setup.cfg Set long_description_content_type to markdown Dec 11, 2019


Documentation Status Binder Greenkeeper badge Gitter


PyViPR is a Jupyter widget that generates network dynamic and static visualizations of PySB, Tellurium, BNGL, SBML, and Ecell4 models using Cytoscape.js. Additionally, it can be used to visualize networks encoded in the graphml, sif, sbgn xml, cytoscape json, gexf, gml and yaml formats.

Trying it online

To try out PyViPR interactively in your web browser, just click on the binder link below:



From conda

To use with Jupyter Notebooks:

> conda install pyvipr -c ortegas

To use with JupyterLab:

> conda install pyvipr -c ortegas
> jupyter labextension install @jupyter-widgets/jupyterlab-manager
> jupyter labextension install pyvipr

From PyPI

To use with Jupyter Notebooks:

> pip install pyvipr

To use with JupyterLab:

> pip install pyvipr
> jupyter labextension install @jupyter-widgets/jupyterlab-manager
> jupyter labextension install pyvipr

From git (requires npm)

$ git clone
$ cd pyvipr
$ pip install .

How to use the widget

After installing the widget, it can be used by importing it in the Jupyter notebook. The widget is simple to use with PySB models, SimulationResult objects, Tellurium models and BNGL & SBML files.

PyViPR has three main interfaces: Graph formats, PySB, and a Tellurium.

Graph formats interface

This interface leverages NetworkX and Cytoscape.js to generate network visualizations of graphs encoded in different file formats.

Graphml example:

import pyvipr.network_viz as nviz

nviz.graphml_view('path_to_file/mygraph.graphml', layout_name='fcose')


PySB interface

PySB is needed to visualize PySB models and it is needed if you want to use the pyvipr.pysb_viz module:

Installing PySB from pip:

> pip install pysb

When using pip the installation of PySB requires 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.

Installing PySB from conda:

> conda install pysb -c alubbock

PySB static example:

import pyvipr.pysb_viz as pviz
from pyvipr.examples_models.lopez_embedded import model

pviz.sp_comm_louvain_view(model, random_state=1, layout_name='klay')


PySB Dynamic Example:

import pyvipr.pysb_viz as pviz
from pyvipr.examples_models.mm_two_paths_model import model
from pysb.simulator import ScipyOdeSimulator
import numpy as np

tspan = np.linspace(0, 1000, 100)
sim = ScipyOdeSimulator(model, tspan).run()


Tellurium interface

Tellurium is needed to visualize Tellurium models and it is needed if you want to use the pyvipr.tellurium_viz module:

Installing Tellurium from pip:

> pip install tellurium
import tellurium as te
import pyvipr.tellurium_viz as tviz

model = te.loadSBMLModel("")




To get started with using PyViPR, check out the full documentation


To cite PyViPR, please cite the iScience paper:

Interactive Multiresolution Visualization of Cellular Network Processes

Ortega O and Lopez C



You can’t perform that action at this time.