Description Usage Arguments Details Value References See Also Examples
View source: R/simul.next.resident.R
simul.next.resident
simulates a time step, i.e. computes effects of a new mutation and gives next resident values whatever this mutation is fixed or not
1 2 3 | simul.next.resident(E_res_fun, kin_fun, Keq_fun, N_fun,
correl_fun, beta_fun=NULL, X_fun=1, max_mut_size_E=1, max_mut_size_A=1,
pmutA=0, typ_E=1, typ_A=1, use.old.mut=FALSE)
|
E_res_fun |
Numeric vector of enzyme concentrations (resident) |
kin_fun |
Numeric vector of kinetic parameters (catalytic constant kcat divided by Michaelis constant Km) |
Keq_fun |
Numeric vector of equilibrium constants |
N_fun |
Numeric. Population size |
correl_fun |
Character string indicating the abbreviation of the constraint applied on the system |
beta_fun |
Matrix of co-regulation coefficients |
X_fun |
Numeric. Numerator of function |
max_mut_size_E |
Numeric. Maximum absolute size of mutation for enzyme concentrations. Default is 1 |
max_mut_size_A |
Numeric. Maximum absolute size of mutation for kinetic parameters. Default is 1 |
pmutA |
Numeric. Mutation probability of kinetic parameters.
Higher |
typ_E |
Numeric for mutation method. Authorized values: 1 or 2. Default is 1. |
typ_A |
Numeric for mutation method. Default is 1. See details in |
use.old.mut |
Logical. If |
This function gives the genotype (enzyme concentrations and activities) and phenotype (flux) values of the next resident in an haploid population after a time step. Here, a time step corresponds to the apparition and fixation (or disappearance) of a mutation targeting one enzyme. Therefore a time step is the interval between appearances of two successive mutations.
This function is used for simulation of enzyme concentration evolution.
Algorithm
target enzyme and mutation sign are chosen randomly with a uniform law
mutation targets randomly concentration or kinetic parameter depending on pmutA
value
mutation size is chosen randomly between 0 and max_mut_size_E
for concentrations (resp. max_mut_size_A
for kinetic parameters), then multiplied by its sign
mutation effects on all enzymes are computed with function mut.E.direct
(resp. mut.kin
). The input mutation method is only available for mut.E.old
, but multiplicative mutation method typ_E=2
is not accurate in case of regulation
if concentration or kinetic parameter become negative, which is biologically impossible, they are set to 0
activities, then flux are computed
selection coefficient is also computed, considering flux as fitness
fixation probability of this mutation is computed
fixation of this mutation is random, depending on this fixation probability: if mutation is fixed, mutant become resident for next step, else resident is unchanged for next step
returns value of the resident for next step
Algorithm is also detailed in Coton et al. (2021)
Returns a list of 7 elements:
$E_next
: numeric vector (length n
) of the enzyme concentrations of next resident
$kin_next
: numeric vector (length n
) of the kinetic parameters of next resident
$Etot_next
: numeric, the total concentration of next resident
$kintot_next
: numeric, the total kinetic of next resident
$J_next
: numeric, flux of next resident
$size_mut
: numeric, mutation size, even if it is not fixed
$target_mut
: numeric, number of enzyme targeted by the mutation
Note that n
is the number of enzymes, which is the length of E_res_fun
.
Coton et al. (2021)
See function mut.E.direct
and mut.kin
to see how enzymes are mutated.
Fitness is computed with function flux
.
1 2 3 4 5 6 7 8 |
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.