steadyStates: Calculate analytical steady states.

View source: R/steadyStates.R

steadyStatesR Documentation

Calculate analytical steady states.

Description

This function follows the method published in [1]. Find the latest version of the tool and some examples under [2]. The determined steady-state solution is tailored to parameter estimation. Please note that kinetic parameters might be fixed for solution of steady-state equations. Note that additional parameters might be introduced to ensure positivity of the solution.

The function calls a python script via the reticulate package. Use python3.x

Usage

steadyStates(
  model,
  file = NULL,
  rates = NULL,
  forcings = NULL,
  givenCQs = NULL,
  neglect = NULL,
  sparsifyLevel = 2,
  outputFormat = "R",
  testSteady = "T"
)

Arguments

model

Either name of the csv-file or the eqnlist of the model.

file

Name of the file to which the steady-state equations are saved.

rates

Character vector, flux vector of the system

forcings

Character vector with the names of the forcings

givenCQs

(Unnamed) Character vector with conserved quantities. Use the format c("A + pA = totA", "B + pB = totB"). The format c("A + pA", "B + pB") works also. If NULL, conserved quantities are automatically calculated.

neglect

Character vector with names of states and parameters that must not be used for solving the steady-state equations

sparsifyLevel

numeric, Upper bound for length of linear combinations used for simplifying the stoichiometric matrix

outputFormat

Define the output format. By default "R" generating dMod compatible output. To obtain an output appropriate for d2d [2] "M" must be selected.

testSteady

Boolean, if "T" the correctness of the obtained steady states is numerically checked (this can be very time intensive). If "F" this is skipped.

Value

Character vector of steady-state equations.

Author(s)

Marcus Rosenblatt, marcus.rosenblatt@fdm.uni-freiburg.de

References

[1] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4863410/

[2] https://github.com/marcusrosenblatt/AlyssaPetit

[3] https://github.com/Data2Dynamics/d2d

Examples


## Not run: 
  library(dMod)
  setwd(tempdir())
  
  reactions <- eqnlist()
  reactions <-   addReaction(reactions, "Tca_buffer", "Tca_cyto", 
                             "import_Tca*Tca_buffer", "Basolateral uptake")
  reactions <-   addReaction(reactions, "Tca_cyto", "Tca_buffer", 
                             "export_Tca_baso*Tca_cyto", "Basolateral efflux")
  reactions <-   addReaction(reactions, "Tca_cyto", "Tca_canalicular", 
                             "export_Tca_cana*Tca_cyto", "Canalicular efflux")
  reactions <-   addReaction(reactions, "Tca_canalicular", "Tca_buffer", 
                             "transport_Tca*Tca_canalicular", "Transport bile")
  
  mysteadies <- steadyStates(reactions)
  print(mysteadies)
  
  x <- Xs(odemodel(reactions))
  
  parameters <- getParameters(x)
  trafo <- `names<-`(parameters, parameters)
  trafo <- repar("inner~steadyEqn", trafo, inner = names(mysteadies), steadyEqn = mysteadies)
  
  pSS <- P(trafo, condition = "steady")
  
  set.seed(2)
  pars <- structure(runif( length(getParameters(pSS)), 0,1), names = getParameters(pSS))
  
  prediction <- (x*pSS)(seq(0,10, 0.1), pars, deriv = F)
  plot(prediction)

## End(Not run)

dkaschek/dMod documentation built on July 27, 2023, 11:45 p.m.