This function simulates evolution of enzyme concentrations under constraints
simul.evol.enz.one(E_ini_fun, kin_fun, Keq_fun, N_fun, correl_fun,
beta_fun=NULL, X_fun=1, pasobs=250, npt=500, max_mut_size_E=1, max_mut_size_A=1,
pmutA=0, typ_E=1, typ_A=1, use.old.mut=FALSE)Numeric vector of the initial concentrations
Numeric vector of the initial kinetic parameters
Numeric vector of equilibrium constants
Numeric. Population size
Character string indicating the abbreviation of the constraint applied on the system
Matrix of co-regulation coefficients
Numeric. Numerator of function flux. Default is 1
Numeric. Number of time steps between two successive observations of the system. Default is 250
Numeric. Number of observations. Default is 500
Numeric. Maximum absolute size of mutation for enzyme concentrations. Default is 1
Numeric. Maximum absolute size of mutation for kinetic parameters. Default is 1
Numeric. Mutation probability of kinetic parameters.
Higher pmutA, higher the mutation probability of kinetic parameters compared to enzyme concentrations.
Default is 0, i.e. no mutation of kinetic parameters
Numeric for mutation method. Authorized values: 1 or 2. Default is 1.
Numeric for mutation method. Default is 1. See details in mut.kin.
Logical. If FALSE (default), use mut.E.direct mutation method, else use mut.E.old mutation method if TRUE
Invisible list of 4 elements:
$res_sim: numeric matrix of npt rows and 3*n+3 columns.
Each row corresponds to state at each observation step (i.e. after pasobs mutations),
and columns are respectively concentrations (1:n), kinetic parameters (n+1:2n), total concentration (2n+1), total kinetic (2n+2), flux/fitness (2n+3), activities (2n+4:3n+3);
$pred_enzsim: numeric matrix of npt rows and n columns, corresponding to relative concentrations at equilibrium, for each observation step (in rows);
$pred_contsim: same as $pred_enzsim, but for response coefficients
$param: list of input parameters:
n: number of enzymes,
E0: numeric vector of initial concentrations,
kin: numeric vector of initial kinetic parameters,
Keq: numeric vector of constant equilibrium,
beta: matrix of co-regulation coefficients,
B: numeric vector of global co-regulation coefficients,
correl: character string indicating the constraint abbreviation,
N: population size,
pasobs: number of steps between two system observations,
npt: number of system observations,
X: parameter for flux computation,
pmutA: probability for activity mutation,
other input parameters
Note that n is the number of enzymes, which is the length of E_ini_fun.
Time step is defined between appearance of two mutation.
Time step is simulated with function simul.next.resident, which gives values of resident after a time step.
To reduce size of result matrix, certain results only are conserved.
State of simulation is observed every pasobs time steps.
There is npt observations, so result matrix has npt rows.
In total, a simulation includes pasobs*npt time steps. By default, there is 125 000 time steps.
Chosen equilibrium for pred_enzsim and pred_contsim are the theoretical equilibrium for constraints "SC", "Comp" and "RegPos",
and the effective one for constraints "RegNeg", "CRPos" and "CRNeg".
If there are regulation groups (1<sum(1/B)<n), the equilibrium is not computed, and pred_ returns NA.
See function simul.next.resident to see how works each time steps.
Use function simul.evol.enz.multiple to compute several simulations.