Generate the unimolecular reversible equilibrium reaction S1 <-> S2.
Parameters : | s1, s2 : Monomer or MonomerPattern
klist : list of 2 Parameters or list of 2 numbers
|
---|---|
Returns : | components : ComponentSet
|
Generate the reversible binding reaction S1 + S2 <> S1:S2.
Parameters : | s1, s2 : Monomer or MonomerPattern
site1, site2 : string
klist : list of 2 Parameters or list of 2 numbers
|
---|---|
Returns : | components : ComponentSet
|
Examples
Model() Monomer(‘A’, [‘x’]) Monomer(‘B’, [‘y’]) bind(A, ‘x’, B, ‘y’, [1e-4, 1e-1])
Generate a table of reversible binding reactions.
Given two lists of species R and C, calls the bind macro on each pairwise combination (R[i], C[j]). The species lists and the parameter values are passed as a list of lists (i.e. a table) with elements of R passed as the “row headers”, elements of C as the “column headers”, and forward / reverse rate pairs (in that order) as tuples in the “cells”. For example with two elements in each of R and C, the table would appear as follows (note that the first row has one fewer element than the subsequent rows):
[[ C1, C2],
[R1, (1e-4, 1e-1), (2e-4, 2e-1)],
[R2, (3e-4, 3e-1), (4e-4, 4e-1)]]
Each parameter tuple may contain Parameters or numbers. If Parameters are passed, they will be used directly in the generated Rules. If numbers are passed, Parameters will be created with automatically generated names based on the names and states of the relevant species and these parameters will be included at the end of the returned component list. To omit any individual reaction, pass None in place of the corresponding parameter tuple.
Parameters : | bindtable : list of lists
row_site, col_site : string
|
---|---|
Returns : | components : ComponentSet
|
Examples
Model() Monomer(‘R1’, [‘x’]) Monomer(‘R2’, [‘x’]) Monomer(‘C1’, [‘y’]) Monomer(‘C2’, [‘y’]) bind_table([[ C1, C2],
[R1, (1e-4, 1e-1), (2e-4, 2e-1)], [R2, (3e-4, 3e-1), None ]],‘x’, ‘y’)
Generate the two-step catalytic reaction E + S <> E:S >> E + P.
Parameters : | enzyme, substrate, product : Monomer or MonomerPattern
e_site, s_site : string
klist : list of 3 Parameters or list of 3 numbers
|
---|---|
Returns : | components : ComponentSet
|
Notes
When passing a MonomerPattern for enzyme or substrate, do not include e_site or s_site in the respective patterns. The macro will handle this.
Examples
Using distinct Monomers for substrate and product:
Model()
Monomer('E', ['b'])
Monomer('S', ['b'])
Monomer('P')
catalyze(E, 'b', S, 'b', P, (1e-4, 1e-1, 1))
Using a single Monomer for substrate and product with a state change:
Monomer('Kinase', ['b'])
Monomer('Substrate', ['b', 'y'], {'y': ('U', 'P')})
catalyze(Kinase, 'b', Substrate(y='U'), 'b', Substrate(y='P'),
(1e-4, 1e-1, 1))
Generate the two-step catalytic reaction E + S <> E:S >> E + P. A wrapper around catalyze() with a signature specifying the state change of the substrate resulting from catalysis.
Parameters : | enzyme : Monomer or MonomerPattern
substrate : Monomer or MonomerPattern
e_site, s_site : string
mod_site : string
state1, state2 : strings
klist : list of 3 Parameters or list of 3 numbers
|
---|---|
Returns : | components : ComponentSet
|
Notes
When passing a MonomerPattern for enzyme or substrate, do not include e_site or s_site in the respective patterns. In addition, do not include the state of the modification site on the substrate. The macro will handle this.
Examples
Using a single Monomer for substrate and product with a state change:
Monomer('Kinase', ['b'])
Monomer('Substrate', ['b', 'y'], {'y': ('U', 'P')})
catalyze_state(Kinase, 'b', Substrate, 'b', 'y', 'U', 'P',
(1e-4, 1e-1, 1))
table[0]: [ E1, ..., En] table[1]: [S1(site=’ssub’), S1(site=’sprod’), (kf, kr, kc), ..., (...)] (TABLE, ‘sbsite’, ‘ebsite’)
table[0]: [ E1, ..., En] table[1]: [S1, ‘site’, ‘ssub’, ‘sprod’ , (kf, kr, kc), ..., (...)] (TABLE, ‘sbsite’, ‘ebsite’)
table[0]: [ E1, ..., En] table[1]: [S1, (kf, kr, kc), ..., (...)] (TABLE, ‘sbsite’, ‘ebsite’ ‘smodsite’, ‘ssub’, ‘sprod’)
Generate the one-step catalytic reaction E + S >> E + P.
Parameters : | enzyme, substrate, product : Monomer or MonomerPattern
kf : a Parameter or a number
|
---|---|
Returns : | components : ComponentSet
|
Notes
In this macro, there is no direct binding between enzyme and substrate, so binding sites do not have to be specified. This represents an approximation for the case when the enzyme is operating in its linear range. However, if catalysis is nevertheless contingent on the enzyme or substrate being unbound on some site, then that information must be encoded in the MonomerPattern for the enzyme or substrate. See the examples, below.
If the ability of the enzyme E to catalyze this reaction is dependent on the site ‘b’ of E being unbound, then this macro must be called as
catalyze_one_step(E(b=None), S, P, 1e-4)
and similarly if the substrate or product must be unbound.
Create fwd and reverse rules for catalysis of the form: E + S -> E + P
P -> S
Parameters : | enzyme, substrate, product : Monomer or MonomerPattern
klist : list of 2 Parameters or list of 2 numbers
|
---|---|
Returns : | components : ComponentSet
|
Notes
Calls the macro catalyze_one_step to generate the catalysis rule.
Examples
Model() Monomer(‘E’, [‘b’]) Monomer(‘S’, [‘b’]) Monomer(‘P’) catalyze_one_step_reversible(E, S, P, [1e-1, 1e-4])
Generate a reaction which synthesizes a species.
Note that species must be “concrete”, i.e. the state of all sites in all of its monomers must be specified. No site may be left unmentioned.
Parameters : | species : Monomer, MonomerPattern or ComplexPattern
ksynth : Parameters or number
|
---|---|
Returns : | components : ComponentSet
|
Examples
Model() Monomer(‘A’, [‘x’, ‘y’], {‘y’: [‘e’, ‘f’]}) synthesize(A(x=None, y=’e’), 1e-4)
Generate a reaction which degrades a species.
Note that species is not required to be “concrete”.
Parameters : | species : Monomer, MonomerPattern or ComplexPattern
kdeg : Parameters or number
|
---|---|
Returns : | components : ComponentSet
|
Examples
Model() Monomer(‘B’, [‘x’]) degrade(B(), 1e-6) # degrade all B, even bound species
Generate a table of synthesis and degradation reactions.
Given a list of species, calls the synthesize and degrade macros on each one. The species and the parameter values are passed as a list of lists (i.e. a table) with each inner list consisting of the species, forward and reverse rates (in that order).
Each species’ associated pair of rates may be either Parameters or numbers. If Parameters are passed, they will be used directly in the generated Rules. If numbers are passed, Parameters will be created with automatically generated names based on the names and states of the relevant species and these parameters will be included in the returned component list. To omit any individual reaction, pass None in place of the corresponding parameter.
Note that any species with a non-None synthesis rate must be “concrete”.
Parameters : | table : list of lists
|
---|---|
Returns : | components : ComponentSet
|
Examples
Model() Monomer(‘A’, [‘x’, ‘y’], {‘y’: [‘e’, ‘f’]}) Monomer(‘B’, [‘x’]) synthesize_degrade_table([[A(x=None, y=’e’), 1e-4, 1e-6],
[B(), None, 1e-7]])
Generate rules to assemble a circular homomeric pore sequentially.
The pore species are created by sequential addition of subunit monomers, i.e. larger oligomeric species never fuse together. The pore structure is defined by the pore_species macro.
Parameters : | subunit : Monomer or MonomerPattern
site1, site2 : string
max_size : integer
ktable : list of lists of Parameters or numbers
|
---|
Generate rules to transport cargo through a circular homomeric pore.
The pore structure is defined by the pore_species macro – subunit monomers bind to each other from sp_site1 to sp_site2 to form a closed ring. The transport reaction is modeled as a catalytic process of the form pore + csource <> pore:csource >> pore + cdest
Parameters : | subunit : Monomer or MonomerPattern
sp_site1, sp_site2 : string
sc_site : string
min_size, max_size : integer
csource : Monomer or MonomerPattern
c_site : string
cdest : Monomer or MonomerPattern
ktable : list of lists of Parameters or numbers
|
---|