Skip to content

Jupyter widget for the dynamic and static visualizations of systems biology models written in PySB, BNGL, and SBML

License

Notifications You must be signed in to change notification settings

LoLab-MSM/pyvipr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5b005fe · Apr 4, 2022
Jun 24, 2021
Mar 16, 2020
Nov 9, 2020
Apr 4, 2022
Apr 4, 2022
Nov 17, 2018
Apr 10, 2019
Sep 24, 2019
Mar 21, 2020
Apr 1, 2022
Dec 4, 2018
Nov 19, 2019
Nov 19, 2019
Dec 11, 2019
Mar 23, 2019
Nov 19, 2019
Mar 24, 2019
Dec 3, 2018
Nov 17, 2018
Apr 4, 2022
Nov 19, 2019

Repository files navigation

pyViPR

Documentation Status Binder

Gitter

PyViPR

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:

Binder

Installation

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 https://github.com/LoLab-VU/pyvipr.git
$ 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')

graphml_view

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')

species_view_pysb

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()
pviz.sp_dyn_view(sim)

enzymatic_reaction

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("https://www.ebi.ac.uk/biomodels-main/download?mid=BIOMD0000000001")

tviz.sp_view(model)

species_view_tellurium

Documentation

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

https://pyvipr.readthedocs.io/

Citation

To cite PyViPR, please cite the iScience paper:

Interactive Multiresolution Visualization of Cellular Network Processes

Ortega O and Lopez C

License

MIT