Execute a Virtual Bioequivalence Run
This RMarkdown file executes an existing Virtual Bioequivalence Run. The script utilizes the gastroPlusAPI package to communicate with the GastroPlus X 10.2 service.
To customize your study with this script for a different simulation / project / variables, please make changes to the “Set Input Information” section.
Configure required packages
Load other necessary packages required to execute the script
Load gastroPlusAPI package
library(tidyverse)
library(gastroPlusAPI)
Set working directory
Set working directory as the current source editor context
if (rstudioapi::isAvailable()){
current_working_directory <- dirname(rstudioapi::getSourceEditorContext()$path)
setwd(current_working_directory)
}
Start GPX Service
gpx_service <- start_service(verbose=FALSE)
✔ Configured the GastroPlus Service
gpx_service$is_alive()
[1] TRUE
Set Input Information
Make modification to the variables in this chunk to customize your analysis.
project_path = Location of the project with the Population Simulation run popsim_run_name = Name of the Virtual Bioequivalence run to be executed compound_name = Name of the compound in the simulations selected for the Virtual Bioequivalence Run reference_simulation_name = Name of the Reference Simulation in the VBE run test_simulation_name = Name of the Test Simulation in the VBE run
project_path = "../../ProjectFiles/Valproate-VBE.gpproject"
vbe_run_name = "vbe_slow_vs_slightly_slow"
compound_name = "Valproate"
reference_simulation_name = "500mg-ER Slow"
test_simulation_name = "500mg-ER Slightly Slow"
Execute the run
Checks if the specified run exists in the project and executes it
open_project(project_path)
#available runs
get_runs()
# A tibble: 4 × 1
run_name
<chr>
1 Exploratory Simulation
2 popsim_2_trial_100_pop
3 vbe_slow_vs_slightly_slow
4 vbe_replicate_slow_vs_slightly_slow
#execute the run
execute_run(vbe_run_name)
Process Run Output
Get summary output and Systemic Circulation Plasma Concentration for all iterations in the run for reference and test simulations selected for the VBE
#Get available simulation iteration keys in the run
simulation_iteration_keys <- get_simulation_keys(vbe_run_name)
#Get summary output table for all simulations in the run
summary_output <- get_summary_output(vbe_run_name, simulation_iteration_keys$simulation_iteration_key_name)
#Get Simulation Name
simulations_in_run <- get_simulations_in_run(vbe_run_name)
#Get concentration plasma for all the iterations in the run
concentration_plasma_series_list <- list()
plasma_concentration_series_descriptor <- paste(compound_name, CompartmentType$SystemicCirculation, StateType$ConcentrationPlasma, sep= " - ")
#Get concentration plasma data for all the iterations within the popsim run
reference_simulation_iteration_keys <- simulation_iteration_keys %>% filter(simulation_name == reference_simulation_name)
test_simulation_iteration_keys <- simulation_iteration_keys %>% filter(simulation_name == test_simulation_name)
reference_series_data <- get_series_data(vbe_run_name, reference_simulation_name, plasma_concentration_series_descriptor, reference_simulation_iteration_keys$simulation_iteration_key_name)
test_series_data <- get_series_data(vbe_run_name, test_simulation_name, plasma_concentration_series_descriptor, test_simulation_iteration_keys$simulation_iteration_key_name)
glimpse(reference_series_data)
Rows: 27,879
Columns: 8
$ dependent_unit <chr> "ng/mL", "ng/mL", "ng/mL", "ng/mL", "n…
$ independent_unit <chr> "h", "h", "h", "h", "h", "h", "h", "h"…
$ iteration <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ dependent <dbl> 0.000000e+00, 4.923835e-16, 3.825921e-…
$ independent <dbl> 0.000000e+00, 1.169526e-05, 4.366056e-…
$ simulation_iteration_key_name <chr> "500mg-ER Slow \a1 \a1", "500mg-ER Slo…
$ simulation_iteration_key_name_2 <chr> "500mg-ER Slow | Trial 1", "500mg-ER S…
$ trial <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
glimpse(test_series_data)
Rows: 29,118
Columns: 8
$ dependent_unit <chr> "ng/mL", "ng/mL", "ng/mL", "ng/mL", "n…
$ independent_unit <chr> "h", "h", "h", "h", "h", "h", "h", "h"…
$ iteration <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
$ dependent <dbl> 0.000000e+00, 4.807496e-18, 6.709051e-…
$ independent <dbl> 0.000000e+00, 1.728865e-06, 2.359576e-…
$ simulation_iteration_key_name <chr> "500mg-ER Slightly Slow \a1 \a1", "500…
$ simulation_iteration_key_name_2 <chr> "500mg-ER Slightly Slow | Trial 1", "5…
$ trial <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
Kill GPX Service
gpx_service$kill()
[1] TRUE