Skip to main content

Patient-Specific Modeling in Python

Project description


PyPI version Actions Status Documentation Status License Downloads PyPI pyversions pre-commit.ci status Code style: black Imports: isort iScience Paper

Pasmopy is a scalable toolkit to identify prognostic factors for cancers based on intracellular signaling dynamics generated from personalized kinetic models. It is compatible with biomass and offers the following features:

  • Construction of mechanistic models from text
  • Personalization of the model using transcriptome data
  • Prediction of patient outcome based on in silico signaling dynamics
  • Sensitivity analysis for prediction of potential drug targets

Documentation

Online documentation is available at https://pasmopy.readthedocs.io.

You can also build the documentation locally by running the following commands:

$ cd docs
$ make html

The site will live in _build/html/index.html.

Installation

The latest stable release (and required dependencies) can be installed from PyPI:

$ pip install pasmopy

Pasmopy requires Python 3.8+ to run.

Example

Building mathematical models of biochemical systems from text

This example shows you how to build a simple Michaelis-Menten two-step enzyme catalysis model with Pasmopy.

E + S ⇄ ES → E + P

An enzyme, E, binding to a substrate, S, to form a complex, ES, which in turn releases a product, P, regenerating the original enzyme.

import os
from pasmopy import Text2Model, create_model, run_simulation

# Prepare a text file describing the biochemical reactions (e.g., `michaelis_menten.txt`)
reactions = """\
E + S ⇄ ES | kf=0.003, kr=0.001 | E=100, S=50
ES → E + P | kf=0.002
"""

observables = """
@obs Substrate: u[S]
@obs E_free: u[E]
@obs E_total: u[E] + u[ES]
@obs Product: u[P]
@obs Complex: u[ES]
"""

simulation_condition = """
@sim tspan: [0, 100]
"""

with open("michaelis_menten.txt", mode="w") as f:
   f.writelines(reactions)
   f.writelines(observables)
   f.writelines(simulation_condition)

# Convert the text into an executable model
description = Text2Model("michaelis_menten.txt")
description.convert()
assert os.path.isdir("michaelis_menten")

# Run simulation
model = create_model("michaelis_menten")
run_simulation(model)

michaelis_menten

For more examples, please refer to the Documentation.

Personalized signaling models for cancer patient stratification

Using Pasmopy, we built a mechanistic model of ErbB receptor signaling network, trained with protein quantification data obtained from cultured cell lines, and performed in silico simulation of the pathway activities on breast cancer patients using The Cancer Genome Atlas (TCGA) transcriptome datasets. The temporal activation dynamics of Akt, extracellular signal-regulated kinase (ERK), and c-Myc in each patient were able to accurately predict the difference in prognosis and sensitivity to kinase inhibitors in triple-negative breast cancer (TNBC).

References

  • Imoto, H., Yamashiro, S. & Okada, M. A text-based computational framework for patient -specific modeling for classification of cancers. iScience 25, 103944 (2022). https://doi.org/10.1016/j.isci.2022.103944

  • Imoto, H., Yamashiro, S., Murakami, K. & Okada, M. Protocol for stratification of triple-negative breast cancer patients using in silico signaling dynamics. STAR Protocols 3, 101619 (2022). https://doi.org/10.1016/j.xpro.2022.101619

Author

Hiroaki Imoto

License

Apache License 2.0

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

pasmopy-0.4.2.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

pasmopy-0.4.2-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file pasmopy-0.4.2.tar.gz.

File metadata

  • Download URL: pasmopy-0.4.2.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for pasmopy-0.4.2.tar.gz
Algorithm Hash digest
SHA256 d1ca296bcb55cdbcec7d5240a5600bd6231d08434724000a03da17a1387389b5
MD5 f510128d7fcd9f28d852827435d0ec2d
BLAKE2b-256 acbf1d9cc0f240ad1251a295b27f0c80a4627999e2afef6aee771bfbd1e5f2c8

See more details on using hashes here.

File details

Details for the file pasmopy-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: pasmopy-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for pasmopy-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ada4a690b445224cd36246d2e6455f748cb7cc74f80c7b5f1a819adf4577ab28
MD5 a409d78d84570017b738bc41325e94e3
BLAKE2b-256 31f2d4984ff053af00dcaa1042bfadf91c9bee1090a0a9f3d9ea74f2887564b9

See more details on using hashes here.

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