THE E-CELL
•E-CELL is a modelling and computer simulation
environment for biochemical and genetic processes.
•This is a generic
object oriented environment for simulating molecular processes in user
definable models.
•The user can
observe, through a computer display, dynamic changes in concentrations of
proteins, and other chemical compounds in the cell.
Developed by,
Masaru Tomita.
Other Similar Packages.
•
There are several
such simulation software packages available for quantitative simulation of
biochemical metabolic pathways based on numeric integration of rate
equations.
They are,
GEPASI , KINSIM,
MIST, METAMODEL, SCAMP etc.
Working of the E-Cell
•The model
consists of three lists, and is loaded at runtime.
•The substance
list defines all objects which make up the cell and the culture medium.
•
The rule list defines all of the reactions which can
take place within the cell.
•
The system list defines spatial and/or functional structure of the cell and its environment.
•The state
of the cell at each time frame is expressed as a list of concentration values
of all substances within the cell.
WHAT IT NEEDS?
1.THE RATE EQUATIONS.
2.THE RATE CONSTANTS.
3.SUBSTRATE CONCENTRATIONS.
HOW YOU GIVE
IT?
1.REACTOR FILE.
For the rate equations.
2. RULE FILE.
For the rate constants and substrate concentrations.
WHAT IT DOES?
It compiles in C.(version 1.1)
WHAT WE GET?
It gives the time variation of the concentration / quantity of the various intermediates in your model.
HOW IS IT
USEFUL.
Virtual experiments.
The Rule and the Reactor files for “YEAST’S GLYCOLYSIS” is given below.
RULE FILE:
# this is ecell rule file for E-CELL(ecs-1.0)
# converted by ss2er 1.0-alpha
include(qty.er)
system Cell(/:CELL,"The cell")
{
Stepper SlaveStepper;
}
system Environment(/:ENVIRONMENT,"The culture medium")
{
Stepper SlaveStepper;
VolumeIndex /ENVIRONMENT:VOLUME;
}
system Cytoplasm(/CELL:CYTOPLASM,"The cytoplasm")
{
Stepper SlaveStepper;
VolumeIndex /CELL/CYTOPLASM:VOLUME;
}
system Membrane(/CELL:MEMBRANE,"The menbrane")
{
Stepper SlaveStepper;
Inside /CELL:CYTOPLASM;
Outside /:ENVIRONMENT;
}
_SETVOLUME(/ENVIRONMENT,1E-015)
_SETVOLUME(/CELL/CYTOPLASM,1E-018)
substance /CELL/CYTOPLASM:GL "GLUCOSE" 1000000;
fix /CELL/CYTOPLASM:GL;
substance /CELL/CYTOPLASM:ATP "ATP" 1000;
substance /CELL/CYTOPLASM:G3P "G3P" 0;
substance /CELL/CYTOPLASM:F6P "F6P" 0;
substance /CELL/CYTOPLASM:F16BP "F16BP" 0;
substance /CELL/CYTOPLASM:DHAP "DHAP" 0;
substance /CELL/CYTOPLASM:GL3P "GL3P" 0;
substance /CELL/CYTOPLASM:P "P" 1000;
substance /CELL/CYTOPLASM:NAD "NAD" 1000;
substance /CELL/CYTOPLASM:13BGP "13BGP" 0;
substance /CELL/CYTOPLASM:NADH "NADH" 0;
substance /CELL/CYTOPLASM:H "H" 0;
substance /CELL/CYTOPLASM:3PG "3PG" 0;
substance /CELL/CYTOPLASM:2PG "2PG" 0;
substance /CELL/CYTOPLASM:PEP "PEP" 0;
substance /CELL/CYTOPLASM:PYR "PYR" 0;
#THE FOLLOWING ARE ENZYMES
substance /CELL/CYTOPLASM:E.HEX "HEXOKINASE" QTY(0.83027009,/CELL/CYTOPLASM);
fix /CELL/CYTOPLASM:E.HEX;
substance /CELL/CYTOPLASM:E.PGI "E.PGI" QTY(0.83027009,/CELL/CYTOPLASM);
substance /CELL/CYTOPLASM:E.PFK "E.PFK" QTY(0.83027009,/CELL/CYTOPLASM);
substance /CELL/CYTOPLASM:E.AI "E.AI" QTY(0.83027009,/CELL/CYTOPLASM);
substance /CELL/CYTOPLASM:E.TPI "E.TPI" QTY(0.83027009,/CELL/CYTOPLASM);
substance /CELL/CYTOPLASM:E.G3PD "E.G3PD" QTY(0.83027009,/CELL/CYTOPLASM);
substance /CELL/CYTOPLASM:E.PGK "E.PGK" QTY(0.83027009,/CELL/CYTOPLASM);
substance /CELL/CYTOPLASM:E.PGM "E.PGM" QTY(0.83027009,/CELL/CYTOPLASM);
substance /CELL/CYTOPLASM:E.EN "E.EN" QTY(0.83027009,/CELL/CYTOPLASM);
substance /CELL/CYTOPLASM:E.PK "E.PK" QTY(0.83027009,/CELL/CYTOPLASM);E
#substance Substance(/CELL/CYTOPLASM:E.PGI,"E.PGI")
#{
# Quantity QTY(0.02,/CELL/CYTOPLASM);
# Accumulator SimpleAccumulator;
#}
#substance /CELL/CYTOPLASM:E.cd "Isomerase of C" QTY(0.01,/CELL/CYTOPLASM);
#substance /CELL/CYTOPLASM:E.de "Isomerase of D" QTY(0.01,/CELL/CYTOPLASM);
#substance /CELL/CYTOPLASM:C.Ebc-D "Complex of E.bc and D" QTY(0,/CELL/CYTOPLASM);
reactor ConstantParameterReactor(/ENVIRONMENT:VOLUME,"Volume index for environment")
{
Value 1E-015;
InitialActivity 1E-015;
}
reactor ConstantParameterReactor(/CELL/CYTOPLASM:VOLUME,"Volume index for cytoplasm")
{
Value 1E-018;
InitialActivity 1E-018;
}
reactor MichaelisUniUniReactor(/CELL/CYTOPLASM:E.HEX-0,"HEXOKINASE")
{
Substrate /CELL/CYTOPLASM:GL 1;
Substrate /CELL/CYTOPLASM:ATP 1;
Product /CELL/CYTOPLASM:G3P 1;
Product /CELL/CYTOPLASM:ADP 1;
Catalyst /CELL/CYTOPLASM:E.HEX;
KmS 10;
KcF 5;
}
reactor MichaelisUniUniReversibleReactor(/CELL/CYTOPLASM:E.PGI-0,"E.PGI")
{
Substrate /CELL/CYTOPLASM:G3P 1;
Product /CELL/CYTOPLASM:F6P 1;
Catalyst /CELL/CYTOPLASM:E.PGI;
KmS 0.1;
KmP 0.1;
KcF 3;
KcR 0.1;
}
reactor MichaelisUniUniReactor(/CELL/CYTOPLASM:E.PFK-0,"E.PFK")
{
Substrate /CELL/CYTOPLASM:F6P 1;
Substrate /CELL/CYTOPLASM:ATP 1;
Product /CELL/CYTOPLASM:F16BP 1;
Product /CELL/CYTOPLASM:ADP 1;
Catalyst /CELL/CYTOPLASM:E.PFK;
KmS 0.1;
KcF 2;
}
reactor MichaelisUniUniReversibleReactor(/CELL/CYTOPLASM:E.AI-0,"E.AI")
{
Substrate /CELL/CYTOPLASM:F16BP 1;
Product /CELL/CYTOPLASM:DHAP 1;
Product /CELL/CYTOPLASM:GL3P 1;
Catalyst /CELL/CYTOPLASM:E.AI;
KmS 0.1;
KmP 0.1;
KcR 0.1;
KcF 1;
}
reactor MichaelisUniUniReversibleReactor(/CELL/CYTOPLASM:E.TPI-0,"E.TPI")
{
Substrate /CELL/CYTOPLASM:DHAP 1;
Product /CELL/CYTOPLASM:GL3P 1;
Catalyst /CELL/CYTOPLASM:E.TPI;
KmS 0.1;
KmP 0.1;
KcR 0.1;
KcF 1;
}
reactor MichaelisUniUniReversibleReactor(/CELL/CYTOPLASM:E.G3PD-0,"E.G3PD")
{
Substrate /CELL/CYTOPLASM:GL3P 1;
Substrate /CELL/CYTOPLASM:P 2;
Substrate /CELL/CYTOPLASM:NAD 2;
Product /CELL/CYTOPLASM:13BPG 1;
Product /CELL/CYTOPLASM:H 1;
Product /CELL/CYTOPLASM:NADH 2;
Catalyst /CELL/CYTOPLASM:E.G3PD;
KmS 0.1;
KmP 0.1;
KcR 0.1;
KcF 1;
}
reactor MichaelisUniUniReactor(/CELL/CYTOPLASM:E.PGK-0,"E.PGK")
{
Substrate /CELL/CYTOPLASM:13BPG 1;
Substrate /CELL/CYTOPLASM:ATP 1;
Product /CELL/CYTOPLASM:3PG 1;
Product /CELL/CYTOPLASM:ADP 1;
Catalyst /CELL/CYTOPLASM:E.PGK;
KmS 10;
KcF 5;
}
reactor MichaelisUniUniReversibleReactor(/CELL/CYTOPLASM:E.PGM-0,"E.PGM")
{
Substrate /CELL/CYTOPLASM:3PG 1;
Product /CELL/CYTOPLASM:2PG 1;
Catalyst /CELL/CYTOPLASM:E.PGM;
KmS 10;
KmP 0.1;
KcF 5;
KcR 4;
}
reactor MichaelisUniUniReversibleReactor(/CELL/CYTOPLASM:E.EN-0,"E.EN")
{
Substrate /CELL/CYTOPLASM:2PG 1;
Product /CELL/CYTOPLASM:PEP 1;
Product /CELL/CYTOPLASM:H2O 1;
Catalyst /CELL/CYTOPLASM:E.EN;
KmS 10;
KmP 0.1;
KcF 5;
KcR 4;
}
reactor MichaelisUniUniReactor(/CELL/CYTOPLASM:E.PK-0,"E.PK")
{
Substrate /CELL/CYTOPLASM:PEP 1;
Substrate /CELL/CYTOPLASM:ATP 1;
Product /CELL/CYTOPLASM:PYR 1;
Product /CELL/CYTOPLASM:ADP 1;
Catalyst /CELL/CYTOPLASM:E.PK;
KmS 10;
KcF 5;
}
REACTOR FILES:
1)Ordered BiBi Reactor:
@CLASSNAME: ADHOBBReactorR
@DATE: 14/6/2002
@BASECLASS:
FluxReactor
%VERSION:
ecs-v08, 0.2
@AUTHOR:
Karthik venkatesh
@EMAIL:
[email protected]
@BRIEF_DESCRIPTION:Ordered
Bi Bi reaction system
@DESCRIPTION:A
reactor class for ordered reaction that is bireactant in both directions and
can be written
using
the Cleland notation as follows:
@EQUATION:$$
v = V {\frac{\frac{[a][b]}{k_{ia} k_b}- \frac {[p][q]}{K_p K_{iq}}}{ 1 +
\frac{[a]}{K_{ia}} + \frac{K_a [b]}{K_{ia} K_b} + \frac{K_q [p]}{K_p K_{iq}} +
\frac{[q]}{K_{iq}} + \frac{[a][b]}{K_{ia} K_b} + \frac{K_q [a][p]}{K_{ia} K-p
K-{iq}} + \frac{K_a{b}{q}}{K_{ia} K_b K_{iq}} + \frac{[p][q]}{K_p K_{iq}} +
\frac{[a][b][p]}{K_{ia} K_b K_{ip}} + \frac{[b][p][q]}{K_{ia} K_b K_{iq}}}}
%SUBSTANCE:Substrate,
2, 2
%SUBSTANCE:Product,
2, 2
%SUBSTANCE:Catalyst,
1, 1
%PARAMETER: Ka, Float, mM, Michaelis Constant of
Substrate a
%PARAMETER: Kb, Float, mM, Michaelis Constant of
Substrate b
%PARAMETER: Kp, Float, mM, Michaelis Constant of Product
P
%PARAMETER: Kq, Float, mM, Michaelis Constant of Produce
q
%PARAMETER: Kia, Float, mM, Inhibition Constant of
Substrate a
%PARAMETER: V, Float, mM, Inhibition Constant of
Substrate b
%PARAMETER: KiP, Float, mM, Inhibition Constant of
Product P
%PARAMETER: Kiq, Float, mM, Inhibition Constant of
Product q
@REACT_FUNC:
Float a = substrate(0)->concentration();
Float b = substrate(1)->concentration();
Float p = product(0)->concentration();
Float q = product(1)->concentration();
Float
velocity = V * (((a * b)/(Kia * Kb)) - ((p * q)/(Kp * Kiq)) / (1 + (a/Kia) +
((Ka * b)/(Kia * Kb)) + ((Kq * p)/(Kp * Kiq)) + (q/Kiq) + ((Kq * a * p)/(Kia *
Kp * Kiq)) + ((Ka * b * q)/ (Kia * Kb *
Kiq)) + ((p * q)/(Kp * Kiq)) + ((a * p * q)/(Kia * Kb * Kiq)) + ((b * p *
q)/(Kia * Kb * Kiq))))
process(velocity);
2)Mich-Menton
BiBi Reactor:
@CLASSNAME:MMBiBiReactor
@BASECLASS:
FluxReactor
@AUTHOR:
karthik Venkatesh
@EMAIL:
[email protected]
@DATE:
10/6/2002
%VERSION:
ecs-v08, 0.1
@BRIEF_DESCRIPTION:Michaelis-Menten
kinetics for two non competing substrate product couples.
@DESCRIPTION:Michaelis-Menten
kinetics for two non competing substrate product couples.
@EQUATION:$$v=V(\frac{\frac{[a]
[b]}{K_a K_b}(1-z} {(1+\frac{[a]}{K_a}+\frac{p}{K_p})
(1+\frac{b}{K_b}+\frac{q}{K_q})}$$
%SUBSTANCE:Substrate,
2, 2
%SUBSTANCE:Product,
2, 2
%SUBSTANCE:Catalyst,
1, 1
%SUBSTANCE:Effector,
0, 0
%PARAMETER:
Ka, Float, mM, Rate of Reactant
%PARAMETER:
Kb, Float, mM, Rate of Reactant
%PARAMETER:
Kp, Float, mM, Rate of Product
%PARAMETER:
Kq, Float, mM, Rate of Product
%PARAMETER:
Keq, Float,, Equilibrilium Constant
%PARAMETER:
Z, Float,,Mass Action Ratio/Keq
%PARAMETER:
V, Float,U/mg pro,Maximum Velocity
@REACT_FUNC:
Float a =
substrate(0)->concentration();
Float b
= substrate(0)->concentration();
Float p
= product(0)->concentration();
Float q
= product(0)->concentration();
Float
velocity = V + ((a * b * (1-z))/(Ka*Kb))/((1+a/Ka+p/Kp)*(1+b/Kb+q/Kq));
process(velocity);
3) Mich-Menton
Uni Uni Reversible Reactor:
@CLASSNAME:MMUniUniReversibleReactor
@BASECLASS:
FluxReactor
@AUTHOR:
karthik Venkatesh
@EMAIL:
[email protected]
@DATE:
10/6/2002
%VERSION:
ecs-v08, 0.1
@BRIEF_DESCRIPTION:Simple
Henri-Michaelis-Menten UniUni Reversible kinetics.
@DESCRIPTION:Simple
Henri-Michaelis-Menten UniUni Reversible kinetics.
@EQUATION:$$v=\frac
{V \frac{a}{K_a}(1-z)}{1+\frac{a}{K_a}+\frac{p}{K_p}}$$
%SUBSTANCE:Substrate,
1, 1
%SUBSTANCE:Product,
1, 1
%SUBSTANCE:Catalyst,
1, 1
%SUBSTANCE:Effector,
0, 0
%PARAMETER:
Ka, Float, mM, Rate of Reactant
%PARAMETER:
Kp, Float, mM, Rate of Product
%PARAMETER:
Keq, Float,, Equilibrilium Constant
%PARAMETER:
Z, Float,,Mass Action Ratio/Keq
%PARAMETER:
V, Float,U/mg pro,Maximum Velocity
@REACT_FUNC:
Float a
= substrate(0)->concentration();
Float p
= product(0)->concentration();
Float
velocity = V+(a/Ka(1-Y/Keq))/(1+(a/Ka)+(p/Kp));
process(velocity);
4)Ordered
UniUni Reactor:
@CLASSNAME:OUniBiReactor
@BASECLASS:
FluxReactor
@AUTHOR:
karthik Venkatesh
@EMAIL:
[email protected]
@DATE:
10/6/2002
%VERSION:
ecs-v08, 0.1
@BRIEF_DESCRIPTION:Ordered
Uni Bi Reactor.
@DESCRIPTION:Ordered
Uni Bi Reactor.
@EQUATION:$$v=V+\frac{\frac{a}{K_a}(1-z)}{1+\frac{a}{K_a}+\frac{p}{K_p}+\frac{q}{K_q}+\frac{a
q}{K_a K_{iq}}+\frac {p q}{K_p K_q}$$
%SUBSTANCE:Substrate,
1, 1
%SUBSTANCE:Product,
2, 2
%SUBSTANCE:Catalyst,
1, 1
%SUBSTANCE:Effector,
0, 0
%PARAMETER:
Ka, Float, mM, Rate of Reactant
%PARAMETER:
Kp, Float, mM, Rate of Product
%PARAMETER:
Kq, Float, mM, Rate of Product
%PARAMETER:
Keq, Float,, Equilibrilium Constant
%PARAMETER:
Z, Float,,Mass Action Ratio/Keq
%PARAMETER:
V, Float,U/mg pro,Maximum Velocity
%PARAMETER:
Kiq, Float,, iq Constant
@REACT_FUNC:
Float a
= substrate(0)->concentration();
Float p
= product(0)->concentration();
Float q
= product(0)->concentration();
Float
velocity = V +(a * (1-z)/Ka)/(1+a/Ka+p/Kp+q/Kq+(a * q)/(Ka*Kiq)+(p*q)/(Kp*Kq);
process(velocity);
5)
Reactor for Co-Operative Kinetics.
@CLASSNAME:PDCcoopReactor
@BASECLASS:
FluxReactor
@AUTHOR:
Karthik Venkatesh
@EMAIL:
[email protected]
@DATE:
17/6/2002
%VERSION:
ecs-v08, 0.1
@BRIEF_DESCRIPTION:Cooperative
Kinetics
@DESCRIPTION:Simple
Cooperative Kinetics
@EQUATION:$$v=V\frac{(\frac{{[PY]}{K}})^1.9}{1+{\frac{[PY]}{K}}^1.9}$$
%SUBSTANCE:Substrate,
1, 1
%SUBSTANCE:Product,
2, 2
%SUBSTANCE:Catalyst,
1, 1
%PARAMETER:
V, Float, U/mgprotein, Rate of the reaction
%PARAMETER:
K, Float, mM,Michaelis Constant of Product
@REACT_FUNC:
Float PY
= substrate(0)->concentration();
Float P
= product(0)->concentration();
Float E
= catalyst(0)->quantity();
Float
velocity = (KcF * Kp * S - KcR * Ks * P) * E / (Ks * P + Kp * S + Ksp);
process(velocity);
6)
Reactor for Allosteric Regulation.
@CLASSNAME:PFKReactor
@BASECLASS:
FluxReactor
@AUTHOR:
Karthik Venkatesh
@EMAIL:
[email protected]
@DATE:
14/6/2002
%VERSION:
ecs-v08, 0.1
@BRIEF_DESCRIPTION:Simple
Phosphofructokinase kinetics.
@DESCRIPTION:Simple
Phosphofructokinase kinetics.
@EQUATION:$$v=
V {\frac{(g_r Y_1 Y_2 R)}{{R^2} + {L T^2 }}}$$
%SUBSTANCE:Substrate,
1, 1
%SUBSTANCE:Product,
2, 2
%SUBSTANCE:Catalyst,
1, 1
%PARAMETER:
F26P, Float, mmol/lcytosol, Substrate Concentration
%PARAMETER:
V, Float, U/mgprotein, Maximum reate of teh reaction
%PARAMETER:
gr, Float,
%PARAMETER:
Atp, Float, mol/lcytosol, Substrate Concentration
%PARAMETER:
Amp, Float, mol/lcytosol,Substrate Concentration
%PARAMETER:
KrF, Float, mM, Catalytic Constant (Forward)
%PARAMETER:
KrA, Float, mM,Catalytic Constant (Reverse)
%PARAMETER:
Catp, Float, , Michaelis Constant of Substrate
%PARAMETER:
L0, Float, ,Michaelis Constant of Product
%PARAMETER:
Ciatp, Float, , Catalytic Constant (Forward)
%PARAMETER:
Ciamp, Float, ,Catalytic Constant (Reverse)
%PARAMETER:
Katp, Float, mol/l, Catalytic Constant (Forward)
%PARAMETER:
Kamp, Float, mol/l,Catalytic Constant (Reverse)
@INITIALIZE_FUNC:
Float Y1
= F6p/KrF;
Float Y2
= Atp/KrA;
Float R
= 1 + (Y1 * Y2) + (gr * Y1 * Y2);
Float T
= 1 + (Catp * Y2);
Float L
= L0 * ((Katp + (Ciatp * Atp))/(Katp + Atp))^2 * ((Kamp + (Ciamp * Amp))/(Kamp
+ Amp))^2 * ((1 + ((Cif26p * F26P)/Kf26p) + ((Cif16p * F16P)/Kf16p))/(1 +
(F26P/Kf26p) + (F16P/Kf16p)))
@REACT_FUNC:
Float
F6P = substrate(0)->concentration();
Float
F16P = product(0)->concentration();
Float
velocity = V * ((gr * Y1 * Y2 * R)/(R^2 + (L * T^2)))
process(velocity);
7)
Reactor for Transport Across the Membrane.
@CLASSNAME:Transport
Reactor
@BASECLASS:
FluxReactor
@AUTHOR:
karthik Venkatesh
@EMAIL:
[email protected]
@DATE:
13/6/2002
%VERSION:
ecs-v08, 0.1
@BRIEF_DESCRIPTION:Kinetics
for transport of glucose from outside to inside the cell.
@DESCRIPTION:Kinetics
for transport of glucose from outside to inside the cell.
@EQUATION:$$v=\frac{V(\frac{[o]-[i]}{k_g}}{1+\frac{[o]}{k_g}+\frac{[i[}{k_g}+\frac{k_i
[o] [i]}{k_g k_g}}
%SUBSTANCE:Substrate,
1, 1
%SUBSTANCE:Product,
1, 1
%SUBSTANCE:Catalyst,
1, 1
%SUBSTANCE:Effector,
0, 0
%PARAMETER:
Kg, Float, mM, RateConstant of Glucose
%PARAMETER:
Ki, Float, mM, Interactive Constant
%PARAMETER:
V, Float,U/mg pro,Maximum Velocity
%PARAMETER:
o, Float,mM,Concentration of Glucose out
%PARAMETER:
i, Float,mM,Concentration of Glucose in
@REACT_FUNC:
Float S
= substrate(0)->concentration();
Float P
= product(0)->concentration();
Float E
= catalyst(0)->quantity();
Float
velocity = V + ((a * b * (1-z))/(Ka*Kb))/((1+a/Ka+p/Kp)*(1+b/Kb+q/Kq));
process(velocity);
By
R.Karthik Venkatesh.
Centre for Biotechnology.
Anna University.