Skip to main content

Dynamic analysis of systems biology models

Project description

Codacy Badge Build Status Coverage Status

PyDyNo

Python Dynamic analysis of Biochemical Networks (PyDyNo) is an open source python library for the analysis of signal execution in network-driven biological processes. PyDyNo supports the analysis of PySB and SBML models.

Installation

From PyPI

> pip install pydyno

Installing the latest unreleased version

> pip install git+git:https://github.com/LoLab-VU/pydyno.git

Installing from source folder

  • Download and extract pydyno
  • Navigate into the pydyno directory
  • Install (Python is necessary for this step):
> python setup.py install

How to use PyDyNo

Import libraries

import pydyno
import numpy as np
from os.path import dirname, join
from IPython.display import Image
from pydyno.examples.double_enzymatic.mm_two_paths_model import model
from pydyno.visualize_simulations import VisualizeSimulations
from pydyno.discretization import PysbDomPath
from pydyno.visualize_discretization import visualization_path
from pysb.simulator import ScipyOdeSimulator
%matplotlib inline

Load the calibrated parameters and simulate the model with 100 different parameter sets

# import calibrated parameters
module_path = dirname(pydyno.__file__)
pars_path = join(module_path, "examples", "double_enzymatic", "calibrated_pars.npy")
pars = np.load(pars_path)
# define time for the simulation and simulate model
tspan = np.linspace(0, 100, 101)
sim = ScipyOdeSimulator(model, tspan=tspan).run(param_values=pars[:100])

Visualize the dynamics of the model

vt = VisualizeSimulations(model, sim, clusters=None)
vt.plot_cluster_dynamics(components=[5])
# This saves the figure in the local folder with the filename comp0_cluster0.png

png

Obtain the dominant paths for each of the simulations¶

dp = PysbDomPath(model, sim)
signatures, paths = dp.get_path_signatures('s5', 'production',                                         depth=2, dom_om=1)
signatures.sequences.head()

Obtain distance matrix and optimal number of clusters (execution modes)

signatures.dissimilarity_matrix()
signatures.silhouette_score_agglomerative_range(4)
# Select the number of cluster with highest silhouette score
signatures.agglomerative_clustering(2)
# Plot signatures
signatures.plot_sequences()
# File is saved to the local directory with the filename modal.png

png

paths
{2: [OrderedDict([('s5', [['s3'], ['s4']])]),
  OrderedDict([('s3', [['s0', 's1']]), ('s4', [['s0', 's2']])])],
 1: [OrderedDict([('s5', [['s4']])]), OrderedDict([('s4', [['s0', 's2']])])],
 0: [OrderedDict([('s5', [['s3']])]), OrderedDict([('s3', [['s0', 's1']])])]}

Visualize execution modes

visualization_path(model, 
                   path=paths[0], 
                   target_node='s5', 
                   type_analysis='production', 
                   filename='path_0.png')
# Visualization is saved to local directory wit the filename path0.png

png

visualization_path(model, 
                   path=paths[1], 
                   target_node='s5', 
                   type_analysis='production', 
                   filename='path_1.png')
# Visualization is saved to local directory wit the filename path1.png

png

visualization_path(model, 
                   path=paths[2], 
                   target_node='s5', 
                   type_analysis='production', 
                   filename='path_2.png')
# Visualization is saved to local directory wit the filename path2.png

png

Project details


Download files

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

Source Distribution

pydyno-0.1.2.tar.gz (164.2 kB view hashes)

Uploaded Source

Built Distribution

pydyno-0.1.2-cp37-cp37m-macosx_10_9_x86_64.whl (182.6 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page