buildFromWorkbook: Build a model from the contents of a workbook

View source: R/plainMethod_buildFromWorkbook.r

buildFromWorkbookR Documentation

Build a model from the contents of a workbook

Description

The function builds a rodeo-based model by importing all declarations and equations from a workbook established with common spreadsheet software.

Usage

buildFromWorkbook(workbook, dim = 1, fortran = FALSE, sources = NULL, ...)

Arguments

workbook

File path of the workbook. The file type is guessed from the extension which must be '.xlsx' or '.ods'. See below for the mandatory worksheets that must be present in the workbook.

dim

The number of spatial compartments, possibly in multiple dimensions. For single-box models without spatial resolution, use dim=1 (default). For a one-dimensional model with 10 compartments use, e.g., dim=10. See the dim argument of the method initialize for further details.

fortran

Controls the language of code generation. The default (FALSE) produces R code. Use TRUE if you want to use compiled Fortran code for better performance. In the latter case, you will need a Fortran compiler which is accessible by R.

sources

Only relevant if fortran=TRUE. The argument allows the name(s) of additional source file(s) to be provided for processing by the Fortran compiler. In any case, the Fortran code in sources must implement a module with the fixed name 'functions'. This module must contain all user-defined functions referenced in any process rate expressions or any cell of the stoichiometry matrix.

...

Optional arguments passed to read_excel or read_ods, respectively.

Value

An object of class rodeo.

Note

The file provided as workbook must contain at least the four mandatory sheets:

  • 'vars' Declares the state variables of the model. Mandatory columns are 'name', 'unit', 'description'.

  • 'pars' Declares the parameters of the model. Mandatory columns are the same as for sheet 'vars'.

  • 'funs' Declares user-defined functions appearing in any equations of the model. Mandatory columns are the same as for sheet 'vars'. If source code is generated for R (fortran=FALSE), the declared functions must be accessible in the environment where the model is run. If fortran=TRUE, the functions must be implemented in the file(s) listed in sources to be included in compilation.

  • 'eqns' Specifies the model equations. Mandatory columns are 'name', 'unit', 'description', 'expression' plus one column for every state variable of the model. The 'expression' columns holds the process rate expressions and columns named after state variables contain the corresponding stoichiometric factors.

The best way to understand the contents of a suitable workbook is to study the examples in the folder 'models' shipped with the package. Type system.file("models", package="rodeo") at the R prompt to see where this folder is installed on your system.

Author(s)

David Kneis david.kneis@tu-dresden.de

Examples


# Build a SEIR type epidemic model
m <- buildFromWorkbook(
  system.file("models/SEIR.xlsx", package="rodeo")
)
m$setPars(setNames(m$getParsTable()$default,
  m$getParsTable()$name))
m$setVars(setNames(m$getVarsTable()$default,
  m$getVarsTable()$name))
x <- m$dynamics(times=0:30, fortran=FALSE)
print(head(x))

rodeo documentation built on Sept. 11, 2024, 8:02 p.m.