Skip to main content

BioMASS

Actions Status Language grade: Python License: MIT

Modeling and Analysis of Signaling Systems

Mathematical modeling is a powerful method for the analysis of complex biological systems. Although there are many researches devoted on producing models to describe dynamical cellular signaling systems, most of these models are limited and do not cover multiple pathways. Therefore, there is a challenge to combine these models to enable understanding at a larger scale. Nevertheless, larger network means that it gets more difficult to estimate parameters to reproduce dynamic experimental data needed for deeper understanding of a system.

To overcome this problem, we developed BioMASS, a modeling platform tailored to optimizing mathematical models of biological processes. By using BioMASS, users can efficiently optimize kinetic parameters to fit user-defined models to experimental data, while performing analysis on reaction networks to predict critical components affecting cellular output.

Description

BioMASS is a biological modeling environment tailored to

  1. Parameter Estimation of ODE Models
  2. Sensitivity Analysis

currently implimented for modeling immediate-early gene response (Nakakuki et al., Cell, 2010).

Dependencies

  • numpy
  • scipy
  • matplotlib
  • seaborn

Import model

from biomass.models import Nakakuki_Cell_2010

Parameter Estimation of ODE Models (n = 1, 2, 3, · · ·)

The temporary result will be saved in out/n/ after each iteration.

from biomass import optimize

optimize(Nakakuki_Cell_2010, n)

Progress list: out/n/optimization.log

Generation1: Best Fitness = 1.726069e+00
Generation2: Best Fitness = 1.726069e+00
Generation3: Best Fitness = 1.726069e+00
Generation4: Best Fitness = 1.645414e+00
Generation5: Best Fitness = 1.645414e+00
Generation6: Best Fitness = 1.645414e+00
Generation7: Best Fitness = 1.645414e+00
Generation8: Best Fitness = 1.645414e+00
Generation9: Best Fitness = 1.645414e+00
Generation10: Best Fitness = 1.645414e+00
Generation11: Best Fitness = 1.645414e+00
Generation12: Best Fitness = 1.645414e+00
Generation13: Best Fitness = 1.645414e+00
Generation14: Best Fitness = 1.645414e+00
Generation15: Best Fitness = 1.645414e+00
Generation16: Best Fitness = 1.249036e+00
Generation17: Best Fitness = 1.171606e+00
Generation18: Best Fitness = 1.171606e+00
Generation19: Best Fitness = 1.171606e+00
Generation20: Best Fitness = 1.171606e+00
  • If you want to continue from where you stopped in the last parameter search,
from biomass import optimize_continue

optimize_continue(Nakakuki_Cell_2010, n)
  • If you want to search multiple parameter sets (from n1 to n2) simultaneously,
from biomass import optimize

optimize(Nakakuki_Cell_2010, n1, n2)
  • Getting optimized parameters
from biomass.result import OptimizationResults

res = OptimizationResults(Nakakuki_Cell_2010)
res.to_csv()

Visualization of Simulation Results

from biomass import run_simulation

run_simulation(Nakakuki_Cell_2010, viz_type='average', show_all=False, stdev=True)

viz_type : str

  • 'average' : The average of simulation results with parameter sets in out/.

  • 'best' : The best simulation result in out/, simulation with best_fit_param.

  • 'original' : Simulation with the default parameters and initial values defined in set_model.py.

  • 'n(=1,2,...)' : Use the parameter set in out/n/.

  • 'experiment' : Draw the experimental data written in observable.py without simulation results.

show_all : bool

  • Whether to show all simulation results.

stdev : bool

  • If True, the standard deviation of simulated values will be shown (only when viz_type == 'average').

simulation_average

Points (blue diamonds, EGF; red squares, HRG) denote experimental data, solid lines denote simulations

Sensitivity Analysis

The single parameter sensitivity of each reaction is defined by

si(q(v),vi) = ∂ ln(q(v)) / ∂ ln(vi) = ∂__q(v) / ∂__vi · vi / q(v)

where vi is the ith reaction rate, v is reaction vector v = (v1, v2, ...) and q(v) is a target function, e.g., time-integrated response, duration. Sensitivity coefficients were calculated using finite difference approximations with 1% changes in the reaction rates.

from biomass import run_analysis

run_analysis(Nakakuki_Cell_2010, target='reaction', metric='integral', style='barplot')

target : str

  • 'reaction'
  • 'initial_condition'
  • 'parameter'

metric : str

  • 'maximum' : The maximum value.
  • 'minimum' : The minimum value.
  • 'duration' : The time it takes to decline below 10% of its maximum.
  • 'integral' : The integral of concentration over the observation time.

style : str

  • 'barplot'
  • 'heatmap'

sensitivity_PcFos

Control coefficients for integrated pc-Fos are shown by bars (blue, EGF; red, HRG). Numbers above bars indicate the reaction indices, and error bars correspond to simulation standard deviation.

Citation

When using BioMASS, please cite:

  • Imoto, H., Zhang, S. & Okada, M. A Computational Framework for Prediction and Analysis of Cancer Signaling Dynamics from RNA Sequencing Data—Application to the ErbB Receptor Signaling Pathway. Cancers (Basel). 12, 2878 (2020). https://doi.org/10.3390/cancers12102878

Installation

$ pip install git+https://github.com/okadalabipr/biomass.git

Metadata

Release files for biomass 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biomass 0.2.2
File Size Uploaded
biomass-0.2.2.tar.gz 61.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for biomass 0.2.2
File Interpreter ABI Platform
biomass-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 144.6 kB

Release files / biomass-0.2.2.tar.gz

Download URL biomass-0.2.2.tar.gz
Size 61.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a322b48612e762e4980e42bf108d6ddaa911cd14aa1a31af92d6891f291ef04f
BLAKE2b-256 checksum
How to use checksums
7094b7329b256da49e366a5de1d9d069b79e50e9fcb9b4dc163e74c5afe2436a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.4.2 requests/2.25.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.26.0 CPython/3.7.2

Release files / biomass-0.2.2-py3-none-any.whl

Download URL biomass-0.2.2-py3-none-any.whl
Size 83.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67f6023c40ee3616f7bdceeaf1a7c9b5ac890857f17744c62b6cf53c779d6fee
BLAKE2b-256 checksum
How to use checksums
46b65aa7bd48864c9ee0f38c47c5a508c19cd4398daefded60859b5d8e7c60ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.4.2 requests/2.25.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.26.0 CPython/3.7.2

Release history Release notifications | RSS feed

0.11.1

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

This release

0.2.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page