This repository contains a mechanistic model of the Integrated Stress Response (ISR) pathway, implemented using PySB (Python Systems Biology). The model simulates key cellular stress response mechanisms, including TC formation, PKR activation, eIF2Ξ± phosphorylation, and downstream gene expression regulation.
- Python: 3.9 or 3.10 (recommended for best compatibility with scientific packages)
The project requires the following Python packages:
| Package | Version | Description |
|---|---|---|
| numpy | >=1.20.0,<2.0.0 | Numerical computing (pinned to avoid compatibility issues) |
| scipy | >=1.7.0 | Scientific computing, including interpolation and statistics |
| pandas | >=1.3.0 | Data manipulation and analysis |
| matplotlib | >=3.4.0 | Plotting and visualization |
| seaborn | >=0.11.0 | Statistical data visualization |
| Package | Version | Description |
|---|---|---|
| pysb | >=1.10.0 | Python Systems Biology modeling framework |
| sympy | >=1.8.0 | Symbolic mathematics |
| bionetgen | >=0.8.0 | BioNetGen for PySB compatibility |
| Package | Version | Description |
|---|---|---|
| simplepso | >=1.0.0 | Particle Swarm Optimization |
| SALib | >=1.4.0 | Sensitivity Analysis Library |
| Package | Version | Description |
|---|---|---|
| jupyter | >=1.0.0 | Jupyter notebook support |
| ipykernel | >=6.0.0 | Jupyter kernel |
First, clone this repository to your local machine:
git clone https://github.com/altos-labs/isrmm.git
cd isrmmClick to expand installation steps
-
Create a conda environment from the provided environment file:
conda env create -f environment.yml
-
Activate the environment:
conda activate isrmm
π Note: The environment.yml tries to install BioNetGen from the
alubbockconda channel first. If this fails, you can manually install it with pip:pip install bionetgen
Click to expand installation steps
-
Install Poetry if you haven't already:
curl -sSL https://install.python-poetry.org | python3 - -
Install dependencies:
poetry install
-
Activate the virtual environment:
poetry shell
Click to expand installation steps
-
Create a virtual environment:
python -m venv isrmm_env source isrmm_env/bin/activate # On Windows: isrmm_env\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
isrmm/
βββ data/ # Experimental data and processed datasets
β βββ *.csv # Processed experimental data
β βββ *.tsv # Raw experimental data
β βββ *.ipynb # Data processing notebooks
βββ notebooks/
β βββ model/ # Core model implementations
β β βββ ISR_model.py # Main ISR model
β β βββ ISR_model_estimate_TH.py # Simplified model for threshold estimation
β βββ model_calibration/ # Model calibration scripts
β β βββ calibration_pso.py # PSO-based calibration
β β βββ predict_peIf2a_threshold/ # Threshold prediction analysis
β βββ post_calibration_analyses/ # Post-calibration analyses
β βββ plot_bestfit_model.ipynb # Model visualization
β βββ sensitivity_analysis/ # Sensitivity analysis
βββ βββ stress_amplitude_duration/ # In silico analyses
requirements.txt # pip requirements
environment.yml # conda environment
pyproject.toml # Poetry configuration
Altos-Labs-Academic-Research-License-Agreement.pdf # License
-
Start Jupyter notebook:
jupyter notebook
-
Navigate to the desired notebook in the
notebooks/directory -
Run the cells to execute model simulations and analyses
| File | Description |
|---|---|
notebooks/model/ISR_model.py |
Main ISR model implementation |
notebooks/model_calibration/calibration_pso.py |
Model parameter calibration using PSO |
notebooks/post_calibration_analyses/ |
Various post-calibration analyses |
The ISR model simulates the Integrated Stress Response pathway, including:
- β‘ PKR activation and dimerization
- π eIF2Ξ± phosphorylation and dephosphorylation
- 𧬠ATF4, CHOP, DR5, and GADD34 expression
- π Protein synthesis regulation
- π Stress response dynamics
Click to expand troubleshooting steps
If conda installation fails, try pip installation:
# First try conda (preferred)
conda install -c alubbock bionetgen
# If conda fails, use pip
pip install bionetgenClick to expand path configuration
If pip-installed, PySB usually cannot find BioNetGen. Ensure the BNGPATH environment variable is set to the BioNetGen path on your machine:
import os
import bionetgen
bng_path = os.path.join(os.path.dirname(bionetgen.__file__), 'bng-mac', 'BNG2.pl')
os.environ['BNGPATH'] = os.path.dirname(bng_path)- π§ Built-in Python modules (bisect, pickle, random, os, sys) are included in the requirements for completeness but don't require installation
- 𧬠The model uses PySB for rule-based modeling and ODE simulation
- βοΈ BioNetGen is required for PySB to generate network equations. Conda installation automatically configures the path.
- π’ NumPy is pinned to version <2.0.0 to avoid compatibility issues with other packages
- π Sensitivity analysis is performed using SALib
- π― Parameter optimization uses Particle Swarm Optimization (PSO)
If you use this model in your research, please cite: to be added
Copyright (c) 2025 Altos Labs, Inc.
This software is licensed under the Altos Labβs Academic Research License (Non-Commercial Use Only). Use is permitted solely for internal, non-commercial research and educational purposes. By using this software, you agree to be bound by the terms of the license. Commercial use is strictly prohibited without a separate license from Altos Labs, Inc. Full license text is available here. For commercial licensing inquiries, contact Altos Labs, Inc.