| rodeo-class {rodeo} | R Documentation |
rodeo Class
Description
This documents the rodeo class to represent an ODE-based
model. See the rodeo-package main page or type
help(package="rodeo") for an introduction to the package of
the same name.
Fields
prosTblA data frame with fields 'name', 'unit', 'description', and 'expression' defining the process rates.
stoiTblA data frame with fields 'variable', 'process', and 'expression' reprenting the stoichiometry matrix in data base format.
varsTblA data frame with fields 'name', 'unit', 'description' declaring the state variables of the model. The declared names become valid identifiers to be used in the expression fields of
prosTblorstoiTbl.parsTblA data frame of the same structure as
varsdeclaring the parameters of the model. The declared names become valid identifiers to be used in the expression fields ofprosTblorstoiTbl.funsTblA data frame of the same structure as
varsdeclaring any functions referenced in the expression fields ofprosTblorstoiTbl.dimInteger vector specifying the spatial dimensions.
varsNumeric vector, holding values of state variables.
parsNumeric vector, holding values of parameters.
Class methods
For most of the methods below, a separate help page is available describing its arguments and usage.
initializeInitialization method for new objects.namesVars, namesPars, namesFuns, namesProsFunctions returning the names of declared state variables, parameters, functions, and processes, respectively (character vectors). No arguments.lenVars, lenPars, lenFuns, lenProsFunctions returning the number of declared state variables, parameters, functions and processes, respectively (integer). No arguments.getVarsTable, getParsTable, getFunsTable, getProsTable, getStoiTableFunctions returning the data frames used to initialize the object. No argumentsgetDimReturns the spatial dimensions as an integer vector. No arguments.compileCompiles a Fortran library for use with numerical methods from packagesdeSolveorrootSolve.generateTranslate the ODE-model specification into a function that computes process rates and the state variables' derivatives (either in R or Fortran). Consider to use the high-level methodcompile.setVarsAssign values to state variables.setParsAssign values to parameters.getVarsReturns the values of state variables.getParsReturns the values of parameters.stoichiometryReturns the stoichiometry matrix, either evaluated (numeric) or as text.plotStoichiometryPlots qualitative stoichiometry information.
See Also
See the rodeo-package main page or type
help(package="rodeo") to find the documentation of any non-class
methods contained in the rodeo package.
Examples
## Example using high-level functions: Epidemiological SEIR model
# Import model from workbook shipped with this package
m <- buildFromWorkbook(system.file("models/SEIR.xlsx",
package="rodeo"))
# Set parameters and initial state (defaults stored in workbook)
p <- m$getParsTable()
m$setPars(setNames(p$default, p$name))
v <- m$getVarsTable()
m$setVars(setNames(v$default, v$name))
# Run a dynamic simulations and print parts of the result
sim <- m$dynamics(time=1:30, fortran=FALSE)
print(head(sim))
print(tail(sim))
### Example using low-level functions: Bacterial growth in bioreactor
# Creation of model object (data frames shipped as package data)
data(vars, pars, funs, pros, stoi)
model <- rodeo$new(vars, pars, funs, pros, stoi, dim=c(1))
# Assignment of parameters and initial values
model$setPars(c(mu=0.8, half=0.1, yield= 0.1, vol=1000,
flow=50, sub_in=1))
model$setVars(c(bac=0.01, sub=0))
# Implementation of functions declared in 'funs'
monod <- function(c,h) {c/(c+h)}
# Creation of derivatives function in a low-level way; calling
# the 'compile' method is a more convenient alternative
code <- model$generate(name="derivs", lang="r")
derivs <- eval(parse(text=code))
# Explicit call of an integrator from the deSolve package
times <- 0:96
out <- deSolve::ode(y=model$getVars(), times=times, func=derivs,
parms=model$getPars())
colnames(out) <- c("time", model$namesVars(), model$namesPros())
plot(out)