-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathorganelle_transport_struct.bngl
86 lines (71 loc) · 2.4 KB
/
organelle_transport_struct.bngl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
## title: organelle_transport_abcd.bngl
# description: Simple model of transport involving two cell organelles. This is the model
# that was used in the CellBlender tutorial.
begin parameters
NA_um3 6.02e8 # Avogadro’s number*L/um3
d 0.01 # [um] Effective membrane thickness used to compute membrane volume
vol_CYT 1 # [um^3] Volume of cytoplasm
vol_O1M 1*d # [um^3] Effective volume of organelle 1 membrane
vol_O1V 0.133 # [um^3] Effective volume of organelle 1
vol_O2M 1*d # [um^3] Effective volume of organelle 2 membrane
vol_O2V 0.0335 # [um^3] Effective volume of organelle 2
kp_AB 1e9/NA_um3 # 1/Ms -> um3/s
kp_AT1 3e8/NA_um3
km_AT1 10
k_AT1trans 1e5
kp_CT1 3e8/NA_um3
km_CT1 10
k_CT1trans 1e5
kp_CT2 3e8/NA_um3
km_CT2 10
k_DT2trans 1e5
end parameters
begin compartments
CYT 3 vol_CYT
O1M 2 vol_O1M CYT
O1V 3 vol_O1V O1M
O2M 2 vol_O2M CYT
O2V 3 vol_O2V O2M
end compartments
begin molecule types
A(t,b)
B(a)
T1(a)
T2(a)
end molecule types
begin seed species
A(t,b)@CYT 1200
B(a)@O1V 1000
T1(a)@O1M 700
T2(a)@O2M 700
end seed species
begin observables
Molecules FreeA A(t,b)
Molecules FreeB B(a)
Molecules A_O1 @O1V:A(t,b)
Molecules C_cyt @CYT:A(t,b!1).B(a!1)
Molecules FreeD @O2V:A(t,b!1).B(a!1)
end observables
begin functions
end functions
begin reaction rules
# A in cytoplasm binds T1 on organelle 1 (reversibly)
@CYT:A(t,b) + T1(a) <-> A(t!1,b).T1(a!1) kp_AT1, km_AT1
# A bound to T1 moves to interior of organelle 1
A(t!1,b)@CYT.T1(a!1) -> A(t,b)@O1V + T1(a) k_AT1trans
# A and B bind to form a complex C
A(t,b) + B(a) -> A(t,b!1).B(a!1) kp_AB
# A.B in interior of organelle 1 binds to T1 (reversibly)
@O1V:A(t,b!1).B(a!1) + T1(a) <-> A(t!2,b!1).B(a!1).T1(a!2) kp_CT1, km_CT1
# A.B bound to T1 transports to cytoplasm
A(t!2,b!1)@O1V.B(a!1)@O1V.T1(a!2) -> T1(a) + A(t,b!1)@CYT.B(a!1)@CYT k_CT1trans
# A.B in cytoplasm binds to T2 on orgenelle 2 (reversibly)
@CYT:A(t,b!1).B(a!1) + T2(a) <-> A(t!2,b!1).B(a!1).T2(a!2) kp_CT2, km_CT2
# A.B bound to T2 moves to interior of organelle 2
A(t!2,b!1)@CYT.B(a!1)@CYT.T2(a!2) -> T2(a) + A(t,b!1)@O2V.B(a!1)@O2V k_DT2trans
# Alternative way to do this using a wildcard
# A(t!2,b!+)@CYT.T2(a!2) -> T2(a) + A(t,b!+)@O2V k_DT2trans MoveConnected
end reaction rules
#generate_network()
#writeSBML()
simulate({method=>"ode",t_start=>0,t_end=>.01,n_steps=>1000})