Enzymatic Cycle

From BioNetWiki

Jump to: navigation, search

A simple enzymatic cycle based on Example B from Kuwahara 2008. Species S1 and S4 are enzymes that bind reversibly to substrates S2 and S5, respectively. S1 catalyzes the transformation of substrate S2 into S5. S4 catalyzes the reverse transformation.

Reaction Network in BNGL

# Kuwahara JPC 2008, example B
begin parameters
    # kinetic parameters (units: molecules/time)
    k1       1.0
    k2       1.0
    k3       0.1
    k4       1.0
    k5       1.0
    k6       0.1
    # initial conditions (units: molecules)
    S1_init  1
    S2_init  50
    S4_init  1
    S5_init  50
end parameters
begin molecule types
    # declaration of molecule types
    S1
    S2
    S3
    S4
    S5
    S6
end molecule types
begin seed species
    # initial conditions
    S1  S1_init
    S2  S2_init
    S3  0
    S4  S4_init
    S5  S5_init 
    S6  0
end seed species
begin reaction rules
    # E1-S reversible binding
    S2 + S1  <->  S3         k1, k2
    # s2 -> s5, catalyzed by E1
    S3        ->  S5 + S1    k3
    # E4-S reversible binding
    S5 + S4  <->  S6         k4, k5
    # s5 -> s2, catalyzed by E4
    S6        ->  S2 + S4    k6
end reaction rules
# actions
generate_network({overwrite=>1})
simulate_ssa({t_start=>0,t_end=>100,n_steps=>1000,print_end=>1})

Rule-based Implementation (BNGL style)

The next model is equivalent to the reaction network above. But this time we've written a rule-based model in "BNGL style". The substrate has a binding site for enzyme and two state configurations labeled "2" and "5". The enzymes bond to the susbtrate and cataylze a change in the configuration.

# Kuwahara JPC 2008, example B
# coded in BNGL style by J.Hogg
begin parameters
    # kinetic parameters
    k1       1.0    # /molecule/time
    k2       1.0    # /time
    k3       0.1    # /time
    k4       1.0    # /molecule/time
    k5       1.0    # /time
    k6       0.1    # /time
    # initial conditions (units: molecule)
    E1_init  1
    E4_init  1
    S2_init  50
    S5_init  50
end parameters
begin molecule types
    S(e,c~2~5)  # substrate, two configurations (2,5) and enzyme binding site
    E1(s)       # enzyme A, binds substrate in config 5
    E4(s)       # enzyme B, binds substrate in config 2
end molecule types
begin seed species
    # initial conditions
    E1(s)               E1_init    # S1
    S(e,c~2)            S2_init    # S2
    S(e!0,c~2).E1(s!0)  0          # S3
    E4(s)               E4_init    # S4
    S(e,c~5)            S5_init    # S5
    S(e!0,c~5).E4(s!0)  0          # S6
end seed species
begin observables
    # conservation of mass (check)
    Molecules  Total_Mols  E1() E4() S()
end observables
begin reaction rules
    # E1-S reversible binding
    S(e,c~2) + E1(s)   <->  S(e!0,c~2).E1(s!0)  k1, k2
    # s2 -> s5, catalyzed by E1
    S(e!0,c~2).E1(s!0)  ->  S(e,c~5) + E1(s)    k3
    # E4-S reversible binding
    S(e,c~5) + E4(s)   <->  S(e!0,c~5).E4(s!0)  k4, k5
    # s5 -> s2, catalyzed by E4
    S(e!0,c~5).E4(s!0)  ->  S(e,c~2) + E4(s)    k6
end reaction rules

# actions
generate_network({overwrite=>1})
simulate_ssa({t_start=>0,t_end=>100,n_steps=>1000,print_end=>1})

Michaelis-Menten Implementation

The final version of the model describes the same enzymatic cycle with Michaelis-Menten kinetics. Simulating this model in BNG requires the Network3 simulator. Network3 is packaged with the latest test distribution. To use Network3, download the test distribution and compile Network3 by executing 'make network' from the BNG root directory (requires Cmake and a C++ compiler).

# Kuwahara JPC 2008, example B
# Michaelis-Menten variant
# coded in BNGL by J.Hogg
begin parameters
    # kinetic parameters
    k1       1.0    # units: /time/molecule
    k2       1.0    # units: /time
    k3       0.1    # units: /time
    k4       1.0    # units: /time/molecule
    k5       1.0    # units: /time
    k6       0.1    # units: /time
    # total enzyme and substrate (units: molecules)
    E1_tot  1
    E4_tot  1
    S2_tot  50
    S5_tot  50
    # derived parameters (units: molecules)
    Km2      (k2 + k3)/k1    # units: molecules
    Km5      (k5 + k6)/k4    # units: molecules
    # calculate initial free S2 and S5,
    #   assuming quasi-equillibrium enzyme binding
    S2_free0  (S2_tot + E1_tot - Km2)/2 + sqrt((S2_tot + E1_tot - Km2)^2 + 4*Km2)/2
    S5_free0  (S5_tot + E4_tot - Km5)/2 + sqrt((S5_tot + E4_tot - Km5)^2 + 4*Km5)/2
end parameters
begin molecule types
    S(c~2~5)
    E1()
    E4()
end molecule types
begin seed species
    # initial conditions
    E1()    E1_tot      # S1+S3 (total enzyme A)
    S(c~2)  S2_free0    # S2 (free substrate in config 2)
    E4()    E4_tot      # S4+S6 (total enzyme B)
    S(c~5)  S5_free0    # S5 (free substrate in config 5)
end seed species
begin observables
    # free substrate (required for functional ratelaw)
    Molecules  S2_free     S(c~2)
    Molecules  S5_free     S(c~5)
end observables
begin reaction rules
    # s2 -> s5, catalyzed by E1
    S(c~2) + E1()  ->  S(c~5) + E1()    k3/(Km2 + S2_free)
    # s5 -> s2, catalyzed by E4
    S(c~5) + E4()  ->  S(c~2) + E4()    k6/(Km5 + S5_free)
end reaction rules

# actions
generate_network({overwrite=>1})
simulate_ode({t_start=>0,t_end=>100,n_steps=>1000,print_end=>1})

Notice that the Michaelis-Menten model is posed in terms of free substrate, not total substrate. Consequently, initial free substrate must be calculated as a quasi-equilibrium of total substrate and total enzyme. If it is necessary to pose a model in terms of total substrate, a variant of the Michaelis-Menten ratelaw would be required. See the BioNetGen chapter (see Note #20).

Personal tools