forked from jczech/mcellRules
-
Notifications
You must be signed in to change notification settings - Fork 0
/
example.mdlr
117 lines (88 loc) · 2.3 KB
/
example.mdlr
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
ITERATIONS = 3000
TIME_STEP = 5e-06
VACANCY_SEARCH_DISTANCE = 100
INCLUDE_FILE = "icogeometry.mdl"
DEFINE_SURFACE_CLASSES
{
reflect {
REFLECTIVE = ALL_MOLECULES
}
}
MODIFY_SURFACE_REGIONS
{
CP[ALL]
{
SURFACE_CLASS = reflect
}
}
/* Model Parameters */
Nav = 6.022e8 /* Avogadro number based on a volume size of 1 cubic um */
rxn_layer_t = 0.01
vol_wall = 56.5695045056029 /*Surface area*/
vol_EC = 39
vol_PM = 4.836624601 /*Surface area*/
vol_CP = 1
NaV = 602200000
Lig_tot = 50
Rec_tot = 50
kp1 = 5e10
km1 = 10
/* Diffusion bloc */
T = 298.15 /* Temperature, K */
h = rxn_layer_t /* Thickness of 2D compartment, um */
Rs = 0.002564 /* Radius of a (spherical) molecule in 3D compartment, um */
Rc = 0.0015 /* Radius of a (cylindrical) molecule in 2D compartment, um */
gamma = 0.5722 /* Euler's constant */
KB = 1.3806488e-19 /* Boltzmann constant, cm^2.kg/K.s^2 */
mu_wall = 1e-9 /* Viscosity in compartment wall, kg/um.s */
mu_EC = 1e-9 /* Viscosity in compartment EC, kg/um.s */
mu_PM = 1e-9 /* Viscosity in compartment PM, kg/um.s */
mu_CP = 1e-9 /* Viscosity in compartment CP, kg/um.s */
#DEFINE_MOLECULES
{
Lig(l,l)
{
DIFFUSION_CONSTANT_3D = Einstein_Stokes(T, mu_EC, Lig_radius)
}
Rec(a){
DIFFUSION_CONSTANT_3D = Einstein_Stokes(T, mu_EC, Lig_radius)
}
}
#DEFINE_REACTIONS
{
/* Ligand-receptor binding */
Rec(a) + Lig(l,l!+) <-> Rec(a!1).Lig(l!1,l!+) [kp1, km1]
}
#INSTANTIATE Scene OBJECT
{
EC OBJECT EC {}
CP OBJECT CP {
PARENT = EC
MEMBRANE = PM OBJECT CP[ALL]
}
ligand_rel RELEASE_SITE
{
SHAPE = Scene.EC[ALL] - Scene.CP[ALL]
MOLECULE = @EC::Lig(l!1,l).Rec(a!1)
NUMBER_TO_RELEASE = Lig_tot
RELEASE_PROBABILITY = 1
}
receptor_rel RELEASE_SITE
{
SHAPE = Scene.EC[ALL] - Scene.CP[ALL]
MOLECULE = Rec(a)@EC
NUMBER_TO_RELEASE = Lig_tot
RELEASE_PROBABILITY = 1
}
}
/* Observables bloc */
#REACTION_DATA_OUTPUT
{
STEP = 1e-6
/*RecFree*/
{ COUNT[Rec(a), WORLD] }=> "./react_data/RecFree.dat"
/*Ligfree*/
{ COUNT[Lig(l,l), WORLD] }=> "./react_data/LigFree.dat"
/*RecBound*/
{ COUNT[Lig(l!+), WORLD]}=> "./react_data/RecBound.dat"
}