simul.evol.enz.multiple: Multiple simulations of enzyme evolution

Description Usage Arguments Details Value See Also Examples

View source: R/simul.evol.enz.multiple.R

Description

This function gives multiple simulations of evolution of enzyme concentrations under constraints

Usage

1
2
3
4
5
simul.evol.enz.multiple(E_ini_fun, kin_fun, Keq_fun, nsim, 
N_fun, correl_fun, beta_fun=NULL, X_fun=1, pasobs=250, npt=500, 
same.E0=TRUE, is.random.E0=FALSE, same.kin0=TRUE, is.random.kin0=FALSE,
Etot_fun=100, kin_max=1000, max_mut_size_E=1, max_mut_size_A=1,
pmutA=0, typ_E=1, typ_A=1, use.old.mut=FALSE)

Arguments

E_ini_fun

Numeric vector of the initial concentrations

kin_fun

Numeric vector of the initial kinetic parameters

Keq_fun

Numeric vector of equilibrium constants

nsim

Numeric. Number of simulations

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 flux. Default is 1

pasobs

Numeric. Number of time steps between two successive observations of the system. Default is 250

npt

Numeric. Number of observations. Default is 500

same.E0, same.kin0

Logical. Uses same E_ini_fun / kin_fun for all simulations ? Default is TRUE.

is.random.E0, is.random.kin0

Logical. Is E_ini_fun / kin_fun chosen randomly ? Default is FALSE.

Etot_fun

Numeric. Total concentration if is.random.E0 is TRUE. Default is 100.

kin_max

Numeric. Maximal value for random kin_fun. Default is 1000.

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 pmutA, higher the mutation probability of kinetic parameters compared to enzyme concentrations. Default is 0, i.e. no mutation of kinetic parameters

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 mut.kin.

use.old.mut

Logical. If FALSE (default), use mut.E.direct mutation method, else use mut.E.old mutation method if TRUE

Details

Details about how does simulations work are in function simul.evol.enz.one documentation.

Apply would also work, but only for multiple values of E_ini_fun. simul.evol.enz.multiple gives all results in a same table, and has the possibility to change kinetic parameters between simulation.

Initial parameters

You can choose if initial concentrations and initial kinetic parameters are identical between all simulations by setting same.E0 and same.kin0.

You can choose randomly initial concentrations and initial kinetic parameters by setting is.random.E0 and is.random.kin0.

Four cases are possible. Examples are given for initial concentrations, but are the same for kinetic parameters, where same.E0, is.random.E0 and E_ini_fun are respectively same.kin0, is.random.kin0 and kin_fun.

$list_init is the return for initial concentrations, kinetic parameters and activities.

Other details

Note that n is the number of enzyme and is determined by length of Keq_fun.

Value

Invisible list of 6 elements:

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

See Also

See function simul.evol.enz.one to see how works a simulation.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# case for 3 enzymes
n <- 3
E0 <- c(30,30,30)
kin <- c(1,10,30)
Keq <- c(1,1,1)
nsim <- 2 # 2 simulations
N <- 1000
beta <- diag(1,n)
beta[upper.tri(beta)] <- c(0.32,0.32*(-0.43),-0.43)
#beta_12 = 0.32, beta_13 = beta_12 x beta_23, beta_23 = -0.43
t_beta <- t(beta) #because R fills matrix column by column
beta[lower.tri(beta)] <- 1/t_beta[lower.tri(t_beta)] #beta_ji = 1/beta_ij
if (n==3) {beta[lower.tri(beta)] <- 1/beta[upper.tri(beta)]} #only available if n=3
correl <- "RegNeg"

evol_sim <- simul.evol.enz.multiple(E0,kin,Keq,nsim,N,correl,beta)
evol_sim$tabR[,1:n] #concentrations
evol_sim$tabR[,(n+1):(2*n)] #kinetic parameters
evol_sim$tabR[,(2*n+1)] #total concentration
evol_sim$tabR[,(2*n+2)] #total kinetic
evol_sim$tabR[,(2*n+3)] #flux
evol_sim$tabR[,(2*n+4):(3*n+3)] #activities
evol_sim$tabR$sim #simulation number
evol_sim$tabR[evol_sim$tabR$sim==2,] #results for 2nd simulation

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