| Title: | Utilities for Certara's Nonlinear Mixed-Effects Modeling Engine |
|---|---|
| Description: | Perform Nonlinear Mixed-Effects (NLME) Modeling using Certara's NLME-Engine. Access the same Maximum Likelihood engines used in the Phoenix platform, including algorithms for parametric methods, individual, and pooled data analysis. The Quasi-Random Parametric Expectation-Maximization Method (QRPEM) is also supported <https://www.page-meeting.org/default.asp?abstract=2338>. Execution is supported both locally or on remote machines. Remote execution includes support for Linux Sun Grid Engine (SGE), Simple Linux Utility for Resource Management (SLURM) grids, Linux and Windows multicore, and individual runs. |
| Authors: | Soltanshahi Fred [aut], Michael Tomashevskiy [aut], James Craig [aut, cre], Shuhua Hu [ctb], Certara USA, Inc. [cph, fnd] |
| Maintainer: | James Craig <[email protected]> |
| License: | LGPL-3 |
| Version: | 3.0.2 |
| Built: | 2026-05-18 08:11:23 UTC |
| Source: | https://github.com/cran/Certara.NLME8 |
Performs operating system dependent check for availability of GCC.
checkGCC(OS.type = .Platform$OS.type)checkGCC(OS.type = .Platform$OS.type)
OS.type |
Character specifying operating system type. Defaults to |
TRUE if GCC check is successful, otherwise FALSE.
checkGCC()checkGCC()
Checks if a specified directory contains all the required files for the NLME engine to operate. It performs platform-specific checks for Unix-like systems and Windows.
checkInstallDir(installDir)checkInstallDir(installDir)
installDir |
A character string specifying the path to the NLME installation directory to be checked. |
The function validates the presence of essential executables, libraries, and scripts.
On Unix systems, if the 'PML_BIN_DIR' environment variable is set (e.g., to "UBUNTU" or "RHEL"), the function searches for files within that subdirectory of 'installDir'. If the variable is not set, it searches directly in 'installDir'.
On Windows, it checks for '.exe', '.dll', and '.ps1' files directly within the specified 'installDir'.
Returns 'TRUE' if all required files are found and permissions are successfully set (on Unix). Returns 'FALSE' if the validation fails.
- On Unix systems, upon successful validation, it sets execute permissions ('0777') on the "TDL5" executable and the "execNLMECmd.sh" script using 'Sys.chmod()'.
## Not run: checkInstallDir(Sys.getenv("INSTALLDIR")) ## End(Not run)## Not run: checkInstallDir(Sys.getenv("INSTALLDIR")) ## End(Not run)
Checks if valid license is available for NLME run.
checkLicenseFile(installDir, verbose = FALSE, outputGenericInfo = TRUE)checkLicenseFile(installDir, verbose = FALSE, outputGenericInfo = TRUE)
installDir |
Directory with NLME executables as specified in 'INSTALLDIR' environment variable. |
verbose |
Flag to output all messages during authorization and licensing. Default is 'FALSE'. |
outputGenericInfo |
Flag to provide TDL5 output when no issues found. Default is 'TRUE'. |
'TRUE' if all checks are successful, otherwise 'FALSE'.
## Not run: checkLicenseFile(Sys.getenv("INSTALLDIR"), verbose = TRUE) ## End(Not run)## Not run: checkLicenseFile(Sys.getenv("INSTALLDIR"), verbose = TRUE) ## End(Not run)
Checks if MPI settings are provided and feasible. Check is done for the hosts where MPI parallel method is used.
checkMPISettings(obj)checkMPISettings(obj)
obj |
NLME Parallel Host to be checked |
TRUE if MPI executables are ready for running,
otherwise FALSE. If host does not have MPI in parallel method,
it also returns TRUE.
## Not run: checkMPISettings(host) ## End(Not run)## Not run: checkMPISettings(host) ## End(Not run)
Checks if NLME ROOT DIRECTORY is provided and ready for writing. That directory is used for temporary folders writing.
checkRootDir(obj)checkRootDir(obj)
obj |
NLME Parallel Host to be checked |
TRUE if NLME ROOT DIRECTORY exists and accessible for writing,
otherwise FALSE.
## Not run: checkRootDir(host) ## End(Not run)## Not run: checkRootDir(host) ## End(Not run)
Extracts table names from the column definition file
getTableNames(columnDefinitionFilename, columnDefinitionText, simtbl = FALSE)getTableNames(columnDefinitionFilename, columnDefinitionText, simtbl = FALSE)
columnDefinitionFilename |
path to NLME column definition file to be read |
columnDefinitionText |
Lines of column definition file to be used (only
if |
simtbl |
logical. |
vector of names of the tables in column definition file if any, empty string otherwise
## Not run: getTableNames(columnDefinitionFilename = "cols1.txt", simtbl = TRUE) ## End(Not run)## Not run: getTableNames(columnDefinitionFilename = "cols1.txt", simtbl = TRUE) ## End(Not run)
Runs an NLME bootstrap job in parallel and produces summaries
performBootstrap(args, allowIntermediateResults = TRUE, reportProgress = FALSE)performBootstrap(args, allowIntermediateResults = TRUE, reportProgress = FALSE)
args |
Arguments for bootstrap execution |
allowIntermediateResults |
Set to |
reportProgress |
Set to |
Directory path where NLME job was executed
Runs multiple estimations sorting the input dataset by requested columns and creating multiple data sets
performEstimationOnSortColumns(args, reportProgress = FALSE)performEstimationOnSortColumns(args, reportProgress = FALSE)
args |
a vector of arguments provided as the following: c(method, install_directory, shared_directory, localWorkingDir, nlmeArgsFile, numColumns, ColumnNames, NumProc, workflowName) |
reportProgress |
whether it is required to report the progress (for local jobs usually) |
Directory path where NLME job was executed
Runs a set of NLME jobs in parallel
performParallelNLMERun( args, partialJob = FALSE, allowIntermediateResults = TRUE, progressStage = "", func = "", func_arg = NULL, reportProgress = FALSE )performParallelNLMERun( args, partialJob = FALSE, allowIntermediateResults = TRUE, progressStage = "", func = "", func_arg = NULL, reportProgress = FALSE )
args |
a vector of arguments provided as the following: c(jobType, parallelMethod, install_dir, shared_directory, localWorkingDir, controlFile, NumProc, workflow_name, fixefUnits) |
partialJob |
is |
allowIntermediateResults |
is |
progressStage |
stage of analysis to be reported |
func |
function to be executed after NLME job |
func_arg |
arguments to be provided to the function by name provided above |
reportProgress |
whether it is required to report the progress (for local jobs usually) |
Directory path where NLME job was executed
This function runs multiple estimations sorting the input dataset by requested columns and creating multiple data sets Runs are also generated for all profiling variables
performProfileEstimation(args, reportProgress = FALSE)performProfileEstimation(args, reportProgress = FALSE)
args |
Arguments for profile estimation |
reportProgress |
Set to |
Directory path where NLME job was executed
Runs a set of possible covariate sets in parallel
performShotgunCovarSearch(args, reportProgress = FALSE)performShotgunCovarSearch(args, reportProgress = FALSE)
args |
a vector of arguments provided as the following: c(jobType, parallelMethod, install_dir, shared_directory, localWorkingDir, controlFile, NumProc, workflow_name, fixefUnits) |
reportProgress |
whether it is required to report the progress (for local jobs usually) |
Directory path where NLME job was executed
This function runs a stepwise covariate NLME job in parallel It is designated to be called in commandline (Rscript)
performStepwiseCovarSearch(args, reportProgress = FALSE)performStepwiseCovarSearch(args, reportProgress = FALSE)
args |
a vector of arguments provided as the following: c(method, install_directory, shared_directory, localWorkingDir, modelFile, nlmeArgsFile, listOfFilesToCopy, numCovariates, CovariateNames, NCriteria, addPValue, removePValue, NumProc, workflowName) |
reportProgress |
whether it is required to report the progress (for local jobs usually) |
Directory path where NLME job was executed
Use to reconnect to a grid job
reconnectToBootstrapNLMERun(args)reconnectToBootstrapNLMERun(args)
args |
Arguments for reconnecting to bootstrap grid run |
Directory path where NLME job was executed
This function updates a model file with parameter estimates obtained from a dmp file (R structure format of output generated by NLME) text file. The updated model file includes the estimated fixed effects, error terms and random effects values.
UpdateMDLfrom_dmptxt( dmpfile = "dmp.txt", SharedWorkingDir = getwd(), model_file = "test.mdl", compile = TRUE, output_file = "test.mdx" )UpdateMDLfrom_dmptxt( dmpfile = "dmp.txt", SharedWorkingDir = getwd(), model_file = "test.mdl", compile = TRUE, output_file = "test.mdx" )
dmpfile |
The path to the DMP text file. |
SharedWorkingDir |
The working directory. Used if |
model_file |
The name of the model file to be updated (with optional full path). |
compile |
A logical value indicating whether to compile the updated
model file into NLME executable. Default is |
output_file |
The name of the new model file with updated estimates. |
TDL5 executable from NLME Engine is used. NLME engine
location is identified by INSTALLDIR environment variable. The current
function will give an error if TDL5 cannot be executed.
The path to the updated model file.