This function is designed to computes RNV of one simulation launched by simul.evol.enz.one.
Input res_sim is a result of simul.evol.enz.one.
If you used simul.evol.enz.multiple, input tabR for parameter res_sim.
If input is several simulations, remember that number of rows for one simulation is npt.
See below.
The Range of Neutral Variations (RNV) are mutant concentration values such as coefficient selection is between \(1/(2N)\) and \(-1/(2N)\).
Inferior (resp. superior) bound of RNV corresponds to selection coefficient equal to \(-1/(2N)\) (resp. \(1/(2N)\)).
Function RNV.for.simul computes the actual mutation effect \(\delta_i\) at RNV bounds (where \(i\) is the enzyme targeted by the mutation),
but also mutant concentration at RNV bounds and the RNV size.
Depending on applied constraint correl_fun, it exists 1 or 2 RNV.
In case of independence ("SC") or positive regulation between all enzymes ("RegPos"), flux has no limit and there is only one RNV.
In other cases (competition and/or negative regulation), because flux can reach a maximum, there is two RNV:
a "near" one, for small mutations, and a "far" one for big mutations that put mutants on the other side of flux dome.
RNV size
The RNV size is the absolute value of \(\delta_i^sup\) minus \(\delta_i^inf\).
If there is no superior bounds but there is two RNVs, RNV size is obtained by the difference of the two \(\delta_i^inf\).
The mean of RNv size is the mean of every resident for each enzyme. If end.mean=TRUE, only last half of resident (the last half of res_sim rows) are used to compute RNV mean.
Use of res_sim
res_sim is a numeric matrix of (3*n+4) columns and at least 2 rows.
Respective columns are: concentrations (1:n), kinetic parameters (n+1:2n), total concentration (2n+1), total kinetic (2n+2), flux/fitness (2n+3) and activities (2n+4:3n+3), corresponding to (E1 to En, kin_1 to kin_n, Etot, kin_tot, J, A1 to An).
See function simul.evol.enz.one.
res_sim is normally output $res_sim of function simul.evol.enz.one.
Output $tabR of function simul.evol.enz.multiple is also possible, by selecting a simulation with x$tabR[x$tabR$sim==i,] where i is simulation number.
If input is several simulations, remember that number of rows for one simulation is npt.
Other parameters (n_fun, N_fun, correl_fun, beta_fun) are available in output $param of simulation functions.