Description Usage Arguments Details Value See Also Examples
View source: R/RNV.compute.elements.R
(Deprecated). This function computes different elements at RNV, for different resident concentrations, based on function RNV.delta.all.enz
For simulations, preferably use RNV.for.simul
.
1 2 | RNV.compute.elements(mat_E,mat_A,N_fun,correl_fun,beta_fun=NULL,
end.mean=TRUE,add.RNV.J=FALSE,mat_J=NULL,X_fun=1)
|
mat_E |
Numeric matrix of concentrations. Columns correspond to enzyme number, and rows correspond to different resident. |
mat_A |
Numeric matrix of activities. Same dimensions as |
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 |
end.mean |
Logical. If |
add.RNV.J |
Logical. Add value of flux at RNV ? If |
mat_J |
Numeric matrix of flux. One column and same rows number as |
X_fun |
Numeric value. Default is |
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.compute.elements
computes the δ_i at RNV bounds (where i is the enzyme targeted by the mutation),
but also mutant concentrations at RNV bounds and the RNV size.
The RNV size is the absolute value of δ_i^sup minus δ_i^inf.
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 RNVs:
a "near" one, for small mutations, and a "far" one for big mutations that put mutant in the other side of flux dome.
This function RNV.compute.elements
is designed to compute RNV of one simulation launched by simul.evol.enz.multiple
.
For example, for simulation 1, put mat_E=tabR[tabR$sim==1,1:n]
and mat_A=tabR[tabR$sim==1,(2*n+4):(3*n+3)]
. To reduce computation time, put mat_J=tabR[tabR$sim==1,(2*n+3)]
for flux.
It also works for different resident values of concentrations and activities.
List of 7 elements:
$RNV_delta
: list of n
elements, one by enzyme.
Each element contains a numeric matrix of nb_resid
rows and two or four columns.
For each enzyme i (a list element), each row corresponds to one resident and columns are actual mutation effect δ_i corresponding respectively to inferior bound (col 1) and superior bound (col 2) of RNV (x2 if there is a second RNV).
Each row is a result of RNV.delta.all.enz
.
$RNV_enz
: same structure as $RNV_delta
, but for mutant enzyme concentrations at RNV limits, i.e. E_i + δ_i for each target enzyme i ;
$RNV_size
: list of one or two elements (depending on RNV number).
Each element contains a matrix of n
columns (one by enzyme) and nb_resid
rows.
Each cell is the RNV size for current enzyme (in column) and current resident (in row).
The RNV size is absolute value of δ_i^sup minus δ_i^inf. If there is no superior bounds but there is two RNV, RNV size is obtained by the difference of the two δ_i^inf.
$RNV_size_divEtot
: same structure as $RNV_size
, but for RNV size divided by total concentration of corresponding resident.
$RNV_proxy
: numeric matrix of one or two rows (depending on RNV number) and n
columns (one by enzyme).
Each cell id the mean of RNV size. If end.mean=TRUE
, the mean is computed from last half of resident.
$RNV_proxy_divEtot
: same structure as $RNV_proxy
, but mean of RNV size is divided by mean of total concentration.
$RNV_flux
: numeric matrix of two columns (inferior and superior limits of neutral zone) and nb_resid
rows.
Each cell is the flux value at neutral zone limits.
Note that n
is the number of enzymes. nb_resid
is the number of resident and s also the row number of mat_E
and mat_A
.
See function RNV.delta.all.enz
to see how actual mutation effect δ is computed.
For simulations, preferably use RNV.for.simul
. Code is almost the same for the two functions, but differs in input.
1 2 3 4 5 6 7 8 9 10 11 12 | #for 2 resident genotypes and 3 enzymes
Er <- matrix(30,ncol=3,nrow=2)
A <- matrix(c(1,10,30),byrow=TRUE,ncol=3,nrow=2)
beta <- matrix(c(1,10,5,0.1,1,0.5,0.2,2,1),nrow=3)
B <- compute.B.from.beta(beta)
correl <- "CRPos"
N <- 1000
#second resident = theoretical equilibrium of first resident
Er[2,] <- 100*predict_th(A[1,],correl,B)$pred_e
RNV.compute.elements(Er,A,N,correl,beta,add.RNV.J=TRUE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.