The {esqlabsR}
package facilitates and standardizes the modeling and
simulation of physiologically based kinetic (PBK) and quantitative
systems pharmacology/toxicology (QSP/T) models implemented in the Open
Systems Pharmacology
Software (OSPS).
The {esqlabsR}
package is designed for PBK modelers who use the OSPS
suite. By using this package, you can streamline your modeling and
simulation (M&S) workflow and ensure standardized and reproducible
practices.
The package provides functions to:
To get started with the esqlabsR package, please follow the Get Started tutorial.
You can install the package by running:
install.packages("pak")
pak::pak("esqLABS/esqlabsR@*release")
The latest development version of the package can also be installed with:
pak::pak("esqLABS/esqlabsR")
Note: For projects created for version 3 of esqlabsR
package, refer to
esqlabsRLegacy
.
You can start with the “Get Started” vignette: vignette("esqlabsR")
.
{esqlabsR}
workflows require a specific project structure. You can
initialize a new project by running:
esqlabsR::initProject()
This will create the required folder structure and files for your project in the working directory from where you run the command.
Below is a simple example of how to work with the package:
# load esqlabsR
library(esqlabsR)
# Load excel-based configuration
# The function `exampleProjectConfigurationPath()` returns the path to the example project
# configuration included in the package. Replace the variable `configurationPath`
# with the path to you project configuration file.
configurationPath <- exampleProjectConfigurationPath()
myProjectConfiguration <-
createProjectConfiguration(configurationPath)
# Define which scenarios to run
scenarioNames <- c("TestScenario")
# Set scenario names to NULL if you want to simulate all scenarios defined in the
# excel file
# scenarioNames <- NULL
# Create `ScenarioConfiguration` objects from excel files
scenarioConfigurations <- readScenarioConfigurationFromExcel(
scenarioNames = scenarioNames,
projectConfiguration = myProjectConfiguration
)
# Define custom parameters for the scenarios. These parameter will be applied
# additionally to the paremetrization specified in the Excel files.
customParam <- list(
paths = c(
"Aciclovir|Lipophilicity"
),
values = c(
-0.1
),
units = c(
"Log Units"
)
)
# Create simulation scenarios defined in the excel files and apply the custom parameters
myScenarios <- createScenarios(
scenarioConfigurations = scenarioConfigurations,
customParams = customParam
)
# Adjust simulation run options, if necessary.
# E.g. disable check for negative values if required
simulationRunOptions <- ospsuite::SimulationRunOptions$new()
simulationRunOptions$checkForNegativeValues <- FALSE
# Run simulations
simulatedScenariosResults <- runScenarios(
scenarios = myScenarios,
simulationRunOptions = simulationRunOptions
)
# Save results and store the path to the results for later re-use
outputFolder <- saveScenarioResults(simulatedScenariosResults, myProjectConfiguration)
# Load observed data using the default importer configuration provided with the package. Alternatively, you can load a custom data importer configuration.
dataSheets <- c("Laskin 1982.Group A")
observedData <- esqlabsR::loadObservedData(
projectConfiguration = myProjectConfiguration,
sheets = dataSheets
)
########## Create figures defined in the Plots.xlsx file########
plots <- createPlotsFromExcel(
plotGridNames = c("Aciclovir",
"Aciclovir2"),
simulatedScenarios = simulatedScenariosResults,
observedData = observedData,
projectConfiguration = myProjectConfiguration,
outputFolder = outputFolder,
stopIfNotFound = TRUE
)
plots$Aciclovir
You can find more information on specific topics in dedicated vignettes:
vignette("esqlabsR-workflow-overview")
to learn about the
esqlabsR’s streamlined workflow.vignette("esqlabsR-project-structure")
details the structure and
purpose of each component file and directory of an esqlabsR project.vignette("esqlabsR-design-scenarios")
explains how you can design
your own simulations only using excel files.vignette("esqlabsR-run-simulations")
describes all you need to know
to run your customized simulations.vignette("esqlabsR-plot-results")
explains how to generate
visualizations from simulations.{esqlabsR}
relies on the following Open Systems Pharmacology R
packages:
Please note that the esqlabsR project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.