RNV.compute.elements: Compute RNV and associated elements for all enzymes...

Description Usage Arguments Details Value See Also Examples

View source: R/RNV.compute.elements.R

Description

(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.

Usage

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)

Arguments

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 mat_E.

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 FALSE, compute RNV size mean of all resident. If TRUE, compute RNV size mean for last half of resident only.

add.RNV.J

Logical. Add value of flux at RNV ? If TRUE, possibility set also mat_J.

mat_J

Numeric matrix of flux. One column and same rows number as mat_E. Optional.

X_fun

Numeric value. Default is 1

Details

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.

Value

List of 7 elements:

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 Also

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.

Examples

 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)

SimEvolEnzCons documentation built on Oct. 29, 2021, 1:07 a.m.