AutoReduce: An Automated Model Reduction Toolbox
Python toolbox to obtain reduced model expressions using time-scale separation, conservation laws, sensitivity analysis, and projection-based interfaces to established reduction libraries.
Overview
AutoReduce is a Python package for automated model reduction of nonlinear dynamical systems. It provides tools for:
- Automated model reduction using QSSA (Quasi-Steady State Approximation)
- Conservation-law based reductions
- Local sensitivity analysis
- SBML import/export through python-libsbml
- Integration with BioCRNPyler for synthetic biology models
- Optional python-control and PyDMD interfaces
See the bioRxiv paper and International Journal of Robust and Nonlinear Control paper for the model-reduction background.
Quick Start
import numpy as np
from sympy import symbols
from autoreduce import System, solve_timescale_separation
S, C, P, k1, k2, k3, E_total = symbols("S C P k1 k2 k3 E_total")
E = E_total - C
x = [S, C, P]
f = [
-k1 * E * S + k2 * C,
k1 * E * S - (k2 + k3) * C,
k3 * C,
]
system = System(
x,
f,
params_dict={k1: 1.0, k2: 0.5, k3: 0.25, E_total: 1.0},
x_init=[10.0, 0.0, 0.0],
C=np.array([[1, 0, 0], [0, 0, 1]]),
)
reduced_system, collapsed_system = solve_timescale_separation(
system,
[S, P],
fast_states=[C],
)
params_dict can be used to set, get, and update parameters:
system.set_param(k1, 2.0)
system.get_param(k1)
system.set_param_dict({k2: 1.0, k3: 0.1})
For more examples, check out the documentation.
Installation
Supported Python versions are 3.9 - 3.13.
Install the latest version of AutoReduce:
pip install autoreduce
Install with all optional dependencies:
pip install autoreduce[all]
Install optional integrations explicitly:
pip install "autoreduce[bio]"
pip install "autoreduce[control]"
pip install "autoreduce[dmd]"
For development installation:
git clone https://github.com/ayush9pandey/autoreduce.git
cd autoreduce
pip install -e ".[dev]"
Documentation
Full documentation is available at autoreduce.readthedocs.io.
Contributing
We welcome contributions. Developer notes and release instructions are in the documentation.
Contact
For questions, feedback, or suggestions, please contact:
- Ayush Pandey (ayushpandey at ucmerced dot edu)
- GitHub Issues
License
Released under the BSD 3-Clause License (see LICENSE)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autoreduce-0.9.tar.gz.
File metadata
- Download URL: autoreduce-0.9.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
443989746fe540c0ff04dc34a422dfd2be7ee10ad497b7ee60ac14c675170c81
|
|
| MD5 |
63a8559de72f4b2e84b5e87b97018a59
|
|
| BLAKE2b-256 |
c6154da46532a4ece0d3d726cd6d3d380efcf50f108ddebdcf504883f01946df
|
Provenance
The following attestation bundles were made for autoreduce-0.9.tar.gz:
Publisher:
pypi-deploy.yml on ctsd-lab/AutoReduce
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autoreduce-0.9.tar.gz -
Subject digest:
443989746fe540c0ff04dc34a422dfd2be7ee10ad497b7ee60ac14c675170c81 - Sigstore transparency entry: 2428525687
- Sigstore integration time:
-
Permalink:
ctsd-lab/AutoReduce@68c09a9015f6c28ba16d4228203a950df8a9265c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ctsd-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-deploy.yml@68c09a9015f6c28ba16d4228203a950df8a9265c -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file autoreduce-0.9-py3-none-any.whl.
File metadata
- Download URL: autoreduce-0.9-py3-none-any.whl
- Upload date:
- Size: 39.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3005d8eb77d6dab6828f783921742fc50a6d38e4b3bf4b8b55e2e0f92e8123c
|
|
| MD5 |
1c6e3577763ce4831e0cc567e840cca4
|
|
| BLAKE2b-256 |
67ae4578d6ab61a666554d23c6ca5354867c6756beadae8e426fa5235da97169
|
Provenance
The following attestation bundles were made for autoreduce-0.9-py3-none-any.whl:
Publisher:
pypi-deploy.yml on ctsd-lab/AutoReduce
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autoreduce-0.9-py3-none-any.whl -
Subject digest:
d3005d8eb77d6dab6828f783921742fc50a6d38e4b3bf4b8b55e2e0f92e8123c - Sigstore transparency entry: 2428525853
- Sigstore integration time:
-
Permalink:
ctsd-lab/AutoReduce@68c09a9015f6c28ba16d4228203a950df8a9265c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ctsd-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-deploy.yml@68c09a9015f6c28ba16d4228203a950df8a9265c -
Trigger Event:
workflow_dispatch
-
Statement type: