Title: | Pharmacometric Modeling |
Version: | 3.0.1 |
Description: | Facilitate Pharmacokinetic (PK) and Pharmacodynamic (PD) modeling and simulation with powerful tools for Nonlinear Mixed-Effects (NLME) modeling. The package provides access to the same advanced Maximum Likelihood algorithms used by the NLME-Engine in the Phoenix platform. These tools support a range of analyses, from parametric methods to individual and pooled data analysis https://www.certara.com/app/uploads/2020/06/BR_PhoenixNLME-v4.pdf. Execution is supported both locally or on remote machines. |
Depends: | R (≥ 4.0) |
License: | LGPL-3 |
URL: | https://certara.github.io/R-RsNLME/ |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.3.2 |
Suggests: | rlang, knitr, rmarkdown, testthat, magrittr |
Imports: | xml2, assertthat, Certara.NLME8, data.table, jsonlite, methods, utils, ssh |
Collate: | 'BootstrapParams.R' 'NlmeParallelMethod.R' 'NlmeUserAuthentication.R' 'NlmeParallelHost.R' 'SimpleNlmeJob.R' 'BootNlmeJob.R' 'CovariateEffectModel.R' 'GenerateControlfile.R' 'GenerateParamsfile.R' 'NlmeColumnMapping.r' 'NlmeCovariateParameter.r' 'NlmeDataset.r' 'NlmeDoseMapping.R' 'NlmeEmaxParameters.R' 'NlmeIndirectParameters.R' 'NlmeModelAbsorption.R' 'NlmeModelParameterization.R' 'NlmeModelType.R' 'NlmeParamsMapping.R' 'NlmePkParameters.R' 'NlmePmlModelInfo.R' 'NlmeRandParamsMapping.R' 'NlmeRandomEffectBlock.r' 'NlmeRemoteExecutor.R' 'NlmeScenario.R' 'NlmeTableDef.R' 'SortColumns.R' 'ProfileParameters.R' 'ProfileNlmeJob.R' 'ProfileVar.R' 'error_model.r' 'pml_model.r' 'RandomEffectsMethods.R' 'ShotgunNlmeJob.R' 'SortByNlmeJob.R' 'StepwiseParams.R' 'StepwiseNlmeJob.R' 'acceptAllEffects.R' 'addInfusion.R' 'addLabel.R' 'addTablesToColumnMapping.R' 'add_input_dosingCycles.R' 'bootstrap.r' 'built_in_models.r' 'checkHostParams.R' 'colMapping.R' 'copyModel.R' 'covariateModel.R' 'covariateNames.R' 'createInitialMapping.R' 'create_model_from_metamodel.R' 'create_model_info.R' 'data.r' 'dosing.r' 'editModel.R' 'emaxmodel.R' 'engine_params.r' 'extract_mmdl.R' 'fitmodel.R' 'fitmodelHelperFunctions.R' 'fixedEffect.R' 'generateCovarSearchArgsFile.R' 'getThetas.R' 'get_omega_omegaSE.R' 'globals.R' 'hostParams.R' 'job.r' 'linearmodel.R' 'log_Execution.R' 'map_covariates.R' 'map_dosepoints.R' 'modelVariableNames.R' 'observation.r' 'obtain_NLMELicense.R' 'parameterNames.R' 'parseControlFile.R' 'parsePMLColMap.R' 'parse_mmdl.R' 'pkemaxmodel.R' 'pkindirectmodel.R' 'pklinearmodel.R' 'pkmodel.R' 'profile_estimation.r' 'randomEffect.R' 'readInitialEstimatesParams.R' 'run_metamodel.R' 'saveModel.R' 'saveUpdatedMetamodel.R' 'secondary_variable.r' 'shotgunSearch.R' 'simParams.R' 'sortfit.R' 'stepwiseSearch.R' 'structural_param.r' 'tableParams.R' 'update_PMLwithThetas.R' 'vpc.r' 'writeColumnMapping.R' 'writeDefaultFiles.R' |
NeedsCompilation: | no |
Packaged: | 2024-11-19 15:11:50 UTC; jcraig |
Author: | James Craig [aut, cre], Michael Tomashevskiy [aut], Vitalii Nazarov [aut], Shuhua Hu [ctb], Soltanshahi Fred [aut], Certara USA, Inc. [cph, fnd] |
Maintainer: | James Craig <james.craig@certara.com> |
Repository: | CRAN |
Date/Publication: | 2024-11-20 11:20:02 UTC |
Represents parameters for a bootstrap run
Description
Class initializer for BootstrapParams that represents parameters for a bootstrap run.
Slots
numReplicates
Number of bootstrap replicates to run
initialEstimates
Get model final estimates to run bootstrap (T|F)
numRetries
Number of times to retry a failed replicated
randomNumSeed
Seed for random number generator
confidenceLevel
Confidence level
stratifyColumns
What columns to stratify on(comma separated)
Examples
# same object as BootstrapParams()
boot <- BootstrapParams(
numReplicates = 100,
initialEstimates = FALSE,
numRetries = 2,
randomNumSeed = 1234,
confidenceLevel = 95
)
NLME covariate effects model object class
Description
Class represents an NLME covariate effects model
Slots
numCovariates
Number of covariate effects
covariateList
Comma separated list of covariate effects names
scenarioNames
Comma separated list of scenario names
isDefault
Comma separated list of flags
degreesOfFreedom
Comma separated list of degrees of freedom
Examples
CovariateEffectModel(numCovariates = 2,
covariateList = "V-Age,Cl-BW",
scenarioNames = "S,S",
isDefault = "1,1",
degreesOfFreedom = "1,1")
Defines a dosepoint for a compartment
Description
Defines a dosepoint for a compartment
Arguments
isZeroOrderAbsorption |
One of No|RateDose|DurationDose |
isBioavail |
Does dose point has bioavailability? |
bioavailExpression |
Bioavailability expression |
isTlag |
Does dose have time lag? |
tlagExpression |
Time lag expression |
durationExpression |
Optional Formula defines how to express duration in PML |
rateExpression |
Optional Formula defines how to express rate in PML |
dobefore |
Code to execute before dose is administrated |
doafter |
Code to execute after dose is administrated |
Examples
dosePoint <- DosePoint(
isZeroOrderAbsorption = DurationDose,
durationExpression = "DUR",
isTlag = FALSE,
isBioavail = TRUE,
bioavailExpression = "logitF1;1-ilogit(logitF1)"
)
absDosePoint <- DosePoint(
isZeroOrderAbsorption = NoDose,
isBioavail = TRUE,
bioavailExpression = "logitF1;ilogit(logitF1)"
)
Creates an extra dose parameter
Description
Creates an extra dose parameter
Arguments
type |
ValueType|ColumnType |
value |
Value of dosing parameter |
column |
Name of column containing dose information |
Defines an extra dose point
Description
Defines an extra dose point
Slots
name
Dose point name
type
Character; Options are "Bolus" or "Infusion"
amount
Optional; Character specifying corresponding column in data or numeric specifying dose amount
rate
Optional; Character specifying corresponding column in data or numeric specifying dose rate
deltaTime
Optional; Character specifying corresponding column in data or numeric specifying delta time
isSecondDose
Use second dose point on compartment?
data
Optional data frame. Must specify
data
if supplying column as character value toamount, rate, deltaTime
arguments
Class represents map between a model variable and a dataset column
Description
Class represents map between a model variable and a dataset column
Arguments
variableName |
Model variable name |
columnName |
Corresponding column name in the dataset |
variableType |
Model variable type |
Class represents mapping list between model variables and dataset columns
Description
Class represents mapping list between model variables and dataset columns
Class represents an NLME Covariate parameter
Description
Class represents an NLME Covariate parameter
Arguments
name |
Name of covariate |
value |
Covariate value |
NlmeCovariateParameter
Description
Class represents an NLME Covariate parameter
Arguments
name |
Name of covariate parameter |
type |
Type of covariate parameter: Continuous|Category|Occasion |
direction |
Curve fitting method: Forward|Interpolate|Backward |
isDiagonal |
Is the structure diagonal (TRUE)| or box (FALSE) |
centerValue |
Covariate centering value |
isPositive |
Are the covariate values all positive |
continuousType |
Type of value to use for the centering value: CovarNumber|CovarMean|CovarMedian |
covarEffList |
List of covariate effects |
covarItems |
List of covariate items |
NLME dataset object
Description
Class represents an NLME dataset object
Arguments
dataFile |
Subject datafile |
colDefFile |
Datafile to model mapping file |
modelFile |
PML model file |
estimatesDefFile |
Initial estimates mapping file |
estimatesDataFile |
Initial estimates values |
doseDefFile |
Dose column definition file |
doseDataFile |
Dose datafile |
ranEffectDefFile |
Random effects column definition file |
ranEffectDataFile |
Random effects data file |
predoutFilename |
Name of predcheck output file |
phoenixSourceDir |
Directory containing phoenix generated files |
workingDir |
Directory containing datafiles(default cwd) |
Examples
dataset <- NlmeDataset(workingDir)
Class represents mapping list between model variables and dose columns
Description
Class represents mapping list between model variables and dose columns
Class represents an NLME/PML Emax model parameters
Description
Class represents an NLME/PML Emax model parameters
Arguments
checkBaseline |
Model has a baseline response |
checkFractional |
Model is fractional |
checkInhibitory |
Model is inhibitory |
checkSigmoid |
Model is sigmoidal |
NlmeEngineExtraParams : Defines all extra engine parameters
Description
NlmeEngineExtraParams : Defines all extra engine parameters
Slots
isPopulation
is this a population model
method
what engine to use QRPEM = 1|IT2S-EM = 2|FOCE-LB = 3|FO = 4| LAPLACIAN = 5|NAIVE-POOLED = 6 The only difference between FOCE-ELS and Laplacian is the setup for the other parameter "PARAMS_FOCEHESE". If FOCE-ELS is chosen, PARAMS_FOCEHESE = 1. If Laplacian is chosen, PARAMS_FOCEHESE = 0. PARAMS_FOCEHESE arg should not be provided, and is controlled by the method.
numIterations
maximum number of iterations
odeToUse
What ODE to use common : ODE_STIFF=2|ODE_NON_STIFF=3|ODE_AUTO_DETECT=5|MATRIX_EXP=6 others : ODE_LSODE=1|ODE_LSODE_ANA_JAC=2|ODE_RK=3|ODE_LSODA=4| ODE_LSODA_ANA_JAC=5|MATRIX_EXP=6
anagrad
n 0, or 1 to allow analytic gradients (default 0)
xnp
n number of nonparametric generations (or 0)
xrestart
n 0, or 1 to restart
xnorderagq
n number of AGQ points per axis (or 0)
xfocehess
n 0 for numerical hessian, 1 for foce
xstderr
n 0=none, 1=central, 2=forward
xlameth
n LAGL Method 1, 2, or 3
xlandig
n LAGL nDigit
xlatol
n LAGL tolerance
xblndig
n BLUP Method 1, 2, or 3
xblndig
n BLUP nDigit
xbltol
n BLUP tolerance
xpcwresnrep
n number of reps for PCWRES simulation
xisample
n number of samples for QRPEM
xmapassist
n 0 (default) or >0, to enable map assist and specify periodicity
xmapnp
n map naive-pool control
ximpsampdof
n importance sampling control (-3 to 30) NORMAL=0 DBL_EXP=1 DIRECT=2 MIXTURE_2=-2 MIXTURE_3=-3
xmcpem
n 0 for QRPEM, 1 for MCPEM
xsirsamp
n number of SIR samples
xburnin
n number of burn-in samples
xnonomegaburn
n 0 (default) or 1, to use non-omega burn-in
xnoburn
n 0 (default) or 1, to suppress burn-in
xstartfromsavedposteriors
n 0 (default) or 1, to start from saved posteriors
xaccratio
n acceptance ratio
xscramble
n 0 for None, 1 for Owen, 2 for Faure-Tezuka
pardern
n partial derivative # steps
parderd
n partial derivative delta
logtran
n 0, or 1(default) to enable log-translate of data
Examples
param <- NlmeEngineExtraParams(
method = 3,
numIterations = 1000
)
param <- NlmeEngineExtraParams(
method = 1,
numIterations = 300
)
param <- NlmeEngineExtraParams(
method = 1,
numIterations = 300,
isPopulation = TRUE,
odeToUse = 2
)
Class represents an NLME/PML error model
Description
Class represents an NLME/PML error model
Arguments
effectsList |
List of residual effects to include in the error model |
numberOfEffects |
Number of effects being included in the error model |
Class represents an NLME/PML Indirect PD model parameters
Description
Class represents an NLME/PML Indirect PD model parameters
Arguments
type |
Indirect model type |
hasEffectsCompartment |
Is there data available for an effects compartment? |
isBuildup |
Is the response formation (TRUE) or degradation (FALSE) concentration dependent? |
isExponent |
Is there an exponent in the effect statement? |
frozen |
Freeze standard deviation to prevent estimation of the PK part of the model |
Reads progress file and returns the status of a job
Description
Reads progress file and returns the status of a job
Usage
NlmeJobStatus(job)
Arguments
job |
NLME job object |
Value
Character. Job status messages.
Examples
param <- NlmeEngineExtraParams(
method = 3,
numIterations = 1000
)
profile1 <- ProfileVar("tvV", 9.548, "-2,-1,0,1,2")
profile2 <- ProfileVar("tvCl", 0.919, "-0.5,0,1.5")
profiles <- ProfileParameters("USE_DELTA", c(profile1, profile2))
job <- profilePertubate(defaultHost, params, profiles, model)
status <- NlmeJobStatus(job)
Class represents an NLME/PML model absorption
Description
Class represents an NLME/PML model absorption
Arguments
absorpType |
Intravenous|Extravascular |
Examples
NlmeModelAbsorption(PARAM_EXTRAVASCULAR)
Class represents an NLME/PML model parameterization
Description
Class represents an NLME/PML model parameterization
Arguments
paramType |
One of Micro|Clearance|Macro|Macro1 |
Examples
NlmeModelParameterization(PARAM_CLEARANCE)
Class represents an NLME/PML model type
Description
Class represents an NLME/PML model type
Arguments
modelType |
Model type as numeric value from |
Examples
NlmeModelType(PK)
Class initializer for NlmeObservationVar-class
Description
Describes an observation(observe,multi,...)
Arguments
name |
Name of observation variable |
xaxis |
One of: T, TAD, PRED. If nothing is specified, the user-specified name of axis is used. |
binningMethod |
Method of binning: |
binningOption |
Centers or boundary values specified as numeric vector |
stratifyColumns |
Categorical covariates (up to 3) for simulation stratification (overrides stratifyColumns given in NlmeVpcParams) |
ygroup |
Values specifying the category right boundaries (used for categorical observations only; useful for count) |
quantilesValues |
Quantiles to be estimate for each x value (bin value) in each strata for the current observable (internal quantiles) |
quantilesSecondaryValues |
Quantiles to estimate for each internal quantile (quantiles for quantile) |
BQLasLLOQ |
Flag to replace BLQ values with the LLOQ value |
Examples
var <- NlmeObservationVar(
name = "Cobs",
xaxis = "t",
binningMethod = "none",
quantilesValues = c(5, 50, 95)
)
Class initializer for NlmeParallelHost
Description
NLME Parallel Host object class. Class represents an NLME parallel host which can either be local or remote.
Slots
sharedDirectory
Directory in which the run happens. If it is given as UNC path on Windows, a PS Drive will be mapped within powershell command to any free Disk letter on local machine where execution performed (not applicable to remote executions). After execution PS Drive will be removed. A warning will be given if removal is unsuccessful.
installationDirectory
Directory containing NLME libraries/scripts
hostName
Visual name of the host(default local)
machineName
IP address or name of the host(default local)
hostType
windows
orlinux
. For remote runs it is possible to point the distro suppported, i.e.RHEL8
orUBUNTU2204
. In such case the correspondingPML_BIN_DIR
variable will be created and NLME Engine libraries will be looked ininstallationDirectory/{$PML_BIN_DIR}
.numCores
Number of compute cores
isLocal
Is this a local
TRUE
or remoteFALSE
host?rLocation
Path to Rscript executable on remote host; ignored on local host
scriptPath
a path to the script to be executed before starting Rscript within Certara.NLME8 package on the remote host. Ignored when running locally.
userAuthentication
User credential for remote system. See
NlmeUserAuthentication()
parallelMethod
Options are:
None|Multicore|LOCAL_MPI|SGE|SGE_MPI|TORQUE|
TORQUE_MPI|LSF|LSF_MPI|SLURM|SLURM_MPI
. Supply argument usingNlmeParallelMethod("LOCAL_MPI")
for example.
Examples
host <- hostParams(
parallelMethod = "LOCAL_MPI",
hostName = "local_mpi",
numCores = 4
)
Class initializer for NlmeParallelMethod
Description
Use to define NlmeParallelMethod as for parallelMethod
argument in
NlmeParallelHost()
.
Slots
method
Options are:
None|Multicore|LOCAL_MPI|SGE|SGE_MPI|TORQUE|TORQUE_MPI|LSF|LSF_MPI|SLURM|SLURM_MPI
.
Class represents mapping list between model variables and data columns
Description
Class represents mapping list between model variables and data columns
Class represents an NLME/PML PK model parameters
Description
Class represents an NLME/PML PK model parameters
Arguments
parameterization |
Taken from NlmeModelParameterization |
absorption |
Taken from NlmeModelAbsorption |
numCompartments |
Number of compartments |
isTlag |
Does dose have a time lag? |
hasEliminationComp |
Is there data available for an elimination compartment? |
isFractionExcreted |
Does compartment include a fraction excreted parameter? |
isSaturating |
Is the elimination rate equal to the absorption rate? |
infusionAllowed |
Is infusion allowed? |
isDuration |
Is duration of infusion measured (TRUE) or rate (FALSE)? |
isSequential |
Is model part of a PK/PD model that is being fitted sequentially? |
isClosedForm |
Is model closed-form algebraic (TRUE) or differential equation (FALSE)? |
Class initializaer for NlmePmlModel object
Description
The following class represents an NLME/PML model object.
Slots
isPopulation
Is this a population model (TRUE) or individual (FALSE)?
modelType
Taken from NlmeModelType
isTimeBased
Is model time-based?
linearModelType
Type of linear model
isLinearFrozen
Is linear model frozen?
pkModelAttrs
Taken from NlmePkParameters
indirectModelAttrs
Taken from NlmeIndirectParameters
emaxModelAttrs
Taken from NlmeEmaxParameters
hasEffectsCompartment
Is there data available for an effects compartment?
errorModel
Taken from NlmeErrorModel
structuralParams
List of structural parameters
outputParams
List of output parameters
diffEquations
List of differential equations
statements
List of PML statements
dosePoints
List of dosepoints
covariateList
List of covariates
columnMapping
Taken from NlmeColumnMapping
doseMapping
Taken from NlmeDoseMapping
paramsMapping
Taken from NlmeParamsMapping
randParamsMapping
Taken from NlmeRandParamsMapping
inputData
Input data source
doseData
Dose data source
fixedParamData
Fixed effect parameter data source
randParamData
Random effect parameter data source
isTextual
Is model textual (TRUE) or graphical (FALSE)?
pmloutput
List of PML output to generate
modelInfo
Taken from NlmePmlModelInfo
objects
deprecated
objectsNeedRegenerating
deprecated
randomEffectsStatements
Custom random effects statements
randomOccasionalEffectsStatements
Custom random occasional effects statements
userDefinedExtraDefs
Custom definition for extra column and table generation
Examples
NlmePmlModel()
Class represents mapping list between model variables and Random Effect
Description
Class represents mapping list between model variables and Random Effect
Random effect block definition
Description
Random effect block definition
Slots
type
Diagonal or Block
effectNames
Character or character vector specifying names of random effects
frozen
Logical; Are random effects frozen?
Examples
NlmeRandomEffectBlock(Diagonal, list("nCl", "nV"), FALSE)
Random effect values matrix
Description
Random effect values matrix
Arguments
numEffects |
Number of random effects |
effectNames |
Names of random effects |
values |
Matrix of random effect values |
Examples
# initialize with default effectValues ()
NlmeRandomEffectValues(list("nCl", "nV"))
# set diagonals
NlmeRandomEffectValues(list("Cl", "V"), effectValues = c(0.1, 0.2))
# values matrix overrides effectValues
NlmeRandomEffectValues(list("Cl", "V"),
values = matrix(c(1,0.01,0.01,1), ncol = 2,
dimnames = list(c("Cl", "V"), c("Cl", "V"))))
Class initializer for NlmeRemoteExecutor
Description
Creates Remote Executor object class
Slots
sharedDirectory
The directory in which the run executes
installationDirectory
Directory containing NLME libraries/scripts
hostName
IP or name of remote host
userAuthentication
Credential for user to log into remote system
Class represents an NLME/PML residual error model
Description
Class represents an NLME/PML residual error model
Arguments
effectName |
Name of the observed variable |
observeName |
Name to use for observation |
epsilonName |
Name to use for Epsilon |
errorType |
Additive|LogAdditive|Multiplicative |AdditiveMultiplicative|MixRatio|Power|Custom |
frozen |
Is the standard deviation frozen? (Default:FALSE) |
SD |
Standard deviation value |
definition |
Definition of a custom type or Power value |
isBQL |
Are there BQL values? (Default:FALSE) |
bqlStatic |
Value LLOQ value |
dobefore |
Code to execute before the observation |
doafter |
Code to execute after the observation |
Class initializer for NlmeScenario
Description
Creates NlmeScenario class object
Arguments
scenarioName |
Name of the scenario |
covariatesList |
Comma separated indices of covariate effects to use for this scenario |
Examples
CovariateEffectNames <- c("dVdBodyWeight", "dCldBodyWeight")
# Do not use any covariate effects
scenario1 <- NlmeScenario("no_covariates", "")
# Use covariate effect index 1
scenario2 <- NlmeScenario("dVdBodyWeight", "1")
# Use second covariate effect in the model
scenario3 <- NlmeScenario("dCldBodyWeight", "2")
# Use 1st and 2nd covariate effect
scenario4 <- NlmeScenario("dVdBodyWeight_dCldBodyWeight", "1,2")
Class initializer for NlmeSimTableDef
Description
Creates NlmeSimTableDef class object used to specify parameters for VPC/Simulation runs
Arguments
name |
Name of the generated simulation file. |
timesList |
Numeric; Time values for simulation.
Applicable for time-based models only. Ignored when |
covrSet |
Character; Vector of covariate names. Simulation point is added
when the covariate value is set. See |
whenDose |
Character; Vector of dosing compartment names. Simulation point is added when the dose value is set. |
whenObs |
Character; String of observed variables names. Simulation point is added when the observation value is set. |
variablesList |
Character; List of variables from the model for simulation. |
keepSource |
Logical; Set to |
timeAfterDose |
Set to |
Class initializer for NlmeSimulationParams
Description
Use to create set of parameters for simulation runs. Parameters numPoints, maxXRange, yVariables, simAtObs
are related to the model in individual mode. They will be outputted to
the file specified in model@dataset@simoutFilename
, simout.csv by default
Arguments
numReplicates |
Number of replicates to simulate |
seed |
Random number generator seed |
numPoints |
Number of points in simulation for the models in individual mode |
maxXRange |
Maximum value of independent variable for the models in individual mode |
yVariables |
Comma separated character string of Y variables for the models in individual mode |
simAtObs |
Simulate values at observed values of ivar for the models in individual mode |
simulationTables |
Optional list of simulation tables.
|
See Also
Examples
table1 <- tableParams(
name = "simulate.csv",
timesList = "0,2,4,12,24",
variablesList = "V,Cl",
timeAfterDose = TRUE,
forSimulation = TRUE
)
simParam <- NlmeSimulationParams(
numReplicates = 10,
seed = 29423,
simulationTables = c(table1)
)
simParam <- NlmeSimulationParams(
numPoints = 100,
maxXRange = 50,
yVariables = "C,A1",
simulationTables = table1
)
Class represents style of structural parameter
Description
Class represents style of structural parameter
Slots
style
Parameter style: 1=LogNormal, 2=Normal, 3=Combination, 4=Log, 5=Logit, 6=Custom
Class represents an NLME structural parameter
Description
Class represents an NLME structural parameter
Arguments
name |
Name of the structural parameter |
fixedEffName |
Name to use for fixed effects |
randomEffName |
Name to use for random effects |
hasRandomEffect |
Does the parameter have a random effect? |
style |
Parameter style: LogNormal, Normal, Combination, Log, Logit, Custom |
initialValue |
Initial value for the parameter |
lowerBound |
Lower limit for the parameter value |
upperBound |
Upper limit for the parameter value |
units |
Unit of measurement for the parameter |
isFrozen |
Is the parameter frozen? |
isSequential |
Estimate the parameter sequentially |
ranEffInitValue |
Initial value for the random effect |
code |
For Custom style, PML code to override the definition |
extraCode |
Extra lines of code that relates to this parameter |
Examples
NlmeStructuralParameter(STP_SUM_ETA, "EC50")
NlmeStructuralParameter(STP_SUM_EXP, "Imax")
Class initializer for NlmeTableDef
Description
Creates NlmeTableDef class object used to specify parameters for fitting runs
Arguments
name |
Name of the generated simulation file. |
timesList |
Numeric; Time values for simulation.
Applicable for time-based models only. Ignored when |
covrSet |
Character; Vector of covariate names. Simulation point is added
when the covariate value is set. See |
whenDose |
Character; Vector of dosing compartment names. Simulation point is added when the dose value is set. |
whenObs |
Character; String of observed variables names. Simulation point is added when the observation value is set. |
variablesList |
Character; List of variables from the model for simulation. |
keepSource |
Logical; Set to |
timeAfterDose |
Set to |
IRES |
Logical; Set to |
Weight |
Logical; Set to |
IWRES |
Logical; Set to |
mode |
Character; The mode of output. Options are Option |
Class initializer for NlmeUserAuthentication
Description
Use for authentication records
Slots
userName
How the user is identified to the remote system
privateKeyFile
path to private key file, see
keyfile
for detailsuserPassword
either a string or a callback function for password prompt, see
passwd
for details
Arguments for VPC runs
Description
Class initializer for arguments of visual predictive check (VPC) runs
Arguments
numReplicates |
Integer; Number of replicates to simulate the model |
seed |
Integer; Random number generator seed |
predCorrection |
Character; Type of correction to use when calculating a prediction-corrected observation.
Options are |
predVarCorr |
Logical; Set to |
outputPRED |
Logical; Set to |
stratifyColumns |
Character or character vector; Names of categorical covariates (up to 3) used to stratify modeling simulation results. |
observationVars |
NlmeObservationVar class instance or list of these instances |
simulationTables |
Optional list of simulation tables.
|
See Also
tableParams, NlmeSimTableDef, NlmeObservationVar
Examples
job <- fitmodel(model)
# View estimation results
print(job)
finalModelVPC <- copyModel(model, acceptAllEffects = TRUE, modelName = "model_VPC")
# View the model
print(finalModelVPC)
# Set up VPC arguments to have PRED outputted to simulation output dataset "predout.csv"
vpcSetup <- NlmeVpcParams(outputPRED = TRUE)
# Run VPC using the default host, default values for the relevant NLME engine arguments
finalVPCJob <- vpcmodel(model = finalModelVPC, vpcParams = vpcSetup)
Pharmacokinetic dataset containing 100 subjects with single dose given by infusion
Description
Pharmacokinetic dataset containing 16 subjects with single dose given by infusion.
Usage
OneCpt_IVInfusionData
Format
A data frame with 800 rows and 6 variables:
- Subject
Subject ID
- Time
Time point
- Dose
Amount of dose
- CObs
Observations of drug concentration in blood
- Rate
Rate of infusion
- Duration
Duration of infusion
Source
The data is simulated using a PK model described by a one-compartment model with IV infusion
Class initializer for ProfileParameters
Description
Class represents an NLME profile perturbation variable
Slots
howToPertubate
How to apply profile variables. Options are
USE_DELTA
orUSE_PERCENTAGE
profileVars
List of profile variables
Examples
profile1 <- ProfileVar("tvV", 9.548, "-2,-1,0,1,2")
profile2 <- ProfileVar("tvCl", 3.219, "-1,0,1")
profiles <- ProfileParameters("USE_DELTA", c(profile1, profile2))
NLME Profile variable
Description
Class initializer for an NLME profile perturbation variable
Arguments
effectName |
Name of fixed effect |
initialvalue |
Initial value |
pertubateValues |
Values to perturbate by (either delta or percentage) |
Examples
ProfileVar("tvV", 9.95, "-2,-1,0,1,2")
Class initializer for ResetColumnInfo
Description
Class initializer for ResetColumnInfo
Arguments
low |
Lower value of reset range |
hi |
Upper value of reset range |
Execute an NLME profile perturbation
Description
Execute an NLME profile perturbation
Usage
RunProfilePertubation(
hostPlatform,
dataset,
params,
profiles,
sortColumns,
scenarios = list(),
runInBackground = FALSE,
workingDir = NULL
)
Arguments
hostPlatform |
How to execute the run(NlmeParallelHost) |
dataset |
Dataset and model information(NlmeDataset) |
params |
Engine parameters(NlmeEngineExtraParams) |
profiles |
Profiles to perturbate(ProfileParameters) |
sortColumns |
Optional list of columns to sort and fit(SortColumns) |
scenarios |
Optional list of scenarios to fit(NlmeScenario) |
runInBackground |
TRUE will run in background and return prompt(Bool) |
workingDir |
Directory in which to run the job. Current working directory is used if |
Value
Object of class ProfileNlmeJob
Examples
dataset <- NlmeDataset()
params <- NlmeEngineExtraParams(
method = 3,
num_iterations = 1000
)
host <- hostParams(parallelMethod = "None",
hostName = "local",
numCores = 1)
sortColumns <- SortColumns("")
profile1 <- ProfileVar("tvV", 9.548, "-2,-1,0,1,2")
profile2 <- ProfileVar("tvCl", 0.919, "-0.5,0,1.5")
profiles <- ProfileParameters("USE_DELTA", c(profile1, profile2))
# dataFile, colDefFile, modelFile are assumed to be written to the working directory
job <- RunProfilePertubation(host, dataset, params, profiles, sortColumns, scenarios)
Class represents an NLME secondary parameter
Description
Class represents an NLME secondary parameter
Arguments
name |
Name of the secondary parameter |
definition |
Definition of secondary variable |
unit |
Optional units |
Examples
param = SecondaryParameter("Spc_Param","log(2)/tvKe")
param = SecondaryParameter("Tmax",
"CalcTMax(tvA,tvAlpha,tvB,tvBeta,C,Gamma)")
Class initializer for SortColumns
Description
Class represents an NLME sort columns object
Arguments
... |
Names of input data columns (up to 5 for individual models and no limit for population models) used to sort the input data and model outputs. Can be supplied as either a single string or a vector of strings. |
Examples
# The following two setups are equivalent
sortColumnSetUp <- SortColumns("Country,City")
sortColumnSetUp <- SortColumns(c("Country","City"))
# The following two setups are equivalent
sortColumnSetUp <- SortColumns("Sort1 Sort2", "Sort3")
sortColumnSetUp <- SortColumns(c("Sort1, Sort2 "), "Sort3 ")
Class initializer for NLME StepwiseParams
Description
Class represents an NLME Stepwise search parameters
Arguments
addPValue |
Numeric. Threshold for adding a covariate effect |
removePValue |
Numeric. Threshold for removing a covariate effect |
method |
-2LL|AIC|BIC; could be abbreviated. |
Examples
StepwiseParams(0.001, 0.001, "BIC")
Accepts all estimates for fixed effects, Sigma, and random effects
Description
Updates PML statements in model object with estimates returned from model execution. Use copyModel
and set
argument acceptAllEffects = TRUE
to create new model object with final estimates from base model run.
Usage
acceptAllEffects(model)
Arguments
model |
Model object |
Value
NlmePmlModel
object
See Also
Examples
model <- acceptAllEffects(model)
Adds ADDL extra column definition to model object
Description
Specify ADDL column definition in model object instead of specifying ADDL through addDoseCycle
Usage
addADDL(.Object, ADDL, II)
Arguments
.Object |
Model object |
ADDL |
Column mapping argument specifying corresponding "ADDL" column in input data set |
II |
Column mapping argument specifying corresponding "II" column in input data set |
Value
Modified NlmePmlModel
object
Examples
model <- addADDL(model, ADDL = "addl", II = "ii")
Add covariate to model object
Description
Add a continuous, categorical, or occasion covariate to model object and set covariate effect on structural parameters.
Usage
addCovariate(
.Object,
covariate,
effect = NULL,
type = c("Continuous", "Categorical", "Occasion"),
direction = c("Forward", "Interpolate", "Backward"),
option = c("Yes", "PlusOne", "No"),
center = NULL,
centerValue = NULL,
levels = NULL,
labels = NULL,
isDiagonal = TRUE,
values = NULL,
isPositive = TRUE
)
Arguments
.Object |
Model object |
covariate |
Name of covariate. If the involved model has columns
mapped (i.e. model with |
effect |
Name of structural parameter(s) on which the covariate
has an effect. Specify |
type |
Type of covariate. Options are |
direction |
Direction of missing values propagation (if no covariate
value is given). Options are |
option |
Options are |
center |
Centering method. Options are |
centerValue |
Value used to center covariate. Only applicable if
argument |
levels |
Unique values of categorical or occasion covariate. Only
applicable to covariate |
labels |
Label names (in the same order as levels) for unique levels of
categorical or occasion covariate in data. Only applicable to covariate
|
isDiagonal |
Set to |
values |
Initial values for the diagonal elements of the inter-occasion
covariance matrix (if |
isPositive |
Set to |
Details
The following relationships are applicable for covariates:
-
direction = "Forward"
is equivalent to PML code 'fcovariate(CovName)'; -
direction = "Backward"
is equivalent to PML code 'covariate(CovName)'; -
direction = "Interpolate"
is equivalent to PML code 'interpolate(CovName)'.If the structural parameter has
style = "LogNormal"
, the options are reflected in PML code as follows: -
option = "Yes"
is equivalent tostparm(V = tvV * wt^dVdwt * exp(dVdsex1*(sex==1)) * exp(nV))
; -
option = "PlusOne
is equivalent tostparm(V = tvV * (1+wt*dVdwt) * (1+dVdsex1*(sex==1)) * exp(nV))
.
Value
Modified NlmePmlModel
object
Examples
model <- pkmodel(
numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc"
)
# Add Gender covariate of type categorical
model <- addCovariate(model,
covariate = "Gender",
type = "Categorical",
effect = c("V2", "Cl2"),
levels = c(0, 1),
labels = c("Female", "Male")
)
# Add BodyWeight covariate of type continuous
model <- addCovariate(model,
covariate = "BodyWeight",
type = "Continuous",
direction = "Backward",
center = "Mean",
effect = c("V", "Cl")
)
Adds a dosing cycle to model
Description
Add Steady State or ADDL dosing cycle to model object.
Usage
addDoseCycle(
.Object,
type = "SteadyState",
name,
administration = "Bolus",
amount = NULL,
II = NULL,
rate = NULL,
duration = NULL,
isSecondDose = FALSE,
colName = NULL
)
Arguments
.Object |
Model object |
type |
Specification of dose type. Options are |
name |
Dose point name. See |
administration |
Mechanism for administering dose. Options are |
amount |
Optional. Column mapping argument specifying corresponding "ADDL" column in input data, or numeric value specifiying dose amount. |
II |
Optional. Column mapping argument specifying corresponding "II" column in input data, or numeric value specifying delta time. |
rate |
Optional. Column mapping argument specifying corresponding "Rate" column in input data, or numeric specifying dose rate. |
duration |
Optional. Column mapping argument specifying corresponding "Duration" column in data, or numeric specifying duration value. |
isSecondDose |
Use second dose point on compartment |
colName |
Column name in input data corresponding to column mapping for "SteadyState" or "ADDL" as supplied in |
Value
Modified NlmePmlModel
object
See Also
Examples
model <- pkmodel(columnMap = FALSE) %>%
addDoseCycle(type = "SteadyState", name = "A1", amount = "Amount", II = "II")
Adds user defined extra column/table definitions to column definition file
Description
Adds user defined extra column/table definitions to column definition file
Usage
addExtraDef(.Object, value)
Arguments
.Object |
PK/PD model |
value |
Character vector of extra column/table definitions |
Value
Modified NlmePmlModel
object
Examples
model <- addExtraDef(model, c("addlcol(ADDL)", "table(file=\"res.csv\",time(0),Ka,V,Cl,Tlg)"))
Change existing dosing compartment to infusion
Description
Allows user to switch any dosing compartment to infusion
Usage
addInfusion(
.Object,
doseCptName,
isDuration = FALSE,
isSecondDose = FALSE,
colName = NULL
)
Arguments
.Object |
Model object |
doseCptName |
Name of the compartment to which the dose is administered |
isDuration |
Set |
isSecondDose |
Set |
colName |
Name of the input data column that represents the corresponding infusion rate. If not provided, |
Value
Modified NlmePmlModel
object
Examples
newModel <- addInfusion(model, "A1", FALSE, FALSE, "A1_1")
Add levels and labels to categorical or occasion covariate
Description
Allows users to specify the name and the associated value for each category/occasion of a categorical/occasion covariate in a textual model object. Only applicable to the case where the corresponding input data column of a categorical/occasion covariate is of class character.
Usage
addLabel(.Object, covariate, levels, labels)
Arguments
.Object |
Model object |
covariate |
Existing covariate name |
levels |
Unique values of categorical or occasion covariate column specified as numeric vector |
labels |
Unique values specifying corresponding label names for levels of categorical or occasion covariate column in data specified as character vector. |
Value
Modified NlmePmlModel
object
Examples
model <- addLabel(model, covariate, c(1, 2, 3), c("a", "b", "c"))
Adds MDV extra column definition to model object
Description
Use to add MDV statement to model@userDefinedExtraDefs
Usage
addMDV(.Object, MDV)
Arguments
.Object |
Model object |
MDV |
Column mapping argument specifying corresponding "MDV" column in input data set |
Value
Modified NlmePmlModel
object
Examples
model <- addMDV(model, MDV = "MDV")
Adds reset instructions to the model
Description
Adds reset instructions to the model
Usage
addReset(.Object, low, hi, Reset = NULL)
## S4 method for signature 'NlmePmlModel'
addReset(.Object, low, hi, Reset = NULL)
Arguments
.Object |
An 'NlmePmlModel' object to which you want to add reset instructions. |
low |
Lower value of reset range. |
hi |
Upper value of reset range. |
Reset |
Name of reset column in input data set for column mapping. The default is NULL. |
Value
Depends on the specific methods
Returns the 'NlmePmlModel' object with updated reset information and definitions.
Functions
-
addReset(NlmePmlModel)
: Method for the 'NlmePmlModel' classThis method adds reset instructions to the NlmePmlModel object. It updates the reset information, checks column mappings if input data is not null, and adds a reset definition to user-defined extra definitions.
Adds a secondary parameter to model definition
Description
Adds a secondary parameter to model definition
Usage
addSecondary(.Object, name, definition, unit = "")
## S4 method for signature 'NlmePmlModel'
addSecondary(.Object, name, definition, unit = "")
Arguments
.Object |
An 'NlmePmlModel' object to which you want to add a secondary parameter. |
name |
Name of the secondary parameter. |
definition |
Definition of secondary parameter. |
unit |
Optional units of the secondary parameter. The default is "". |
Value
Depends on the specific methods
Returns the 'NlmePmlModel' object with the added secondary parameter.
Functions
-
addSecondary(NlmePmlModel)
: Method for the 'NlmePmlModel' classThis method adds a secondary parameter to the NlmePmlModel object. It checks for duplicate parameter names, and if there is no duplicate, it adds the new secondary parameter to the object and updates the PML model.
Examples
model <- addSecondary(model, "Spc_Param", "log(2)/tvKe")
model <- addSecondary(
model, "Tmax",
"CalcTMax(tvA,tvAlpha,tvB,tvBeta,C,Gamma)"
)
Adds Steady State extra column definition to model object
Description
Use to add Steady State column definition statement to model@userDefinedExtraDefs
Usage
addSteadyState(.Object, SS, II, SSOffset = NULL)
Arguments
.Object |
Model object |
SS |
Column mapping argument specifying corresponding "SS" column in input data set |
II |
Column mapping argument specifying corresponding "II" column in input data set |
SSOffset |
Optional. Column mapping argument specifying corresponding "SSOffset" column in input data set |
Value
Modified NlmePmlModel
object
Examples
model <- addSteadyState(model, SS = "ss", II = "ii")
Add tables to the mapping
Description
Add tables to the mapping
Usage
addTablesToColumnMapping(model, Tables, filename, forSim = TRUE)
Arguments
model |
Model object |
Tables |
Tables class objects e.g., |
filename |
Name of column definition file |
forSim |
Logical; Set to |
Value
Table class objects specified to Tables
argument.
Examples
addTablesToColumnMapping(model, simParams, Tables, filename)
Add to the NLME Error model
Description
Add to the NLME Error model
Usage
addToErrorModel(model, effectsList)
Arguments
model |
Model object |
effectsList |
List of effects |
Executes an NLME Bootstrap
Description
Method to execute an NLME Bootstrap
Usage
bootstrap(
model,
hostPlatform = NULL,
params,
bootParams,
runInBackground = FALSE,
...
)
Arguments
model |
PK/PD model class object. |
hostPlatform |
Host definition for model execution. See |
params |
Engine parameters. See |
bootParams |
Bootstrap parameters. See |
runInBackground |
Set to |
... |
Additional class initializer arguments for |
Value
if runInBackground = FALSE
, a list is returned with bootstrap results, i.e.
"BootOverall", "BootTheta", "BootOmega", "BootOmegaStderr", "BootVarCoVar" comma separated files.
Otherwise the BootNlmeJob
class object is returned.
See Also
hostParams, engineParams, BootstrapParams
Examples
input_data <- pkData
model <-
pkmodel(
numCompartments = 2,
data = input_data,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc"
)
# multicore
multicoreHost <- hostParams(
parallelMethod = "Multicore",
hostName = "local_multicore",
numCores = 4
)
bootstrapdf <- bootstrap(model,
hostPlatform = multicoreHost,
params = engineParams(model),
numReplicates = 5,
randomNumSeed = 1234,
runInBackground = FALSE
)
Generic function for cancelling a job
Description
Generic function for cancelling a job
Usage
cancelJob(.Object)
## S4 method for signature 'SimpleNlmeJob'
cancelJob(.Object)
Arguments
.Object |
A 'SimpleNlmeJob' object that you want to cancel |
Value
Depends on the specific methods
Prints the 'SimpleNlmeJob' object after attempting to cancel the job. No return value.
Functions
-
cancelJob(SimpleNlmeJob)
: Method for cancelling a job of the 'SimpleNlmeJob' classThis method attempts to cancel a job of the 'SimpleNlmeJob' class. If the job is running on a local host or is not running in the background, it throws an error and does nothing. Otherwise, it uploads a 'STOP' command to the host's remote executor.
Check Host Parameters
Description
Checks NLME Parallel Host object for correct settings for GCC, NLME Installation, MPI and Root directories.
Usage
checkHostParams(obj, verbose = FALSE)
Arguments
obj |
NLME Parallel Host to be checked |
Value
TRUE
if all checks are successful, otherwise FALSE
Examples
# multicore
multicoreHost <- hostParams(
parallelMethod = "Multicore",
hostName = "local_multicore",
numCores = 4
)
checkHostParams(multicoreHost)
Add column mappings
Description
Piping compatible function for modelColumnMapping
used to add column mappings from input data to model object
Usage
colMapping(.Object, mappings = NULL, ...)
Arguments
.Object |
Model ( |
mappings |
Named character vector specifying valid column names in the input data.
Character vector names must be valid model variable names contained
in |
... |
optional pairs ModelTerm = ColumnName or ModelTerm = "ColumnName".
Has higher precedence than |
Value
modified NlmePmlModel
object
See Also
dataMapping
modelVariableNames
Examples
pkData$id2 <- pkData$Subject
model <- pkmodel(columnMap = FALSE,
data = pkData)
modelvar <- unlist(modelVariableNames(model))
colnames <- c("Subject", "Act_Time", "Amount", "Conc")
names(colnames) <- modelvar
# will map subject directly
colnames <- colnames[-c(1)]
model <- colMapping(model, colnames, id = c(Subject, id2))
# also possible:
model <- colMapping(model, colnames, id = c("Subject", "id2"))
# not recommended since only not quoted names are identified
# if both types are provided:
model <- colMapping(model, colnames, id = c("Subject", id2))
Copy model object to iterate over base model
Description
Copies previously executed model into a new object and optionally accept all estimates returned from model execution. A new working directory is created and all files from base model are copied into it.
Usage
copyModel(model, acceptAllEffects = FALSE, modelName = "", workingDir = "")
Arguments
model |
Model object to be copied |
acceptAllEffects |
Set to |
modelName |
New model name for subdirectory created for model output. Subdirectory is created in current working directory. |
workingDir |
Working directory to run the model. Current working directory will be used if workingDir not specified. |
Value
Modified NlmePmlModel
object
Examples
# Create initial model
model <- pkmodel(
parameterization = "Clearance",
absorption = "Intravenous",
numCompartments = 2,
data = pkData,
ID = "Subject",
A1 = "Amount",
CObs = "Conc",
Time = "Act_Time",
modelName = "pk_model"
)
# Fit Model
job <- fitmodel(model)
# Copy model and accept all effects from the original model run
vpcModel <- copyModel(model, acceptAllEffects = TRUE, modelName = "vpc_model")
Sets style for a covariate/variable
Description
Sets style for a covariate/variable
Usage
covariateEffect(.Object, covariateName, parameterName) <- value
Arguments
.Object |
A PK/PD model |
covariateName |
Name of the covariate |
parameterName |
Name of the model variable |
value |
A value to set |
Creates set of covariate effects
Description
Use to create set of covariate effects to be checked during Stepwise or Shotgun covariate search
Usage
covariateModel(model)
Arguments
model |
Model object with covariates and covariate effects specified |
Value
CovariateEffectModel class object
Examples
# Define the model
model <- pkmodel(
numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc"
)
# Add Gender covariate of type categorical
model <- addCovariate(model,
covariate = "Gender",
type = "Categorical",
effect = c("V2", "Cl2"),
levels = c(0, 1),
labels = c("Female", "Male")
)
# Add Bodyweight covariate of type continuous
model <- addCovariate(model,
covariate = "BodyWeight",
type = "Continuous",
direction = "Backward",
center = "Mean",
effect = c("V", "Cl")
)
covariateModel(model)
Return covariate names
Description
Use to return character vector of covariate names available in model object.
Usage
covariateNames(model)
Arguments
model |
Model object |
Value
Character vector of covariate names defined in model
Examples
model <- pkmodel(columnMap = FALSE)
model <- addCovariate(model, covariate = "BW", effect = "V")
model <- addCovariate(model, covariate = "Age", effect = "Cl")
covariateNames(model)
Creates string from each covariate attribute
Description
Creates string from each covariate attribute
Usage
covariatePartsString(obj)
Arguments
obj |
Model covariate |
Parse the model and get the list of terms
Description
Calls TDL5 to parse the model and get the list of terms
Usage
createModelInfo(model, ForceRun = FALSE)
Arguments
model |
Model object |
ForceRun |
Set to |
Value
List of model information
Examples
createModelInfo(model)
Use to create model object from parsed metamodel
Description
Define NlmePmlModel model class instance from metamodel blocks and creates NlmePmlModel model class from the given parsed metamodel. See Metamodel overview.
Usage
create_model_from_metamodel(mmdlfile, directoryToRun)
Arguments
mmdlfile |
File with metamodel description |
directoryToRun |
Directory where the results will be stored; if
|
Value
a list with the resulted model class instance and engine parameters.
If multiple ESTARGS/SIMARGS blocks are used, a list of estimation argument
classes (NlmeEngineExtraParams()
) and simulation argument classes
(simParamsBlock
) are returned.
See Also
Examples
ModelParamsList <-
create_model_from_metamodel(mmdlfile = "Inf1CPT.mmdl")
Initialize input data for PK/PD model
Description
Used to initialize input data for PK/PD model
Usage
dataMapping(.Object, data)
Arguments
.Object |
Model object |
data |
Input data of class |
Value
Modified NlmePmlModel
object
See Also
Examples
model <- pkmodel(columnMap = FALSE)
model <- dataMapping(model, pkData)
Deletes a secondary parameter from the model
Description
Deletes a secondary parameter from the model
Usage
deleteSecondary(.Object, name)
## S4 method for signature 'NlmePmlModel'
deleteSecondary(.Object, name)
Arguments
.Object |
An 'NlmePmlModel' object from which you want to delete a secondary parameter. |
name |
Name of the secondary parameter to be deleted. |
Value
Depends on the specific methods
Returns the 'NlmePmlModel' object with the secondary parameter removed.
Functions
-
deleteSecondary(NlmePmlModel)
: Method for the 'NlmePmlModel' classThis method deletes a secondary parameter from the NlmePmlModel object. It searches for the parameter by name, and if it is found, it removes it from the object and updates the PML model.
Return dose names
Description
Use to return character vector of dose point names in model object.
Usage
doseNames(model)
Arguments
model |
Model object |
Value
Character vector of dose names defined in model
Examples
model <- pkmodel(columnMap = FALSE)
doses <- doseNames(model)
Directly edit PML text in model object
Description
Allows user to edit PML text in model object using internal text editor and return a new textual model containing the edited PML statements.
Usage
editModel(.Object)
Arguments
.Object |
Model object |
Value
Modified NlmePmlModel
object
Examples
model <- pkmodel(columnMap = FALSE)
newModel <- editModel(model)
Create an Emax or Imax model
Description
Use to create an Emax or Imax model
Usage
emaxmodel(
isPopulation = TRUE,
checkBaseline = FALSE,
checkFractional = FALSE,
checkInhibitory = FALSE,
checkSigmoid = FALSE,
data = NULL,
columnMap = TRUE,
modelName = "",
workingDir = "",
...
)
Arguments
isPopulation |
Is this a population model |
checkBaseline |
Set to |
checkFractional |
Set to |
checkInhibitory |
Set to |
checkSigmoid |
Set to |
data |
Input dataset |
columnMap |
If |
modelName |
Model name for subdirectory created for model output in current working directory. |
workingDir |
Working directory to run the model. Current working directory will be used
if |
... |
Arguments passed on to
|
Value
NlmePmlModel
object
Column mapping
Note that quoted and unquoted column names are supported. Please see colMapping
.
Examples
model <- emaxmodel(data = pkpdData, ID = "ID", C = "CObs", EObs = "EObs")
model <- emaxmodel(
checkBaseline = TRUE,
checkFractional = TRUE,
checkInhibitory = TRUE,
data = pkpdData,
ID = "ID",
C = "CObs",
EObs = "EObs"
)
# View PML Code
print(model)
Emax model mapping parameters
Description
Emax model mapping parameters
Usage
emaxmodel_MappingParameters(ID = NULL, C = NULL, EObs = NULL)
Arguments
ID |
Column mapping argument for input dataset column(s)
that identify individual data profiles. Only applicable to population models
|
C |
Column mapping argument that represents the input dataset column for the independent variable that is treated as a covariate during the estimation/simulation process. |
EObs |
Column mapping argument that represents the input dataset column for the observed drug effect (i.e., the dependent variable). |
Specify engine parameters for model execution
Description
Use to define extra engine parameters for model execution.
Usage
engineParams(
model,
sort = NULL,
ODE = "MatrixExponent",
rtolODE = 1e-06,
atolODE = 1e-06,
maxStepsODE = 50000,
numIterations = 1000,
method = NULL,
stdErr = NULL,
isCentralDiffStdErr = TRUE,
stepSizeStdErr = NULL,
numIntegratePtsAGQ = 1,
numIterNonParametric = 0,
allowSyntheticGradient = FALSE,
numIterMAPNP = 0,
numRepPCWRES = 0,
stepSizeLinearize = 0.002,
numDigitLaplacian = 7,
numDigitBlup = 13,
mapAssist = 0,
iSample = 300,
iAcceptRatio = 0.1,
impDist = "Normal",
tDOF = 4,
numSampleSIR = 10,
numBurnIn = 0,
freezeOmega = FALSE,
MCPEM = FALSE,
runAllIterations = FALSE,
scramble = "Owen",
stepSizePartialDeriv = 1e-05,
numTimeStepPartialDeriv = 20
)
Arguments
model |
Model object |
sort |
Logical; Specifying whether or not to sort the input data by subject and time values.
|
ODE |
Character; Specifying the solver used to numerically solve Ordinary Differential Equations (ODEs). Options are '"MatrixExponent"', '"Higham"', '"DVERK"', '"DOPRI5"', '"AutoDetect"', '"Stiff"'. See Details section. |
rtolODE |
Numeric; Specifying relative tolerance for the numerical ODE solver. |
atolODE |
Numeric; Specifying absolute tolerance for the numerical ODE solver. |
maxStepsODE |
Numeric; Specifying maximum number of allowable steps or function evaluations for the ODE solver. |
numIterations |
Numeric; Specifying maximum number of iterations for estimation. |
method |
Character; Specifying engine method for estimation. For population models,
options are Note: For population models, if |
stdErr |
Character; Specifying method for standard error computations.
Here |
isCentralDiffStdErr |
Logical; Default |
stepSizeStdErr |
Numeric; Specifying the step size used for |
numIntegratePtsAGQ |
Numeric; Specifying the number of integration points
for adaptive Gaussian quadrature (AGQ) algorithm. Only applicable to population models with
|
numIterNonParametric |
Numeric; Specifying the number of iterations to perform non-parametric estimation.
Only applicable to population models when |
allowSyntheticGradient |
Logical, Set to |
numIterMAPNP |
Numeric; Specifying the number of iterations
to perform Maximum A Posterior (MAP) initial Naive Pooling (NP) run before estimation.
Only applicable to population models when |
numRepPCWRES |
Numeric; Specifying the number of replicates to generate the PCWRES
after the simple estimation. Only applicable to population models when |
stepSizeLinearize |
Numeric; Specifying the step size used for numerical differentiation when linearizing the model function during the estimation process. |
numDigitLaplacian |
Numeric; Specifying the number of significant decimal digits for the Laplacian algorithm to use to reach convergence. Only applicable to population models. |
numDigitBlup |
Numeric; Specifying the number of significant decimal digits for the individual estimation to use to reach convergence. Only applicable to population models. |
mapAssist |
Numeric; Specifying the period used to perform MAP assistance ( |
iSample |
Numeric; Specifying the number of samples. Only applicable to population models with |
iAcceptRatio |
Numeric; Specifying the acceptance ratio. Only applicable to population models with |
impDist |
Character; Specifying the distribution used for important sampling, and options are
|
tDOF |
Numeric; Specifing the degree of freedom (allowed value is between 3 and 30) for T distribution.
Only applicable to population models with |
numSampleSIR |
Numeric; Specifying the number of samples per subject used
in the Sampling Importance Re-Sampling (SIR) algorithm to determine the number of SIR samples
taken from the empirical discrete distribution that approximates the target conditional distribution.
Only applicable to population models with |
numBurnIn |
Numeric; Specifying the number of burn-in iterations to perform at startup
to adjust certain internal parameters. Only applicable to population models with |
freezeOmega |
Logical; Set to |
MCPEM |
Logical; Set to |
runAllIterations |
Logical; Set to |
scramble |
Character; Specifying the quasi-random scrambling method to use,
and options are |
stepSizePartialDeriv |
Numeric; Specifying the step size used to numerically calculate the partial derivatives of observed variables with respect to parameters. Only applicable to individual models. |
numTimeStepPartialDeriv |
Numeric; Specifying the number of time steps used to output the partial derivatives of observed variables with respect to parameters. Only applicable to individual models. |
Details
Both '"DVERK"' and '"DOPRI5"' are non-stiff solvers. '"Higham"' is a matrix exponent based ODE solver which could be useful when overscaling issue should be avoided, i.e. the ratio between observed values and doses is too high or too low. '"AutoDetect"' represents LSODA solver implemenation, which solves the initial value problem for stiff or nonstiff systems of first order ordinary differential equations. '"Stiff"' is a LSODE (Livermore solver). It is best suited for stiff problems.
Value
List of engine parameters to be used during fitting or simulation
Return extra dose lines
Description
Use to return extra dose lines for model object
Usage
extraDoseLines(model)
Arguments
model |
Model object |
Value
List of extra dose information
Examples
data <- pkData
data$II <- 24
data$ADDL <- 1
model <-
pkmodel(
parameterization = "Clearance",
numCompartments = 2,
data = data,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc") |>
addDoseCycle(
name = "A1",
amount = 30000,
II = 24,
type = "ADDL",
colName = "ADDL")
extraDoseLines(model)
Return extra dose names
Description
Use to return extra dose names for model object
Usage
extraDoseNames(model)
Arguments
model |
Model object |
Value
Character vector of extra dose names
Examples
data <- pkData
data$II <- 24
data$ADDL <- 1
model <-
pkmodel(
parameterization = "Clearance",
numCompartments = 2,
data = data,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc") |>
addDoseCycle(
name = "A1",
amount = 30000,
II = 24,
type = "ADDL",
colName = "ADDL")
extraDoseNames(model)
extract files used for powershell script
Description
Use for extraction of the NLME files from mmdl file.
Usage
extract_mmdl(
mmdlfile,
directoryToExtract,
dataFileName = "data1.txt",
mdlOutput = "test.mdl",
cols1Output = "cols1.txt",
nlmeargsOutput = "nlmeargs.txt"
)
Arguments
mmdlfile |
The metamodel file path; relative paths are acceptable. |
directoryToExtract |
The directory where the files should be stored
If |
dataFileName |
the name of the data file
If |
mdlOutput |
the name of the file to output PML code
If |
cols1Output |
the name of the file to output columns defintion
If |
nlmeargsOutput |
the name of the file to output engine parameters
If |
Details
mdlOutput
, dataFileName
, cols1Output
, nlmeargsOutput
files are
extracted into the folders, the names of the folders are built as
{Number of estimation/simulation block in metamodel}
-
{'est' for estimation block/'sim' for simulation block}
. All estimation blocks are going first
irrespective of the simulation blocks presence, all simulation blocks
are going next.
Value
The results of create_model_from_metamodel()
run are returned.
See Also
Examples
# path to metamodel should be specified, all other arguments set to default
extract_mmdl("metamodel.mmdl")
Executes an NLME simple estimation
Description
Executes an NLME simple estimation
Usage
fitmodel(
model,
hostPlatform = NULL,
params,
simpleTables,
runInBackground = FALSE,
filesToReturn = "*",
...
)
Arguments
model |
PK/PD model class object. |
hostPlatform |
Host definition for model execution. See |
params |
Engine parameters. See |
simpleTables |
Optional list of simple tables. See
|
runInBackground |
Set to |
filesToReturn |
Used to specify which files to be outputted to the model directory
and loaded as returned value. By default, all the applicable files listed
in the |
... |
Additional arguments for |
Value
if runInBackground
is FALSE
, a list with main
resulted dataframes is returned:
Overall
ConvergenceData
residuals
Secondary
StrCovariate - if continuous covariates presented
StrCovariateCat - if categorical covariates presented
theta
posthoc table
posthocStacked table
Requested tables
nlme7engine.log
textual output is returned and loaded with the main information related to
fitting. dmp.txt
structure with the results of fitting (including LL by subject information)
is returned and loaded. These 2 files are returned and loaded irrespective of
filesToReturn
argument value.
For individual models, additional dataframe with partial derivatives is returned:
ParDer
For population models and the method specified is NOT Naive-Pooled
,
additional dataframes are returned:
omega
Eta
EtaStacked
EtaEta
EtaCov
EtaCovariate - if continuous covariates presented
EtaCovariateCat - if categorical covariates presented
bluptable.dat
If standard error computation was requested and it was successful, additional dataframes are returned:
thetaCorrelation
thetaCovariance
Covariance
omega_stderr
If nonparametric method was requested (numIterNonParametric
> 0) and
the method
specified in engineParams
is NOT Naive-Pooled
,
additional dataframes are returned:
nonParSupportResult
nonParStackedResult
nonParEtaResult
nonParOverallResult
if runInBackground
is TRUE
, only current status of job is returned.
filesToReturn
with Certara.Xpose.NLME
If filesToReturn
is used and "ConvergenceData.csv" and "residuals.csv"
are not in the patterns, these files won't be returned and loaded. These files
are essential for Certara.Xpose.NLME::xposeNlmeModel
and
Certara.Xpose.NLME::xposeNlme
functions. This makes impossible to
use the resulted object in Certara.Xpose.NLME
functions.
Non-loaded but returned files
The non-loaded but returned files in the model working directory are:
err1.txt - concatenated for all runs detailed logs for all steps of optimization,
out.txt - general pivoted information about results,
doses.csv - information about doses given for all subjects,
iniest.csv - information about initial estimates
See Also
tableParams, hostParams,
engineParams
Examples
# Define the host
host <- hostParams(parallelMethod = "None",
hostName = "local",
numCores = 1)
# Define the model
model <- pkmodel(numComp = 2,
absorption = "FirstOrder",
ID = "Subject",
Time = "Act_Time",
CObs = "Conc",
Aa = "Amount",
data = pkData,
modelName = "PkModel")
Table01 <- tableParams(name = "SimTableObs.csv",
timesList = "0,1,2,4,4.9,55.1,56,57,59,60",
variablesList = "C, CObs",
timeAfterDose = FALSE,
forSimulation = FALSE)
# Update fixed effects
model <- fixedEffect(model,
effect = c("tvV", "tvCl", "tvV2", "tvCl2"),
value = c(16, 41, 7, 14))
# Define the engine parameters
params <- engineParams(model)
# Fit model
res <- fitmodel(model = model,
hostPlatform = host,
params = params,
simpleTables = Table01)
Specifies the initial values, lower bounds, upper bounds, and units for fixed effects in a model
Description
Specifies the initial values, lower bounds, upper bounds, and units for fixed effects in a model
Usage
fixedEffect(
.Object,
effect,
value = NULL,
lowerBound = NULL,
upperBound = NULL,
isFrozen = NULL,
unit = NULL
)
Arguments
.Object |
Model object in which to define fixed effects values |
effect |
Character or character vector specifying names of fixed effects |
value |
Numeric or numeric vector specifying the initial values of fixed effects. If supplying vector, must be in the same order/length as corresponding |
lowerBound |
Numeric or numeric vector specifying the lower limit values of fixed effects. If supplying vector, must be in the same order as |
upperBound |
Numeric or numeric vector specifying the upper limit values of fixed effects. If supplying vector, must be in the same order as |
isFrozen |
Logical or logical vector. Set to |
unit |
Character or character vector specifying units of measurement for the fixed effects. If supplying a vector, must be in the same order as |
Value
Modified NlmePmlModel
object
Examples
model <- pkmodel(
numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc",
modelName = "TwCpt_IVBolus_FOCE_ELS"
)
# View initial/current fixed effect values
initFixedEffects(model)
model <- model |>
fixedEffect(
effect = c("tvV", "tvCl", "tvV2", "tvCl2"),
value = c(15, 5, 40, 15)
)
Generates PML statements based on the current model
Description
Generates PML statements based on the current model
Usage
generatePML(.Object)
Arguments
.Object |
PK/PD Model |
Generates PML statements based on the current model
Description
Generates PML statements based on the current model
Usage
generatePMLModel(.Object)
Arguments
.Object |
PK/PD model |
Return random effect names in model
Description
Use to return character vector of random effect names (if available) in model object
Usage
getRandomEffectNames(model)
Arguments
model |
Model object |
Value
Characters vector of random effect names
Examples
model <- pkmodel(columnMap = FALSE)
getRandomEffectNames(model)
Return theta names and values
Description
Returns named character vector of theta values by parsing PML fixed effect statements
Usage
getThetas(model)
Arguments
model |
PK/PD model |
Value
Character vector of theta names defined in model
Examples
getThetas(pkpdmodel)
Initialize for NlmeParallelHost
Description
Initialize for NlmeParallelHost
Usage
hostParams(
sharedDirectory,
installationDirectory = Sys.getenv("INSTALLDIR"),
hostName = Sys.info()[["nodename"]],
machineName = "127.0.0.1",
hostType = Sys.info()[["sysname"]],
numCores = 4,
parallelMethod = "LOCAL_MPI",
userName = "",
privateKeyFile = NULL,
userPassword = "",
scriptPath = "",
rLocation = "",
isLocal = TRUE
)
Arguments
sharedDirectory |
Directory where temporary NLME run folder is created during execution. If missing, the current working directory will be used. |
installationDirectory |
Directory containing NLME libraries/scripts |
hostName |
Visual name of the host (default A name by which the machine is known on the network) |
machineName |
IP address or name of the host(default 127.0.0.1) |
hostType |
|
numCores |
Integer; Number of compute cores. 4 by default |
parallelMethod |
String; Options are:
|
userName |
String; How the user is identified to the remote system |
privateKeyFile |
Path to private key file, see
|
userPassword |
Either a string or a callback function for
password prompt, see |
scriptPath |
a path to the script to be executed before starting Rscript within Certara.NLME8 package on the remote host. Ignored when running locally. |
rLocation |
Path to Rscript executable on remote host; ignored on local host |
isLocal |
Is this a local |
Value
NlmeParallelHost class instance
Examples
host <- hostParams(sharedDirectory = tempdir(),
parallelMethod = "LOCAL_MPI",
hostName = "Local",
numCores = 4)
Display/Set initial estimates for fixed effects
Description
Display/Set initial estimates for fixed effects
Usage
initFixedEffects(.Object)
## S4 method for signature 'NlmePmlModel'
initFixedEffects(.Object)
initFixedEffects(.Object) <- value
## S4 replacement method for signature 'NlmePmlModel'
initFixedEffects(.Object) <- value
Arguments
.Object |
PK/PD model |
value |
Named numeric vector |
Value
Named numeric vector of fixed effects estimates
See Also
Examples
model <- pkmodel(
numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc",
modelName = "TwCpt_IVBolus_FOCE_ELS"
)
# View initial/current fixed effect values
initFixedEffects(model)
# May also use as a 'replacement function' to set the values
initFixedEffects(model) <- c(tvV = 15, tvCl = 5, tvV2 = 40, tvCl2 = 15)
Initializes random effects structure from structural parameters
Description
Initializes random effects structure from structural parameters
Usage
initializeRandomEffectsBlock(.Object)
Arguments
.Object |
PK/PD model |
Create linear model
Description
Use to create a constant, linear, or quadratic PD model
Usage
linearmodel(
isPopulation = TRUE,
type = "Constant",
data = NULL,
columnMap = TRUE,
modelName = "",
workingDir = "",
...
)
Arguments
isPopulation |
Is this a population model |
type |
Model type. Options are |
data |
Input dataset |
columnMap |
If |
modelName |
Model name for subdirectory created for model output in current working directory. |
workingDir |
Working directory to run the model. Current working directory will be used
if |
... |
Arguments passed on to
|
Value
NlmePmlModel
object
Column mapping
Note that quoted and unquoted column names are supported. Please see colMapping
.
Examples
model <- linearmodel(type = "Linear", data = pkpdData, ID = "ID", C = "CObs", EObs = "EObs")
# View PML Code
print(model)
Linear model mapping parameters
Description
Linear model mapping parameters
Usage
linearmodel_MappingParameters(ID = NULL, C = NULL, EObs = NULL)
Arguments
ID |
Column mapping argument for input dataset column(s)
that identify individual data profiles. Only applicable to population models
|
C |
Column mapping argument that represents the input dataset column for the independent variable that is treated as a covariate during the estimation/simulation process. |
EObs |
Column mapping argument that represents the input dataset column for the observed drug effect (i.e., the dependent variable). |
Lists covariate effect names in the model
Description
This function lists the names of covariate effects in a provided pharmacokinetic/pharmacodynamic (PK/PD) model.
Usage
listCovariateEffectNames(.Object)
## S4 method for signature 'NlmePmlModel'
listCovariateEffectNames(.Object)
Arguments
.Object |
PK/PD model |
Value
A vector of character strings containing the names of the covariate effects in the model.
Examples
listCovariateEffectNames(model)
Load model.rda file
Description
Loads a previously saved model from disk.
Usage
loadModel(directory)
Arguments
directory |
Directory where the model was saved |
Value
No value is returned. Model object is loaded in global environment.
Examples
loadModel(directory)
Return model variable names
Description
Return a vector of model variable names from model object
Usage
modelVariableNames(model)
Arguments
model |
Model object |
Value
Character vector of required model variable names
Examples
modelVariableNames(model)
Get observation names
Description
Get observation model variables names.
Usage
observationNames(model)
Arguments
model |
Model object |
Value
Character vector of observation model variables names.
Examples
model <- pkemaxmodel(columnMap = FALSE)
obsnames <- observationNames(model)
Obtain NLME License
Description
This function attempts to authenticate and obtain an NLME license using the specified installation directory and licensing tool.
Usage
obtain_NLMELicense(
InstallDir = Sys.getenv("INSTALLDIR"),
ForceAuth = FALSE,
ForceLicenseGet = FALSE,
verbose = getOption("verbose")
)
Arguments
InstallDir |
A character string specifying the directory
where the NLME Engine is installed e.g., |
ForceAuth |
A logical value indicating whether to force
re-authentication even if already authenticated. Default is |
ForceLicenseGet |
A logical value indicating whether to force obtaining
the license even if already licensed. Default is |
verbose |
A logical value indicating whether to print verbose output.
Default is |
Details
This function checks for the presence of the necessary
appsettings.json
file as indicated by the CAD_CONFIG_FILE
environment variable,
runs the licensing tool to authenticate the user, and attempts to obtain
an NLME license. It prints detailed messages if the verbose
parameter is set to TRUE
.
Value
A logical value indicating whether the license was successfully obtained.
Examples
result <- obtain_NLMELicense("C:/Program Files/Certara/NLME_Engine", verbose = TRUE)
if (result) {
message("License obtained successfully!")
} else {
message("Failed to obtain license.")
}
Embed column definition info into the model
Description
Add/update column definition information for the model object
Usage
parsePMLColMap(.Object, ForceRun = TRUE)
Arguments
.Object |
Model ( |
ForceRun |
Set to |
Details
Intended to be used by other packages
Value
modified NLMEPmlModel
object with column mapping
definitions
Create NlmeParallelHost object from json file with host definition
Description
Create NlmeParallelHost object from json file with host definition
Usage
parse_NLMEHosts(nlme_hostPath)
Arguments
nlme_hostPath |
json file with host definition for model execution.
See |
Value
the NlmeParallelHost
class object is returned.
Examples
# path nlme_hostPath should be specified
host <- parse_NLMEHosts(nlme_hostPath)
Pharmacokinetic dataset containing 16 subjects with single bolus dose
Description
Pharmacokinetic dataset containing 16 subjects with single bolus dose.
Usage
pkData
Format
A data frame with 112 rows and 8 variables:
- Subject
Subject ID
- Nom_Time
Nominal Time
- Act_Time
Actual Time
- Amount
Amount of dose
- Conc
Observations of drug concentration in blood
- Age
Age
- BodyWeight
Body weight
- Gender
Gender ("male", "female")
Source
Pharmacokinetic pediatric dataset containing 80 subjects with single bolus dose.
Description
Pharmacokinetic pediatric dataset containing 80 subjects with single bolus dose. Dataset includes covariates and observations Below Quantification Limit (BQL).
Usage
pkcovbqlData
Format
A data frame with 880 rows and 8 variables:
- ID
Subject ID
- Time
Nominal Time
- Dose
Amount of dose
- CObs
Observations of drug concentration in blood
- LLOQ
Lower Limit of Quantification
- CObsBQL
Variable that indicates whether the observed drug concentration is below the limit of quantification
- BW
Body weight
- PMA
Postmenstrual age
Source
The data is simulated using a one-compartment model with IV bolus, where the central volume is allometric weight scaled, and the clearance is scaled by a combination of allometric weight scaling and a sigmoidal maturation function driven by PMA. Germovsek E., et al, Pharmacokinetic–Pharmacodynamic Modeling in Pediatric Drug Development, and the Importance of Standardized Scaling of Clearance, Clin Pharmacokinet (2019) 58:39–52.
Create a PK/Emax or PK/Imax model
Description
Use to create a PK/Emax or PK/Imax model
Usage
pkemaxmodel(
isPopulation = TRUE,
parameterization = "Clearance",
absorption = "Intravenous",
numCompartments = 1,
isClosedForm = TRUE,
isTlag = FALSE,
hasEliminationComp = FALSE,
isFractionExcreted = FALSE,
isSaturating = FALSE,
infusionAllowed = FALSE,
isDuration = FALSE,
isSequential = FALSE,
isPkFrozen = FALSE,
hasEffectsCompartment = FALSE,
checkBaseline = FALSE,
checkFractional = FALSE,
checkInhibitory = FALSE,
checkSigmoid = FALSE,
isEmaxFrozen = FALSE,
data = NULL,
columnMap = TRUE,
modelName = "",
workingDir = "",
...
)
Arguments
isPopulation |
Is this a population model |
parameterization |
Type of parameterization. Options are |
absorption |
Type of absorption. Options are |
numCompartments |
Value of either |
isClosedForm |
Set to |
isTlag |
Set to |
hasEliminationComp |
Set to |
isFractionExcreted |
Set to |
isSaturating |
Set to |
infusionAllowed |
Set to |
isDuration |
Set to |
isSequential |
Set to |
isPkFrozen |
Set to |
hasEffectsCompartment |
Set to |
checkBaseline |
Does Emax/Imax model have a baseline response? |
checkFractional |
Set to |
checkInhibitory |
Set to |
checkSigmoid |
Set to |
isEmaxFrozen |
Set to |
data |
Input dataset |
columnMap |
If |
modelName |
Model name for subdirectory created for model output in current working directory. |
workingDir |
Working directory to run the model. Current working directory will be used
if |
... |
Arguments passed on to
|
Value
NlmePmlModel
object
Column mapping
Note that quoted and unquoted column names are supported. Please see colMapping
.
Examples
model <- pkemaxmodel(
parameterization = "Macro",
data = pkpdData,
Time = "Time",
ID = "ID",
A1 = "Dose",
C1Obs = "CObs",
EObs = "EObs"
)
# View the model as well as its associated column mappings
print(model)
Create a PK/Indirect response model
Description
Use to create a PK/Indirect response model.
Usage
pkindirectmodel(
isPopulation = TRUE,
parameterization = "Clearance",
absorption = "Intravenous",
numCompartments = 1,
isClosedForm = TRUE,
isTlag = FALSE,
hasEliminationComp = FALSE,
isFractionExcreted = FALSE,
isSaturating = FALSE,
infusionAllowed = FALSE,
isDuration = FALSE,
isSequential = FALSE,
isPkFrozen = FALSE,
hasEffectsCompartment = FALSE,
indirectType = "LimitedStimulation",
isBuildup = TRUE,
isExponent = FALSE,
indirectFrozen = FALSE,
data = NULL,
columnMap = TRUE,
modelName = "",
workingDir = "",
...
)
Arguments
isPopulation |
Is this a population model |
parameterization |
Type of parameterization. Options are |
absorption |
Type of absorption. Options are |
numCompartments |
Value of either |
isClosedForm |
Set to |
isTlag |
Set to |
hasEliminationComp |
Set to |
isFractionExcreted |
Set to |
isSaturating |
Set to |
infusionAllowed |
Set to |
isDuration |
Set to |
isSequential |
Set to |
isPkFrozen |
Set to |
hasEffectsCompartment |
Set to |
indirectType |
Type of drug actions for the indirect response model.
Options are |
isBuildup |
Set to |
isExponent |
Set to |
indirectFrozen |
Set to |
data |
Input dataset |
columnMap |
If |
modelName |
Model name for subdirectory created for model output in current working directory. |
workingDir |
Working directory to run the model. Current working directory will be used
if |
... |
Arguments passed on to
|
Value
NlmePmlModel
object
Column mapping
Note that quoted and unquoted column names are supported. Please see colMapping
.
Examples
model <- pkindirectmodel(
parameterization = "Micro",
data = pkpdData,
ID = "ID",
Time = "Time",
A1 = "Dose",
CObs = "CObs",
EObs = "EObs"
)
# View PML Code
print(model)
PK Indirect model mapping parameters
Description
PK Indirect mapping parameters
Usage
pkindirectmodel_MappingParameters(
ID = NULL,
Time = NULL,
A1 = NULL,
Aa = NULL,
A = NULL,
A1_Rate = NULL,
A1_Duration = NULL,
Aa_Rate = NULL,
Aa_Duration = NULL,
A_Rate = NULL,
A_Duration = NULL,
A1Strip = NULL,
CObs = NULL,
C1Obs = NULL,
A0Obs = NULL,
EObs = NULL,
nV = NULL,
nV2 = NULL,
nV3 = NULL,
nCl = NULL,
nCl2 = NULL,
nCl3 = NULL,
nKa = NULL,
nA = NULL,
nAlpha = NULL,
nB = NULL,
nBeta = NULL,
nC = NULL,
nGamma = NULL,
nKe = NULL,
nK12 = NULL,
nK21 = NULL,
nK13 = NULL,
nK31 = NULL,
nTlag = NULL,
nKm = NULL,
nVmax = NULL,
nFe = NULL,
nMeanDelayTime = NULL,
nShapeParamMinusOne = NULL,
nShapeParam = NULL
)
Arguments
ID |
Column mapping argument for input dataset column(s) that identify
individual data profiles. Only applicable to population models |
Time |
Column mapping argument that represents the input dataset column for the relative time used in a study and only applicable to time-based models. |
A1 |
Column mapping argument that represents the input dataset column for the amount of drug administered. Only applicable to the following types of models:
|
Aa |
Column mapping argument that represents the input dataset column
for the amount of drug administered and only applicable to models with |
A |
Column mapping argument that represents the input dataset column
for the amount of drug administered and only applicable to models with
|
A1_Rate |
Column mapping argument that represents the input dataset column for the rate of drug administered. Only applicable to the following types of models:
|
A1_Duration |
Column mapping argument that represents the input dataset column for the duration of drug administered. Only applicable to the following types of models:
|
Aa_Rate |
Column mapping argument that represents the input dataset column
for the rate of drug administered and only applicable to models with |
Aa_Duration |
Column mapping argument that represents the input dataset column
for the duration of drug administered and only applicable to models with |
A_Rate |
Column mapping argument that represents the input dataset column
for the rate of drug administered and only applicable to models with |
A_Duration |
Column mapping argument that represents the input dataset column
for the duration of drug administered and only applicable to models with |
A1Strip |
Column mapping argument that represents the input dataset column
for the stripping dose and only applicable to models with |
CObs |
Column mapping argument that represents the input dataset column
for the observations of drug concentration in the central compartment and only applicable
to models with |
C1Obs |
Column mapping argument that represents the input dataset column
for the observations of drug concentration in the central compartment and only applicable
to models with |
A0Obs |
Column mapping argument that represents the input dataset column
for the observed amount of drug in the elimination compartment. ( |
EObs |
Column mapping argument that represents the input dataset column for the observed drug effect. |
nV |
If |
nV2 |
If |
nV3 |
If |
nCl |
If |
nCl2 |
If |
nCl3 |
If |
nKa |
If |
nA |
If |
nAlpha |
If |
nB |
If |
nBeta |
If |
nC |
If |
nGamma |
If |
nKe |
If |
nK12 |
If |
nK21 |
If |
nK13 |
If |
nK31 |
If |
nTlag |
If |
nKm |
If |
nVmax |
If |
nFe |
If |
nMeanDelayTime |
If |
nShapeParamMinusOne |
If |
nShapeParam |
If |
Create PK linear model
Description
Use to create a PK/PD model with PD described by either constant, linear, or quadratic model
Usage
pklinearmodel(
isPopulation = TRUE,
parameterization = "Clearance",
absorption = "Intravenous",
numCompartments = 1,
isClosedForm = TRUE,
isTlag = FALSE,
hasEliminationComp = FALSE,
isFractionExcreted = FALSE,
isSaturating = FALSE,
infusionAllowed = FALSE,
isDuration = FALSE,
isSequential = FALSE,
isPkFrozen = FALSE,
hasEffectsCompartment = FALSE,
linearType = "Constant",
isLinearFrozen = FALSE,
data = NULL,
columnMap = TRUE,
modelName = "",
workingDir = "",
...
)
Arguments
isPopulation |
Is this a population model |
parameterization |
Type of parameterization. Options are |
absorption |
Type of absorption. Options are |
numCompartments |
Value of either |
isClosedForm |
Set to |
isTlag |
Set to |
hasEliminationComp |
Set to |
isFractionExcreted |
Set to |
isSaturating |
Set to |
infusionAllowed |
Set to |
isDuration |
Set to |
isSequential |
Set to |
isPkFrozen |
Set to |
hasEffectsCompartment |
Set to |
linearType |
Type of PD model; Options are |
isLinearFrozen |
Set to |
data |
Input dataset |
columnMap |
If |
modelName |
Model name for subdirectory created for model output in current working directory. |
workingDir |
Working directory to run the model. Current working directory will be used
if |
... |
Arguments passed on to
|
Value
NlmePmlModel
object
Column mapping
Note that quoted and unquoted column names are supported. Please see colMapping
.
Examples
model <- pklinearmodel(
parameterization = "Clearance",
linearType = "Constant",
data = pkpdData,
ID = "ID",
Time = "Time",
A1 = "Dose",
CObs = "CObs",
EObs = "EObs"
)
# View the model as well as its associated column mappings
print(model)
Creates a PK model
Description
Use to create a PK model
Usage
pkmodel(
isPopulation = TRUE,
parameterization = "Clearance",
absorption = "Intravenous",
numCompartments = 1,
isClosedForm = TRUE,
isTlag = FALSE,
hasEliminationComp = FALSE,
isFractionExcreted = FALSE,
isSaturating = FALSE,
infusionAllowed = FALSE,
isDuration = FALSE,
isStdevFrozen = FALSE,
data = NULL,
columnMap = TRUE,
modelName = "",
workingDir = "",
...
)
Arguments
isPopulation |
Is this a population model |
parameterization |
Type of parameterization. Options are |
absorption |
Type of absorption. Options are |
numCompartments |
Value of either |
isClosedForm |
Set to |
isTlag |
Set to |
hasEliminationComp |
Set to |
isFractionExcreted |
Set to |
isSaturating |
Set to |
infusionAllowed |
Set to |
isDuration |
Set to |
isStdevFrozen |
Set to |
data |
Input dataset |
columnMap |
If |
modelName |
Model name for subdirectory created for model output in current working directory. |
workingDir |
Working directory to run the model. Current working directory will be used
if |
... |
Arguments passed on to
|
Value
NlmePmlModel
object
Column mapping
Note that quoted and unquoted column names are supported. Please see colMapping
.
Examples
model <- pkmodel(
parameterization = "Clearance",
numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc"
)
# View the model as well as its associated column mappings
print(model)
PK model mapping parameters
Description
PK model mapping parameters
Usage
pkmodel_MappingParameters(
ID = NULL,
Time = NULL,
A1 = NULL,
Aa = NULL,
A = NULL,
A1_Rate = NULL,
A1_Duration = NULL,
Aa_Rate = NULL,
Aa_Duration = NULL,
A_Rate = NULL,
A_Duration = NULL,
A1Strip = NULL,
CObs = NULL,
C1Obs = NULL,
A0Obs = NULL
)
Arguments
ID |
Column mapping argument for input dataset column(s) that identify
individual data profiles. Only applicable to population models |
Time |
Column mapping argument that represents the input dataset column for the relative time used in a study and only applicable to time-based models. |
A1 |
Column mapping argument that represents the input dataset column for the amount of drug administered. Only applicable to the following types of models:
|
Aa |
Column mapping argument that represents the input dataset column
for the amount of drug administered and only applicable to models with |
A |
Column mapping argument that represents the input dataset column
for the amount of drug administered and only applicable to models with
|
A1_Rate |
Column mapping argument that represents the input dataset column for the rate of drug administered. Only applicable to the following types of models:
|
A1_Duration |
Column mapping argument that represents the input dataset column for the duration of drug administered. Only applicable to the following types of models:
|
Aa_Rate |
Column mapping argument that represents the input dataset column
for the rate of drug administered and only applicable to models with |
Aa_Duration |
Column mapping argument that represents the input dataset column
for the duration of drug administered and only applicable to models with |
A_Rate |
Column mapping argument that represents the input dataset column
for the rate of drug administered and only applicable to models with |
A_Duration |
Column mapping argument that represents the input dataset column
for the duration of drug administered and only applicable to models with |
A1Strip |
Column mapping argument that represents the input dataset column
for the stripping dose and only applicable to models with |
CObs |
Column mapping argument that represents the input dataset column
for the observations of drug concentration in the central compartment and only applicable
to models with |
C1Obs |
Column mapping argument that represents the input dataset column
for the observations of drug concentration in the central compartment and only applicable
to models with |
A0Obs |
Column mapping argument that represents the input dataset column
for the observed amount of drug in the elimination compartment. ( |
Column mapping
Note that quoted and unquoted column names are supported. Please see colMapping
.
Pharmacokinetic/Pharmacodynamic dataset containing 200 subjects with single bolus dose
Description
Pharmacokinetic/Pharmacodynamic dataset containing 200 subjects with single bolus dose.
Usage
pkpdData
Format
A data frame with 2600 rows and 5 variables:
- ID
Subject ID
- Time
Nominal Time
- Dose
Amount of dose
- CObs
Observations of drug concentration in blood
- EObs
Observations of drug effect
Source
The data is simulated using a PKPD model with PK described by a one-compartment model with IV bolus and PD described by an indirect response model with the loss inhibited.
Print generic for class NlmeEngineExtraParams
Description
Print generic for class NlmeEngineExtraParams
Usage
## S3 method for class 'NlmeEngineExtraParams'
print(x, ...)
Arguments
x |
NlmeEngineExtraParams class instance |
... |
Arguments passed to methods. |
Value
NULL
Examples
print(NlmeEngineExtraParams())
Print method for NlmeParallelHost class
Description
This method prints the information of an NlmeParallelHost object.
Usage
## S3 method for class 'NlmeParallelHost'
print(x, ...)
Arguments
x |
An NlmeParallelHost object. |
... |
Additional arguments passed to the print function. |
Value
NULL
Examples
host <- NlmeParallelHost(
sharedDirectory = "~/shared/",
installationDirectory = "~/nlme/",
hostName = "my_host",
machineName = "192.168.1.100",
hostType = "RHEL8",
numCores = 8,
isLocal = FALSE,
rLocation = "/usr/bin/R",
scriptPath = "/path/to/script.R",
userAuthentication = NlmeUserAuthentication(userName = "myuser", userPassword = "mypassword"),
parallelMethod = NlmeParallelMethod("SGE_MPI")
)
print(host)
Print generic for class NlmePmlModel
Description
Prints model information, including PML and column mappings.
Usage
## S3 method for class 'NlmePmlModel'
print(x, ...)
Arguments
x |
NlmePmlModel class instance |
... |
Arguments passed to methods. |
Value
NULL
Examples
model <- pkmodel(columnMap = FALSE, data = pkData)
print(model)
Print generic for class Simple.NlmeJob
Description
Reads progress file and prints out its contents
Usage
## S3 method for class 'SimpleNlmeJob'
print(x, ...)
Arguments
x |
Handle to an NLME job |
... |
Arguments passed to methods. |
Value
NULL
Examples
print(jobHandle)
Executes an NLME profile perturbation
Description
Executes an NLME profile perturbation
Usage
profilePertubate(
hostPlatform,
params = NULL,
profiles,
model = NULL,
sortColumns = SortColumns(""),
scenarios = list(),
runInBackground = FALSE
)
Arguments
hostPlatform |
How to execute the run(NlmeParallelHost) |
params |
Engine parameters(NlmeEngineExtraParams) |
profiles |
Profiles to perturbate(ProfileParameters) |
model |
PK/PD model |
sortColumns |
Optional list of columns to sort and fit(SortColumns) |
scenarios |
Optional list of scenarios to fit(NlmeScenario) |
runInBackground |
Set to |
Value
List of results from NLME execution.
Examples
# metod = 3 is FOCE-LB
params <- NlmeEngineExtraParams(
method = 3,
numIterations = 1000
)
profile1 <- ProfileVar("tvV", 9.548, "-2,-1,0,1,2")
profile2 <- ProfileVar("tvCl", 0.919, "-0.5,0,1.5")
profiles <- ProfileParameters("USE_DELTA", c(profile1, profile2))
job <- profilePertubate(defaultHost, params, profiles, model)
Returns random block statement
Description
Returns random block statement
Usage
randomBlockStatement(.Object)
Arguments
.Object |
PK/PD model |
Sets or updates the covariance matrix of random effects
Description
Use to set or update the covariance matrix of random effects in a model object.
Usage
randomEffect(
.Object,
effect,
value = NULL,
isDiagonal = TRUE,
isFrozen = FALSE,
...
)
Arguments
.Object |
Model object |
effect |
One or more names of available random effects. |
value |
Initial values for the diagonal elements of the covariance matrix of
random effects (if |
isDiagonal |
Set to |
isFrozen |
Set to |
... |
Additional arguments |
Value
Modified NlmePmlModel
object
Examples
model <- pkmodel(
numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc",
modelName = "TwCpt_IVBolus_FOCE_ELS"
)
model <- model |>
randomEffect(effect = c("nV", "nCl", "nCl2"), value = rep(0.1, 3))
Returns occasional random block statement
Description
Returns occasional random block statement
Usage
randomOccasionalBlockStatement(.Object)
Arguments
.Object |
PK/PD model |
Remove covariate from structural parameters in a model object.
Description
Remove one or more covariates from structural parameters in a model object.
Usage
removeCovariate(.Object, covariate = NULL, paramName = NULL)
Arguments
.Object |
Model object |
covariate |
Covariates to remove from model. If |
paramName |
Structural parameters for which to remove covariate effect(s) from. If |
Value
Modified NlmePmlModel
object
Examples
model <- pkmodel(
numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc"
)
# Add Gender covariate of type categorical
model <- addCovariate(model,
covariate = "Gender",
type = "Categorical",
effect = c("V2", "Cl2"),
levels = c(0, 1),
labels = c("Female", "Male")
)
# Add BodyWeight covariate of type continuous
model <- addCovariate(model,
covariate = "BodyWeight",
type = "Continuous",
direction = "Backward",
center = "Mean",
effect = c("V", "Cl")
)
# Remove all covariates from model
model <- removeCovariate(model)
Remove NLME License
Description
This function attempts to remove an NLME license using the specified installation directory and licensing tool.
Usage
remove_NLMELicense(InstallDir = Sys.getenv("INSTALLDIR"))
Arguments
InstallDir |
A character string specifying the directory
where the NLME Engine is installed e.g., |
Details
The function checks for the presence of the necessary 'appsettings.json' file in the specified directory or the CAD config file specified by the 'CAD_CONFIG_FILE' environment variable, runs the licensing tool to log out the user, and attempts to remove the NLME license.
Value
A logical value indicating whether the license information was successfully removed.
Examples
result <- remove_NLMELicense("/path/to/install/dir")
if (result) {
message("License removed successfully!")
} else {
message("Failed to remove license.")
}
Sets residual effect attributes
Description
Sets residual effect attributes
Usage
residualEffect(.Object, effectName) <- value
Arguments
.Object |
PK/PD model object |
effectName |
Effect to lookup/set attributes for |
value |
A value to be set |
Return residual effect terms available in model
Description
Use to return character vector of residual effect names in model object
Usage
residualEffectNames(model)
Arguments
model |
Object of class |
Value
Character vector of residual effect names
Examples
model <- pkemaxmodel(columnMap = FALSE)
residualEffectNames(model)
Assign residual error model to model object
Description
Use to change or update residual error model for model object
Usage
residualError(
.Object,
predName = "C",
errorType = NULL,
SD = NULL,
isFrozen = FALSE,
isBQL = FALSE,
staticLLOQ = NULL,
EObsBQL = NULL,
CObsBQL = NULL,
C1ObsBQL = NULL,
A0ObsBQL = NULL,
exponent = NULL
)
Arguments
.Object |
Model object |
predName |
Name of the predicted variable as returned in |
errorType |
Options are |
SD |
Value for the standard deviation of the residual error variable. |
isFrozen |
Set to |
isBQL |
Set to |
staticLLOQ |
Optional LLOQ value if |
EObsBQL |
Column mapping argument that represents the input dataset column that contains the BQL flag for observation values corresponding to |
CObsBQL |
Column mapping argument that represents the input dataset column that contains the BQL flag for observation values corresponding to |
C1ObsBQL |
Column mapping argument that represents the input dataset column that contains the BQL flag for observation values corresponding to |
A0ObsBQL |
Column mapping argument that represents the input dataset column that contains the BQL flag for observation values corresponding to |
exponent |
Value of exponent. Only applicable to |
Value
Modified NlmePmlModel
object
Examples
model <- pkindirectmodel(indirectType = "LimitedInhibition", isBuildup = FALSE,
data = pkpdData, ID = "ID", Time = "Time", A1 = "Dose", CObs = "CObs", EObs = "EObs")
residualEffectNames(model)
# Change error type to "Multiplicative" and value of SD to 0.1 for "E"
model <- residualError(model, predName = "E", errorType = "Multiplicative", SD = 0.1)
# Change error type to "Power", value of SD to 0.15, and set exponent = 2 for "C"
model <- residualError(model, predName = "C", errorType = "Power", SD = 0.15, exponent = 2)
Fit the NLME metamodel
Description
Use for simple model execution given information contained in mmdl file.
Usage
run_metamodel(mmdlfile, directoryToRun, nlme_hostPath, host)
Arguments
mmdlfile |
The metamodel file path; relative paths are acceptable. |
directoryToRun |
The directory where the final results should be stored
If |
nlme_hostPath |
json file with host definition for model execution.
Generated by Pirana application. Consider using |
host |
|
Details
If both nlme_hostPath
and host
specified, the former is used.
If nlme_hostPath
is missing
, host
is used instead.
If both are missing
, MPI local host with 4 threads is used for simple estimation
mode, multicore host is used for the others.
Multiple ESTARGS/SIMARGS are supported, they are applied for the model sequentially, the results of previous estimation are applied to the model before the next one. ESTARGS queue is executed first, SIMARGS queue is executed the second.
Value
the results of fitmodel()
run are returned if singular ESTARGS block is
provided; otherwise a list of fitmodel()
and simmodel()
results
are returned.
See Also
NlmeParallelHost, fitmodel
Examples
# path to metamodel should be specified
host <- hostParams(
parallelMethod = "LOCAL_MPI",
hostName = "local_mpi",
numCores = 4
)
directoryToRun <- normalizePath("./NLME/")
run_metamodel("metamodel.mmdl", directoryToRun)
Save model object to .rda file
Description
Saves the model, engine, and host objects to a single model.rda
file in model's working directory. If no working directory exists it will be created by default. Note, the names of model, engine, and host objects will be appended with name of model directory when reloading model.rda
file to global environment.
Usage
saveModel(model, engine = NULL, host = NULL)
Arguments
model |
NlmePmlModel object |
engine |
Optional engine parameters to save with model |
host |
Optional host to save with model |
Value
NULL
Examples
saveModel(model)
loadModel("model.rda")
workhorse for change_ThetasMmdlin RsNLME.ModelBuilder
Description
workhorse for change_ThetasMmdlin RsNLME.ModelBuilder
Usage
saveUpdatedMetamodel(
mmdl_withComments,
mmdl_model,
resmodel,
metamodelFile,
updateModel = TRUE,
updatedBasedOn = "",
updatedEstArgsBlock = NULL,
updatedTablesBlock = NULL
)
Arguments
mmdl_withComments |
the metamodel text to be substituted |
mmdl_model |
the old model from mmdl_withComments |
resmodel |
the model to be pasted |
metamodelFile |
the name of initial file with metamodel to be overwritten |
Value
text of new metamodel
Get secondary parameter names
Description
Returns character vector of secondary parameter names for model object.
Usage
secondaryParameterNames(model)
Arguments
model |
Object of class |
Value
Character vector of secondary parameter names defined in model
Examples
model <- pkemaxmodel(columnMap = FALSE)
secondaryparms <- secondaryParameterNames(model)
Executes an NLME shotgun covariate search
Description
Executes an NLME shotgun covariate search
Usage
shotgunSearch(
model,
hostPlatform = NULL,
params,
covariateModel,
runInBackground = FALSE,
...
)
Arguments
model |
PK/PD model class object. |
hostPlatform |
Host definition for model execution. See |
params |
Engine parameters. See |
covariateModel |
Covariate Effects Model providing the relationship
between covariates and structural parameters to test ( |
runInBackground |
Set to |
... |
Additional arguments for |
Value
if runInBackground = FALSE
, a data frame is returned with
shotgun (all combinations given the covariate model) search results,
i.e. "Overall" comma separated file.
Otherwise the ShotgunNlmeJob
class object is returned.
See Also
Examples
# Define the model
model <- pkmodel(numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc")
# Add Gender covariate of type categorical
model <- addCovariate(model,
covariate = "Gender",
type = "Categorical",
effect = c("V2", "Cl2"),
levels = c(0, 1),
labels = c("Female", "Male"))
# Add Bodyweight covariate of type continuous
model <- addCovariate(model,
covariate = "BodyWeight",
type = "Continuous",
direction = "Backward",
center = "Mean",
effect = c("V", "Cl"))
# Define the host
host <- hostParams(parallelMethod = "None",
hostName = "local",
numCores = 1)
# Define the engine parameters
params <- engineParams(model)
# Define covariate model
cp <- covariateModel(model)
# Perform shotgun search
OverallDF <- shotgunSearch(model = model,
hostPlatform = host,
params = params,
covariateModel = cp,
runInBackground = FALSE)
Executes an NLME simulation
Description
Executes an NLME simulation
Usage
simmodel(
model,
simParams,
params,
hostPlatform = NULL,
runInBackground = FALSE,
...
)
Arguments
model |
PK/PD model class object. |
simParams |
Simulation parameters. See |
params |
Engine parameters. See |
hostPlatform |
Host definition for model execution. See |
runInBackground |
Set to |
... |
Additional class initializer arguments for |
Value
returns job properties if runInBackground is TRUE
;
if runInBackground is FALSE
and the function is called in interactive mode,
the resulted simulated tables wil be loaded and presented as a list;
if runInBackground is FALSE
and the function is called in non-interactive mode,
the list returned will have just the full paths of the tables generated.
Examples
SimTableObs <- tableParams(
name = "SimTableObs.csv",
timesList = "0,1,2,4,4.9,55.1,56,57,59,60",
variablesList = "C, CObs",
timeAfterDose = FALSE,
forSimulation = TRUE
)
simParams <- NlmeSimulationParams(
numReplicates = 2,
simulationTables = SimTableObs
)
# Define the model
model <- pkmodel(
numComp = 2,
absorption = "Extravascular",
ID = "Subject",
Time = "Act_Time",
CObs = "Conc",
Aa = "Amount",
data = pkData,
modelName = "PkModel"
)
results <- simmodel(model, simParams)
# with seed given additionally:
results <- simmodel(model, simParams, seed = 3527)
Executes an NLME simple estimation with sort keys and given scenarios
Description
Executes an NLME simple estimation with sort keys and given scenarios
Usage
sortfit(
model,
hostPlatform = NULL,
params,
sortColumns,
scenarios = list(),
simpleTables,
runInBackground = FALSE,
filesToReturn = "*",
...
)
Arguments
model |
PK/PD model class object. |
hostPlatform |
Host definition for model execution. See |
params |
Engine parameters. See |
sortColumns |
List of sort columns. See |
scenarios |
List of scenarios with different sets of covariates.
See |
simpleTables |
Optional list of simple tables. See
|
runInBackground |
Set to |
filesToReturn |
Used to specify which files to be outputted to the model directory
and loaded as returned value. By default, all the applicable files listed
in the |
... |
Additional arguments for |
Details
All the results in tabular format have scenario column and sorts columns appended. The resulted logs (nlme7engine.log, err1.txt, dmp.txt, out.txt) are appended with a row delimiter where the name of the Scenario and sort values are specified.
Value
if runInBackground
is FALSE
, a list with main
resulted dataframes is returned:
Overall
ConvergenceData
residuals
Secondary
StrCovariate - if continuous covariates presented
StrCovariateCat - if categorical covariates presented
theta
posthoc table
posthocStacked table
Requested tables
nlme7engine.log
textual output is returned and loaded with the main information related to
fitting. dmp.txt
structure with the results of fitting (including LL by subject information)
is returned and loaded. These 2 files are returned and loaded irrespective of
filesToReturn
argument value.
For individual models, additional dataframe with partial derivatives is returned:
ParDer
For population models and the method specified is NOT Naive-Pooled
,
additional dataframes are returned:
omega
Eta
EtaStacked
EtaEta
EtaCov
EtaCovariate - if continuous covariates presented
EtaCovariateCat - if categorical covariates presented
bluptable.dat
If standard error computation was requested and it was successful, additional dataframes are returned:
thetaCorrelation
thetaCovariance
Covariance
omega_stderr
If nonparametric method was requested (numIterNonParametric
> 0) and
the method
specified in engineParams
is NOT Naive-Pooled
,
additional dataframes are returned:
nonParSupportResult
nonParStackedResult
nonParEtaResult
nonParOverallResult
if runInBackground
is TRUE
, only current status of job is returned.
Non-loaded but returned files
The non-loaded but returned files in the model working directory are:
err1.txt - concatenated for all runs detailed logs for all steps of optimization,
out.txt - general pivoted information about results,
doses.csv - information about doses given for all subjects,
iniest.csv - information about initial estimates
See Also
hostParams, engineParams, SortColumns,
NlmeScenario, tableParams
Examples
input_data <- pkData
model <-
pkmodel(numCompartments = 2,
data = input_data,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc")
model <-
addCovariate(model,
covariate = "BodyWeight",
direction = "Backward",
center = "Mean",
effect = c("V", "Cl"))
# multicore
multicoreHost <-
hostParams(parallelMethod = "Multicore",
hostName = "multicore",
numCores = 4)
# specify scenarios
CovariateEffectNames <- listCovariateEffectNames(model)
combinations <-
combn(c("", CovariateEffectNames),
length(CovariateEffectNames),
simplify = FALSE)
scenarioNames <-
lapply(combinations,
function(x) {paste(x, collapse = " ")})
scenarios <-
lapply(scenarioNames,
function(x, CovariateEffectNames) {
CovariateCombinations <- unlist(strsplit(x, " ", fixed = TRUE))
scenarioIndex <-
paste(which(CovariateEffectNames %in% CovariateCombinations,
arr.ind = TRUE),
collapse = ", ")
NlmeScenario(trimws(x), scenarioIndex)
},
CovariateEffectNames)
res <-
sortfit(model,
hostPlatform = multicoreHost,
params = engineParams(model),
sortColumns = SortColumns("Gender"),
scenarios = scenarios)
Executes an NLME stepwise covariate search
Description
Executes an NLME stepwise covariate search
Usage
stepwiseSearch(
model,
hostPlatform = NULL,
params,
covariateModel,
stepwiseParams,
runInBackground = FALSE,
...
)
Arguments
model |
PK/PD model class object. |
hostPlatform |
Host definition for model execution. See |
params |
Engine parameters. See |
covariateModel |
Covariate Effects Model providing the relationship
between covariates and structural parameters to test ( |
stepwiseParams |
Stepwise parameters defining decision tree.
See |
runInBackground |
Set to |
... |
Additional arguments for |
Value
if runInBackground = FALSE
, a data frame is returned with
stepwise search results, i.e. "Overall" comma separated file.
Otherwise the StepwiseNlmeJob
class object is returned.
See Also
Examples
# Define the model
model <- pkmodel(numCompartments = 2,
data = pkData,
ID = "Subject",
Time = "Act_Time",
A1 = "Amount",
CObs = "Conc")
# Add Gender covariate of type categorical
model <- addCovariate(model,
covariate = "Gender",
type = "Categorical",
effect = c("V2", "Cl2"),
levels = c(0, 1),
labels = c("Female", "Male"))
# Add Bodyweight covariate of type continuous
model <- addCovariate(model,
covariate = "BodyWeight",
type = "Continuous",
direction = "Backward",
center = "Mean",
effect = c("V", "Cl"))
# Define the host
defaultHost <- hostParams(parallelMethod = "None",
hostName = "local",
numCores = 1)
# Define the engine parameters
params <- engineParams(model)
# Define covariate model
cp <- covariateModel(model)
# Define the stepwise parameters
sp <- StepwiseParams(0.01, 0.001, "-2LL")
# Perform stepwise search
OverallDF <- stepwiseSearch(model = model,
hostPlatform = defaultHost,
params = params,
covariateModel = cp,
stepwiseParams = sp,
runInBackground = FALSE)
Method to set structural parameter attributes
Description
Method to set structural parameter attributes
Usage
structuralParam(.Object, parameterNames) <- value
Arguments
.Object |
Model with the parameter |
parameterNames |
The names of structural parameters |
value |
A value of the fixed effect to be set |
Examples
structuralParam(model, "Cl") <- c(style = LogNormal, initialValue = "0.75")
structuralParam(model, "Cl2") <- c(style = Custom, code = "stparm(V=10^(tvlog10V + nlog10V))")
Set structural parameter in model object
Description
Use to specify the relationship of the structural parameter with corresponding fixed effect, random effect, and covariate.
Usage
structuralParameter(
.Object,
paramName,
fixedEffName = NULL,
randomEffName = NULL,
style = "LogNormal",
hasRandomEffect = NULL
)
Arguments
.Object |
Model object |
paramName |
Name of the structural parameter |
fixedEffName |
Name of the corresponding fixed effect |
randomEffName |
Name of the corresponding random effect; only applicable to population models. |
style |
Use to specify the relationship of the structural parameter with its corresponding fixed effect, random effect, and covariate, if exists.
|
hasRandomEffect |
Set to |
Value
Modified NlmePmlModel
object
Examples
model <- pkindirectmodel(
indirectType = "LimitedInhibition",
isBuildup = FALSE,
data = pkpdData,
ID = "ID",
Time = "Time",
A1 = "Dose",
CObs = "CObs",
EObs = "EObs"
)
# Change style of structural parameter "Imax" to "LogitNormal"
# and rename fixed effect to "tvlogitImax"
model <- structuralParameter(model,
paramName = "Imax",
style = "LogitNormal", fixedEffName = "tvlogitImax"
)
# Remove random effect for structural parameter "IC50"
model <- structuralParameter(model,
paramName = "IC50",
hasRandomEffect = FALSE
)
Get structural parameter names
Description
Returns character vector of structural parameter names for model object.
Usage
structuralParameterNames(model, omitEmpties = TRUE)
Arguments
model |
Object of class |
omitEmpties |
Set to |
Value
Character vector of structural parameter names defined in model
Examples
model <- pkemaxmodel(columnMap = FALSE)
stparms <- structuralParameterNames(model)
Wrapper around NlmeTableDef/NlmeSimTableDef-classes initializers.
Description
Wrapper around NlmeTableDef/NlmeSimTableDef-classes initializers.
Usage
tableParams(
name = "",
timesList = numeric(0),
covrSet = "",
whenDose = "",
whenObs = "",
variablesList = "",
keepSource = FALSE,
timeAfterDose = FALSE,
IRES = FALSE,
Weight = FALSE,
IWRES = FALSE,
mode = "all",
forSimulation = FALSE
)
Arguments
name |
Name of the generated simulation file. |
timesList |
Numeric; Time values for simulation.
Applicable for time-based models only. Ignored when |
covrSet |
Character; Vector of covariate names. Simulation point is added
when the covariate value is set. See |
whenDose |
Character; Vector of dosing compartment names. Simulation point is added when the dose value is set. |
whenObs |
Character; String of observed variables names. Simulation point is added when the observation value is set. |
variablesList |
Character; List of variables from the model for simulation. |
keepSource |
Logical; Set to |
timeAfterDose |
Set to |
IRES |
Logical; Set to |
Weight |
Logical; Set to |
IWRES |
Logical; Set to |
mode |
Character; The mode of output. Options are Option |
forSimulation |
logical. Defining whether the table is for simulation
purposes or for postprocessing after fit. Default is |
Value
NlmeTableDef
object if forSimulation
is FALSE
,
NlmeSimTableDef
object otherwise.
Examples
Table1 <- tableParams(
name = "Table1.csv",
timesList = seq(0, 24, 2),
whenObs = c("CObs"),
variablesList = "C",
IRES = TRUE,
IWRES = TRUE,
Weight = TRUE)
SimTable1 <- tableParams(
name = "SimTable1.csv",
variablesList = "CL, V",
keepSource = TRUE,
forSimulation = TRUE)
Create a textual model object
Description
Use to create an empty model object and optionally supply location of .mdl file to initialize model with PML statements.
Usage
textualmodel(modelName = "", workingDir = "", data, mdl = NULL)
Arguments
modelName |
Model name to create subdirectory for model output in current working directory. |
workingDir |
Working directory to run the model. Current working directory will be used if |
data |
Input dataset |
mdl |
File path specifying location of test.mdl file |
Value
NlmePmlModel
object
Examples
model <- textualmodel(data = pkData)
Updates error model
Description
Updates error model, recreating some structural parameters that depend on how residual effects are used
Usage
updateErrorModel(.Object)
Perform visual predictive check for NLME models
Description
Perform visual predictive check for NLME models
Usage
vpcmodel(
model,
vpcParams,
params,
hostPlatform = NULL,
runInBackground = FALSE,
...
)
Arguments
model |
PK/PD model class object. |
vpcParams |
VPC argument setup. See |
params |
Engine argument setup. See |
hostPlatform |
Host definition for model execution. See |
runInBackground |
Set to |
... |
Additional class initializer arguments for |
Value
if runInBackground is TRUE
, it returns job properties.
Otherwise,
-
If the function is called in an interactive mode, the resulting simulated tables and summary statistics tables will be loaded and presented as a list;
-
If the function is called in a non-interactive mode, it returns the full paths of the tables generated
Examples
job <- fitmodel(model)
# View estimation results
print(job)
finalModelVPC <- copyModel(model, acceptAllEffects = TRUE, modelName = "model_VPC")
# View the model
print(finalModelVPC)
# Set up VPC arguments to have PRED outputted to simulation output dataset "predout.csv"
vpcSetup <- NlmeVpcParams(outputPRED = TRUE)
# Run VPC using the default host, default values for the relevant NLME engine arguments
finalVPCJob <- vpcmodel(model = finalModelVPC, vpcParams = vpcSetup)
# the same as:
finalVPCJob <- vpcmodel(model = finalModelVPC, outputPRED = TRUE)
# Observed dataset predcheck0.csv
dt_ObsData <- finalVPCJob$predcheck0
# Simulation output dataset predout.csv
dt_SimData <- finalVPCJob$predout
# Add PRED from REPLICATE = 0 of simulation output dataset to observed input dataset
dt_ObsData$PRED <- dt_SimData[REPLICATE == 0]$PRED
# tidyvpc package VPC example:
# library(tidyvpc)
library(magrittr)
# Create a regular VPC plot with binning method set to be "jenks"
binned_VPC <- observed(dt_ObsData, x = IVAR, yobs = DV) %>%
simulated(dt_SimData, ysim = DV) %>%
binning(bin = "jenks") %>%
vpcstats()
plot_binned_VPC <- plot(binned_VPC)
# Create a pcVPC plot with binning method set to be "jenks"
binned_pcVPC <- observed(dt_ObsData, x = IVAR, yobs = DV) %>%
simulated(dt_SimData, ysim = DV) %>%
binning(bin = "jenks") %>%
predcorrect(pred = PRED) %>%
vpcstats()
plot_binned_pcVPC <- plot(binned_pcVPC)
Writes out data/column mapping and engine parameter files for the engine
Description
Writes out data/column mapping and engine parameter files for the engine
Usage
writeDefaultFiles(model, dataset, simParams, Tables, sortColumns = NULL)
Arguments
model |
Model object |
dataset |
Dataset to run simulation/fitting on |
simParams |
Simulation Parameters (simulation tables are written to coldef) |
Tables |
NlmeTableDef class object(s) |
sortColumns |
SortColumns class object used for proper id mapping during individual modeling |
Value
NULL