Learn R Programming

SimEvolEnzCons (version 2.0.0)

RNV.delta.all.enz: Delta at RNV for all enzymes

Description

This function computes actual mutation effect \(\delta\) at RNV for each enzyme

Usage

RNV.delta.all.enz(E_res_fun,A_fun,N_fun,correl_fun,beta_fun=NULL,tol_fun=0.0001)

Arguments

E_res_fun

Numeric vector of enzyme concentrations (resident)

A_fun

Numeric vector of activities

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

tol_fun

Numeric and positive value. Accuracy for delta bounds. Default is 0.0001

Value

List of n elements, one for each enzyme i considering that \(i\) is targeted by the mutation.

For each element of the list, we have a vector of length 2 or 4, depending on applied constraint correl_fun. Values of this vector are:

  1. delta_i value for inferior bounds of the near RNV

  2. delta_i value for superior bounds of the near RNV

  3. delta_i value for inferior bounds of the far RNV (if exists)

  4. delta_i value for superior bounds of the far RNV (if exists)

If superior bound is not accessible, value is NA.

Note that n is the number of enzymes, which is the length of E_ini_fun.

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.delta.all.enz computes the actual mutation effect \(delta_i\) at RNV bounds, where \(i\) is the enzyme targeted by the mutation.

Depending on applied constraints 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 in the other side of flux dome.

Known bug

Due to use of range_delta to limit search area, output \(\delta\) is computed to have mutant concentration between 0 and sum(E_res_fun) (resident total concentration). If \(\delta\) is too high (mutant concentration over resident total concentration), output \(\delta\) could be NA rather than a numeric value. This case might happen when N_fun is too low and correl_fun="SC" or "RegPos" (no limit on total concentration),

References

Coton et al. (2021)

See Also

\(delta\) at RNV bounds is obtained by nullify the expression in odd.discrete.sel.coef.

Examples

Run this code
# NOT RUN {
Er <- c(30,30,30)
A <- c(1,10,30)
beta <- matrix(c(1,10,5,0.1,1,0.5,0.2,2,1),nrow=3)
correl <- "CRPos"
N <- 1000

RNV.delta.all.enz(Er,A,N,correl,beta)

correl <- "SC"
RNV.delta.all.enz(Er,A,N,correl)



# }

Run the code above in your browser using DataLab