Skip to content

Commit 852109a

Browse files
author
Hiroaki Imoto
authored
Release v0.5.1 (#44)
* Fix indent level * Simplify README * Update README.md * Update docs * Set default viz_type to 'original' * small fix * Bump version to 0.5.1 * Update ref * Remove nightly
1 parent ffa8a3d commit 852109a

File tree

7 files changed

+118
-43
lines changed

7 files changed

+118
-43
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
version:
13-
- '1.5'
14-
- 'nightly'
13+
- '1'
14+
- '1.6'
1515
os:
1616
- ubuntu-latest
1717
arch:

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "BioMASS"
22
uuid = "324734c7-f323-4536-9335-775d9be9d101"
33
authors = ["Hiroaki Imoto <himoto@protein.osaka-u.ac.jp>"]
4-
version = "0.5.0"
4+
version = "0.5.1"
55

66
[deps]
77
CMAEvolutionStrategy = "8d3b24bd-414e-49e0-94fb-163cc3a3e411"

README.md

Lines changed: 57 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,63 +7,88 @@
77

88
This module provides a Julia interface to the [BioMASS](https://github.com/biomass-dev/biomass) parameter estimation.
99

10-
![](docs/src/assets/result.png)
11-
12-
## Features
10+
## Installation
1311

14-
BioMASS.jl supports:
12+
The package is a registered package, and can be installed with `Pkg.add`.
1513

16-
- parameter estimation of ODE/DDE models
17-
- visualization of simulation results
18-
- bifurcation analysis
14+
```julia
15+
julia> using Pkg; Pkg.add("BioMASS")
16+
```
1917

20-
## Usage
18+
or through the `pkg` REPL mode by typing
2119

22-
### Parameter estimation
20+
```
21+
] add BioMASS
22+
```
2323

24-
```julia
25-
using BioMASS
24+
## Example
2625

27-
model = Model("./examples/fos_model");
26+
### Model development
2827

29-
# Estimate unknown model parameters against experimental observations.
30-
optimize(model, 1, max_generation=20000, allowable_error=0.5)
28+
This example shows you how to build a simple Michaelis-Menten two-step enzyme catalysis model. [`pasmopy.Text2Model`](https://pasmopy.readthedocs.io/en/latest/model_development.html) allows you to build a BioMASS model from text. You simply describe biochemical reactions and the molecular mechanisms extracted from text are converted into an executable model.
3129

32-
# Save simulation results to figure/ in the model folder
33-
run_simulation(model, viz_type="best", show_all=true)
30+
Prepare a text file describing the biochemical reactions (e.g., `michaelis_menten.txt`)
3431
```
32+
E binds S <--> ES | kf=0.003, kr=0.001 | E=100, S=50
33+
ES dissociates to E and P | kf=0.002, kr=0
3534
36-
### Conversion of optimized parameters into BioMASS format
35+
@obs Substrate: u[S]
36+
@obs E_free: u[E]
37+
@obs E_total: u[E] + u[ES]
38+
@obs Product: u[P]
39+
@obs Complex: u[ES]
3740
38-
```julia
39-
param2biomass("./examples/fos_model")
41+
@sim tspan: [0, 100]
4042
```
4143

42-
## Installation
43-
44-
The package is a registered package, and can be installed with `Pkg.add`.
44+
Convert the text into an executable model
4545

46-
```julia
47-
julia> using Pkg; Pkg.add("BioMASS")
46+
```shell
47+
$ python # pasmopy requires Python 3.7+
48+
```
49+
```python
50+
>>> from pasmopy import Text2Model
51+
>>> description = Text2Model("michaelis_menten.txt", lang="julia")
52+
>>> description.convert() # generate 'michaelis_menten_jl/'
4853
```
4954

50-
or through the `pkg` REPL mode by typing
55+
Simulate the model using BioMASS.jl
5156

57+
```shell
58+
$ julia
5259
```
53-
] add BioMASS
60+
```julia
61+
using BioMASS
62+
63+
model = Model("./michaelis_menten_jl");
64+
run_simulation(model)
5465
```
5566

56-
## References
67+
![michaelis_menten](https://raw.githubusercontent.com/pasmopy/pasmopy/master/docs/_static/img/michaelis_menten_sim.png)
68+
### Parameter estimation
5769

58-
- Nakakuki, T. _et al._ Ligand-specific c-Fos expression emerges from the spatiotemporal control of ErbB network dynamics. _Cell_ **141**, 884–896 (2010). https://doi.org/10.1016/j.cell.2010.03.054
70+
```julia
71+
using BioMASS
5972

60-
- Inoue, K. _et al._ Oscillation dynamics underlie functional switching of NF-κB for B-cell activation. _npj Syst. Biol. Appl._ **2**, 16024 (2016). https://doi.org/10.1038/npjsba.2016.24
73+
model = Model("./examples/fos_model");
6174

62-
- Yao, G., Lee, T. J., Mori, S., Nevins, J. R. & You, L. A bistable Rb-E2F switch underlies the restriction point. _Nat. Cell Biol._ **10**, 476–482 (2008). https://doi.org/10.1038/ncb1711
75+
# Estimate unknown model parameters against experimental observations.
76+
optimize(model, 1, max_generation=20000, allowable_error=0.5)
77+
78+
# Save simulation results to figure/ in the model folder
79+
run_simulation(model, viz_type="best", show_all=true)
80+
81+
# Convert optimization results into BioMASS format
82+
param2biomass("./examples/fos_model")
83+
```
84+
85+
![estimated_parameter_sets](https://raw.githubusercontent.com/biomass-dev/biomass/master/docs/_static/img/estimated_parameter_sets.png)
86+
87+
## References
6388

64-
- Barr, A. R., Heldt, F. S., Zhang, T., Bakal, C. & Novák, B. A Dynamical Framework for the All-or-None G1/S Transition. _Cell Syst._ **2**, 27–37 (2016). https://doi.org/10.1016/j.cels.2016.01.001
89+
- 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_ **12**, 2878 (2020). https://doi.org/10.3390/cancers12102878
6590

66-
- Rata, S. _et al._ Two Interlinked Bistable Switches Govern Mitotic Control in Mammalian Cells. _Curr. Biol._ **28**, 3824-3832.e6 (2018). https://doi.org/10.1016/j.cub.2018.09.059
91+
- Imoto, H., Yamashiro, S. & Okada, M. A text-based computational framework for patient -specific modeling for classification of cancers. _iScience_ (2022). https://doi.org/10.1016/j.isci.2022.103944
6792

6893
## License
6994

docs/src/index.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@
66

77
This module provides a Julia interface to the [BioMASS](https://github.com/biomass-dev/biomass) parameter estimation.
88

9-
## Features
10-
11-
- Parameter estimation
12-
- Visualization of simulation results
13-
- Bifurcation analysis
14-
159
## Installation
1610

1711
```

docs/src/usage/model_construction.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Model Construction
2+
3+
[`pasmopy.Text2Model`](https://pasmopy.readthedocs.io/en/latest/model_development.html) allows you to build a BioMASS model from text. You simply describe biochemical reactions and the molecular mechanisms extracted from text are converted into an executable model.
4+
5+
## Example
6+
7+
This example shows you how to build a simple Michaelis-Menten two-step enzyme catalysis model with Pasmopy.
8+
9+
> E + S ⇄ ES → E + P
10+
11+
_An enzyme, E, binding to a substrate, S, to form a complex, ES, which in turn releases a product, P, regenerating the original enzyme._
12+
13+
1. Prepare a text file describing biochemical reactions (e.g., `michaelis_menten.txt`)
14+
15+
```
16+
E binds S <--> ES | kf=0.003, kr=0.001 | E=100, S=50
17+
ES dissociates to E and P | kf=0.002, kr=0
18+
19+
@obs Substrate: u[S]
20+
@obs E_free: u[E]
21+
@obs E_total: u[E] + u[ES]
22+
@obs Product: u[P]
23+
@obs Complex: u[ES]
24+
25+
@sim tspan: [0, 100]
26+
```
27+
28+
1. Convert the text into an executable model
29+
30+
```shell
31+
$ python
32+
```
33+
```python
34+
>>> from pasmopy import Text2Model
35+
>>> description = Text2Model("michaelis_menten.txt", lang="julia")
36+
>>> description.convert() # generate 'michaelis_menten_jl/'
37+
Model information
38+
-----------------
39+
2 reactions
40+
4 species
41+
4 parameters
42+
```
43+
44+
1. Run simulation
45+
46+
```shell
47+
$ julia
48+
```
49+
```julia
50+
using BioMASS
51+
52+
model = Model("./michaelis_menten_jl");
53+
run_simulation(model)
54+
```
55+
56+
![michaelis_menten](https://raw.githubusercontent.com/pasmopy/pasmopy/master/docs/_static/img/michaelis_menten_sim.png)

src/continuation.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ function new_curve!(
331331
for i in 2:length(dx)
332332
if abs(dx[fix_num]) < abs(dx[i])
333333
fix_num = i
334-
end
334+
end
335335
end
336336

337337
# Stop calc.

src/visualize.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ end
388388

389389
function run_simulation(
390390
model::Model;
391-
viz_type::String,
391+
viz_type::String="original",
392392
show_all::Bool=false,
393393
stdev::Bool=false,
394394
save_format::String="pdf")

0 commit comments

Comments
 (0)