Perform parameter estimation using a genetic algorithm (package genalg).

Share:

Description

This function uses a genetic algorithm (package genalg) to perform parameter estimation. The objective function is the same as the one provided by getLBodeContObjFunction.

Usage

1
2
3
4
	parEstimationLBodeGA(cnolist, model, ode_parameters = NULL, indices = NULL, mutationChance = NA, popSize = 200, iters = 100, 
		elitism = NA, time = 1, monitor = TRUE, verbose = 0, transfer_function = 3, reltol = 1e-04, 
		atol = 0.001, maxStepSize = Inf, maxNumSteps = 1e+05, maxErrTestsFails =
50, nan_fac = 1, initial_state=0.1)

Arguments

cnolist

A list containing the experimental design and data.

model

The logic model to be simulated.

ode_parameters

A list with the ODEs parameter information. Obtained with createLBodeContPars.

indices

Indices to map data in the model. Obtained with indexFinder function from CellNOptR.

mutationChance

the chance that a gene in the chromosome mutates. By default 1/(size+1). It affects the convergence rate and the probing of search space: a low chance results in quicker convergence, while a high chance increases the span of the search space.

popSize

the population size.

iters

the number of iterations.

elitism

the number of chromosomes that are kept into the next generation. By default is about 20% of the population size

time

An integer with the index of the time point to start the simulation. Default is 1.

monitor

If TRUE a plot will be generated to monitor the objective function

verbose

A logical value that triggers a set of comments.

transfer_function

The type of used transfer. Use 1 for no transfer function, 2 for Hill function and 3 for normalized Hill function.

reltol

Relative Tolerance for numerical integration.

atol

Absolute tolerance for numerical integration.

maxStepSize

The maximum step size allowed to ODE solver.

maxNumSteps

The maximum number of internal steps between two points being sampled before the solver fails.

maxErrTestsFails

Specifies the maximum number of error test failures permitted in attempting one step.

nan_fac

A penalty for each data point the model is not able to simulate. We recommend higher than 0 and smaller that 1.

initial_state

initial state of the dynamic nodes (non-measured) (Defaults to 0.1)

Value

LB_n

A numeric value to be used as lower bound for all parameters of type n.

LB_k

A numeric value to be used as lower bound for all parameters of type k.

LB_tau

A numeric value to be used as lower bound for all parameters of type tau.

UB_n

A numeric value to be used as upper bound for all parameters of type n.

UB_k

A numeric value to be used as upper bound for all parameters of type k.

UB_tau

A numeric value to be used as upper bound for all parameters of type tau.

default_n

The default parameter to be used for every parameter of type n.

default_k

The default parameter to be used for every parameter of type k.

default_tau

The default parameter to be used for every parameter of type tau.

LB_in

An array with the the same length as ode_parameters$parValues with lower bounds for each specific parameter.

UB_in

An array with the the same length as ode_parameters$parValues with upper bounds for each specific parameter.

opt_n

Add all parameter n to the index of parameters to be fitted.

opt_k

Add all parameter k to the index of parameters to be fitted.

opt_tau

Add all parameter tau to the index of parameters to be fitted.

random

A logical value that determines that a random solution is for the parameters to be optimized.

res

A list containing the information provided by the nonlinear optimization solver (genalg).

Author(s)

David Henriques, Thomas Cokelaer

See Also

CellNOptR createLBodeContPars rbga

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
data("ToyCNOlist",package="CNORode");
data("ToyModel",package="CNORode");
data("ToyIndices",package="CNORode");
	
ode_parameters=createLBodeContPars(model,random=TRUE);
#Visualize intial simulation
#simulatedData=plotLBodeFitness(cnolistCNORodeExample, model,ode_parameters,indices=indices)

ode_parameters=parEstimationLBodeGA(cnolistCNORodeExample,model,ode_parameters=ode_parameters,
indices=indices,maxStepSize=1,atol=1e-3,reltol=1e-5,transfer_function=2,popSize=10,iter=40);

#Visual solution after optimization
simulatedData=plotLBodeFitness(cnolistCNORodeExample, model,indices=indices,ode_parameters=ode_parameters);

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.