Select Page

# Version 2021

This documentation is for PKanalix.

PKanalix performs analysis on PK data set including:

• The non compartmental analysis (NCA) – computation of the NCA parameters using the calculation of the $$\lambda_z$$ – slope of the terminal elimination phase.
• The bioequivalence analysis (BE) – comparison of the NCA parameters of several drug products (usually two, called ‘test’ and ‘reference’) using the average bioequivalence.
• The compartmental analysis (CA) – estimation of model parameters representing the PK as the dynamics in compartments for each individual. It does not include population analysis performed in Monolix.

What else?

• A clear user-interface with an intuitive workflow to efficiently run the NCA, BE and CA analysis.
• Easily accessible PK models library and auto-initialization method to improve the convergence of the optimization of CA parameters.
• Integrated bioequivalence module to simplify the analysis
• Automatically generated results and plots to give an immediate feedback.
• Interconnection with MonolixSuite applications to export projects to Monolix for the population analysis.

Pkanalix uses the dataset format common for all MonolixSuite applications, see here for more details. It allows to move your project between applications, for instance export a CA project to Monolix and perform a population analysis with one “click” of a button.

## Non Compartmental Analysis

The first main feature of PKanalix is the calculation of the parameters in the Non Compartmental Analysis framework.

This task consists in defining rules for the calculation of the $$\lambda_z$$ (slope of the terminal elimination phase) to compute all the NCA parameters. This definition can be either global via general rules or manual on each individual – with the interactive plots the user selects or removes  points in the $$\lambda_z$$ calculation.

## Bioequivalence

The average NCA parameters obtained for different groups (e.g a test and a reference formulation) can be compared using the Bioequivalence task. Linear model definition contains one or several fixed effects selected in an integrated module. It allows to obtain a confidence interval compared to the predefined BE limits and automatically displayed in intuitive tables and plots.

## Compartmental Analysis

The second main feature of PKanalix is the calculation of the parameters in the Compartmental Analysis framework. It consists in finding parameters of a model that represents the PK as the dynamics in compartments for each individual.

This task defines a structural model (based on a user-friendly PK models library) and estimates the parameters for all the individuals. Automatic initialization method improves the convergence of parameters for each individual.

All the NCA, BE and/or CA outputs are automatically displayed in sortable tables in the Results tab. Moreover, they are exported in the result folder in a R-compatible format. Interactive plots give an immediate feedback and help to better interpret the results.

The usage of PKanalix is available not only via the user interface, but also via R with a dedicated R-package (detailed here). All the actions performed in the interface have their equivalent R-functions. It is particularly convenient for reproducibility purpose or batch jobs.

### 2.Data format for NCA and CA analysis#

The data set format used in PKanalix is the same as for the entire MonolixSuite, to allow smooth transitions between applications. The dosing information and the concentration measurements are recorded in a single data set. The dose information must be indicated for each individual, even if it is identical for all.

A data set typically contains the following columns: ID, TIME, OBSERVATION, AMOUNT. For IV infusion data, an additional INFUSION RATE or INFUSION DURATION is necessary. For steady-state data, STEADY-STATE and INTERDOSE INTERVAL column are added. Cells that do not contain information (e.g AMOUNT column on a line recording a measurement) have a dot. If a dose and a measurement occur at the same time, they can be encoded on the same line or on different lines. Sort and carry variables can be defined using the OCCASION, and CATEGORICAL COVARIATE and CONTINUOUS COVARIATE column-types. BLQ data are defined using the CENSORING and LIMIT column-types.

Headers are free but the columns must be assigned to one of the available column-types. The full list of column-types is available at the end of this page and a detailed description is given on the dataset documentation website.

Units are not recorded in PKanalix and it is not possible to convert the original data to adapt the units. It is the user’s responsibility to ensure that units are consistent in the data set (for instance if the amount is in mg, the concentrations in mg/L, then the calculated volumes will be in L). Similarly, the indicated amount must be an absolute value. It is not possible to give in a dose in mg/kg and let the software calculate the dose in mg based on the weight. This calculation must be done outside PKanalix.

Note that the NCA application does not allow to have in the dataset several observations at the same time for the same id.

Below we show how to encode the date set for most typical situations.

# Plasma concentration data

## Extravascular

For extravascular administration, the mandatory column-types are ID (individual identifiers as integers or strings), OBSERVATION (measured concentrations), AMOUNT (dose amount administered) and TIME (time of dose or measurement).

To distinguish the extravascular from the IV bolus case, in “Tasks>Run” the administration type must be set to “extravascular”.

If no measurement is recorded at the time of the dose, a concentration of zero is added for single dose data, the minimum concentration observed during the dose interval for steady-state data.

Example:

• demo project_extravascular.pkx

This data set records the drug concentration measured after single oral administration of 150 mg of drug in 20 patients. For each individual, the first line records the dose (in the “Amount” column tagged as AMOUNT column-type) while the following lines record the measured concentrations (in the “Conc” column tagged as OBSERVATION). Cells of the “Amount” column on measurement lines contain a dot, and respectively for the concentration column. The column containing the times of measurements or doses is tagged as TIME column-type and the subject identifiers, which we will use as sort variable, are tagged as ID. Check the OCCASION section if more sort variables are needed. After accepting the dataset, the data is automatically assigned as “Plasma”.

In the “Tasks/Run” tab, the user must indicate that this is extravascular data. In the “Check lambda_z”, on linear scale for the y-axis, measurements originally present in the data are shown with full circles. Added data points, such as a zero concentration at the dose time, are represented with empty circles. Points included in the $$\lambda_z$$ calculation are highlighted in blue.

After running the NCA analysis, PK parameters relevant to extravascular administration are displayed in the “Results” tab.

## IV infusion

Intravenous infusions are indicated in the data set via the presence of an INFUSION RATE or INFUSION DURATION column-type, in addition to the ID (individual identifiers as integers or strings), OBSERVATION (measured concentrations), AMOUNT (dose amount administered) and TIME (time of dose or measurement). The infusion duration (or rate) can be identical or different between individuals.

If no measurement is recorded at the time of the dose, a concentration of zero is added for single dose data, the minimum concentration observed during the dose interval for steady-state data.

Example:

• demo project_ivinfusion.pkx:

In this example, the patients receive an iv infusion over 3 hours. The infusion duration is recorded in the column called “TINF” in this example, and tagged as INFUSION DURATION.

In the “Tasks/Run” tab, the user must indicate that this is intravenous data.

## IV bolus

For IV bolus administration, the mandatory column-types are ID (individual identifiers as integers or strings), OBSERVATION (measured concentrations), AMOUNT (dose amount administered) and TIME (time of dose or measurement).

To distinguish the IV bolus from the extravascular case, in “Tasks>Run” the administration type must be set to “intravenous”.

If no measurement is recorded at the time of the dose, the concentration of at time zero is extrapolated using a log-linear regression of the first two data points, or is taken to be the first observed measurement if the regression yields a slope >= 0. See the calculation details for more information.

Example:

• demo project_ivbolus.pkx:

In this data set, 25 individuals have received an iv bolus and their plasma concentration have been recorded over 12 hours. For each individual (indicated in the column “Subj” tagged as ID column-type), we record the dose amount in a column “Dose”, tagged as AMOUNT column-type. The measured concentrations are tagged as OBSERVATION and the times as TIME. Check the OCCASION section if more sort variables are needed in addition to ID. After accepting the dataset, the data is automatically assigned as “plasma”.

In the “Tasks/Run” tab, the user must indicate that this is intravenous data. In the “Check lambda_z”, measurements originally present in the data are shown with full circles. Added data points, such as the C0 at the dose time, are represented with empty circles. Points included in the $$\lambda_z$$ calculation are highlighted in blue.

After running the NCA analysis, PK parameters relevant to iv bolus administration are displayed in the “Results” tab.

Steady-state must be indicated in the data set by using the STEADY STATE column-type:

• “1” indicates that the individual is already at steady-state when receiving the dose. This implicitly assumes that the individual has received many doses before this one.
• “0” or ‘.’ indicates a single dose.

The dosing interval (also called tau) is indicated in the INTERDOSE INTERVAL, on the lines defining the doses.

Steady state calculation formulas will be applied for individuals having a dose with STEADY STATE = 1. A data set can contain individuals which are at steady-state and some which are not.

If no measurement is recorded at the time of the dose, the minimum concentration observed during the dose interval is added at the time of the dose for extravascular and infusion data. For iv bolus, a regression using the two first data points is performed. Only measurements between the dose time and dose time + interdose interval will be used.

Examples:

In this example, the individuals are already at steady-state when they receive the dose. This is indicated in the data set via the column “SteadyState” tagged as STEADY STATE column-type, which contains a “1” on lines recording doses. The interdose interval is noted on those same line in the column “tau” tagged as INTERDOSE INTERVAL. When accepting the data set, a “Settings” section appears, which allows to define the number of steady-state doses. This information is relevant when exporting to Monolix, but not used in PKanalix directly.

After running the NCA estimation task, steady-state specific parameters are displayed in the “Results” tab.

# BLQ data

Below the limit of quantification (BLQ) data can be recorded in the data set using the CENSORING column:

• “0” indicates that the value in the OBSERVATION column is the measurement.
• “1” indicates that the observation is BLQ.

The lower limit of quantification (LOQ) must be indicated in the OBSERVATION column when CENSORING = “1”. Note that strings are not allowed in the OBSERVATION column (except dots). A different LOQ value can be used for each BLQ data.

When performing an NCA analysis, the BLQ data before and after the Tmax are distinguished. They can be replaced by:

• zero
• the LOQ value
• the LOQ value divided by 2
• or considered as missing

For a CA analysis, the same options are available, but no distinction is done between before and after Tmax. Once replaced, the BLQ data are handled as any other observation.

A LIMIT column can be added to record the other limit of the interval (in general zero). This value will not be used by PKanalix but can facilitate the transition from an NCA/CA analysis PKanalix to a population model with Monolix.

Note: the proper encoding of BLQ data can easily be done using Excel or R.
ft

### Example 2 : Plotting the individual data as spaghetti plot or with mean per treatment group

This demo dataset corresponds to a 2x2x2 crossover design with a ref and a ref formulation. Using the new (2021 version) “plot” functions, the data can be plotted with individual profiles or with mean profiles calculated for the two different treatments and overlayed on a single plot. As the “plot” functions return a ggplot2 object, additional ggplot2 commands can be used to further customize the plot.

library(lixoftConnectors)
library(ggplot2)
initializeLixoftConnectors(software="pkanalix")

# plotting the individual profiles colored by id and split by formulation
plotObservedData(settings=list(dots=T,lines=T,mean=F,error=F,
ylog=T, ylab="Concentration (ng/mL)", xlab="Time (hr)", grid=F, cens=F),
stratify=list(colorGroup=list(name="ID"), splitGroup=list(name="FORM")))+
scale_x_continuous(breaks=seq(0, 72, by=12))

# plotting the mean profile with standard deviation for the test and ref formulation
plotObservedData(settings=list(dots=F,lines=F,mean=T,error=T,meanMethod="geometric",
ylog=T, ylab="Concentration (ng/mL)", xlab="Time (hr)", grid=F),
stratify=list(colorGroup=list(name="FORM"),colors=c("#00a4c6","#ff793f")))+
scale_x_continuous(breaks=seq(0, 72, by=12))

### 5.1.R-package installation and initialization#

In this page, we present the installation procedure of the R-package lixoftConnectors that allow to run PKanalix from R.

## Installation

The R package lixoftConnectors is located in the installation directory as tar.gz ball. It can be installed directly using Rstudio (Tools > Install packages > from package archive file) or by the following R command:

install.packages(packagePath, repos = NULL, type="source", INSTALL_opts ="--no-multiarch")

with packagePath = ‘<installDirectory>/connectors/lixoftConnectors.tar.gz’ where <installDirectory> is the MonolixSuite installation directory.

With the default installation directory, the command is:

# for Windows OS
install.packages("C:/ProgramData/Lixoft/MonolixSuite2019R1/connectors/lixoftConnectors.tar.gz",
repos = NULL, type="source", INSTALL_opts ="--no-multiarch")
# for Mac OS
install.packages("/Applications/MonolixSuite2019R1.app/Contents/Resources/monolixSuite/connectors/lixoftConnectors.tar.gz",
repos = NULL, type="source", INSTALL_opts ="--no-multiarch")

The lixoftConnectors package depends on the RJSONIO package that may need to be installed from CRAN first using:

install.packages('RJSONIO')

## Initializing

When starting a new R session, you need to load the library and initialize the connectors with the following commands

library(lixoftConnectors)
initializeLixoftConnectors(software = "pkanalix")


In some cases, it may be necessary to specify the path to the installation directory of the Lixoft suite. If no path is given, the one written in the <user home>/lixoft/lixoft.ini file is used (usually “C:/ProgramData/Lixoft/MonolixSuiteXXXX” for Windows) where XXXX corresponds to the version of MonolixSuite.

library(lixoftConnectors)
initializeLixoftConnectors(software = "pkanalix", path = "/path/to/MonolixSuite/")

## Making sure the installation is ok

To test if the installation is ok, you can load and run a project from the demos as on the following:

demoPath = '<userFolder>/lixoft/pkanalix/pkanalix2019R1/demos/1.basic_examples/'
runNCAEstimation()
getNCAIndividualParameters()

where <userFolder> is the user’s home folder (on windows C:/Users/toto if toto is your username). These three commands should output the estimated NCA parameters.

## Description of the functions of the API

 getData Get a description of the data used in the current project. getInterpretedData Get the data set interpreted by PKanalix. getStructuralModel Get the model file for the structural model used in the current project. isProjectLoaded Check if the project is loaded. loadProject Load a project by parsing the Mlxtran-formated file whose path has been given as an input. newProject Create a new empty project providing model and data specification. saveProject Save the current project as an Mlxtran-formated file. setData Set project data giving a data file and specifying headers and observations types. setStructuralModel Set the structural model.

## [Monolix – PKanalix] Get project data

### Description

Get a description of the data used in the current project. Available informations are:

• dataFile (string): path to the data file
• observationNames (vector<string>): vector of observation names
• observationTypes (vector<string>): vector of observation types
• nbSSDoses (int): number of doses (if there is a SS column)

### Usage

getData()


### Value

A list describing project data.

 setData

data = getData()

data

-> $dataFile “/path/to/data/file.txt”$header

c(“ID”,”TIME”,”CONC”,”SEX”,”OCC”)

$headerTypes c(“ID”,”TIME”,”OBSERVATION”,”CATEGORICAL COVARIATE”,”IGNORE”)$observationNames

c(“concentration”)

$observationTypes c(concentration = “continuous”) ## End(Not run) Top of the page, PKanalix API, Monolix API, Simulx API. ## [Monolix – PKanalix] Get interpreted project data ### Description [Monolix – PKanalix] Get interpreted project data ### Usage getInterpretedData()  ## [Monolix – PKanalix – Simulx] Get structural model file ### Description Get the model file for the structural model used in the current project. For Simulx, this function will return the structural model only if the project was imported from Monolix, and NULL otherwise. ### Usage getStructuralModel()  ### Value A string corresponding to the path to the structural model file. ### See Also  setStructuralModel ### Click here to see examples getStructuralModel() => “/path/to/model/inclusion/modelFile.txt” ## End(Not run) Top of the page, PKanalix API, Monolix API, Simulx API. ## [Monolix – PKanalix – Simulx] Get current project load status ### Description [Monolix – PKanalix – Simulx] Get current project load status ### Usage isProjectLoaded()  ### Value TRUE if a project is currently loaded, FALSE otherwise ## [Monolix – PKanalix – Simulx] Load project from file ### Description Load a project by parsing the Mlxtran-formated file whose path has been given as an input. The extensions are .mlxtran for Monolix, .pkx for PKanalix, and .smlx for Simulx. WARNING: R is sensitive between ‘\’ and ‘/’, only ‘/’ can be used. ### Usage loadProject(projectFile)  ### Arguments  projectFile (character) Path to the project file. Can be absolute or relative to the current working directory. ### See Also  saveProject ### Click here to see examples loadProject(“/path/to/project/file.mlxtran”) for Linux platform loadProject(“C:/Users/path/to/project/file.mlxtran”) for Windows platform ## End(Not run) Top of the page, PKanalix API, Monolix API, Simulx API. ## [Monolix – PKanalix – Simulx] Create new project ### Description Create a new empty project providing model and data specification. The data specification is: Monolix, PKanalix • dataFile (string): path to the data file • headerTypes (array<character>): vector of headers • observationTypes [optional] (list): a list, indexed by observation name, giving the type of each observation present in the data file. If omitted, all the observations will be considered as “continuous” • nbSSDoses (int): number of steady-state doses (if there is a SS column) • mapping [optional](list): a list giving the observation name associated to each y-type present in the data file (this field is mandatory when there is a column tagged with the “obsid” headerType) Please refer to  setData documentation for a comprehensive description of the “data” argument structure. Monolix only • projectFile (string): path to the datxplore or pkanalix project file defining the data ### Usage newProject(modelFile = NULL, data = NULL)  ### Arguments  modelFile (character) Path to the model file. Can be absolute or relative to the current working directory. To use a model from the libraries, you can set modelFile = “lib:modelName.txt”, e.g. modelFile = “lib:oral1_1cpt_kaVCl.txt” data (list) Structure describing the data. In case of PKanalix, data is mandatory and modelFile is optional (used only for the CA part and must be from the library). In case of Monolix, data and modelFile are mandatory. It can be replaced by a projectFile corresponding to a Datxplore or PKanalix project file. In case of Simulx, modelFile is mandatory and data = NULL. It can be replaced by a projectFile corresponding to a Monolix project. In that case, the Monolix project will be imported into Simulx. ### See Also  newProject  saveProject ### Click here to see examples newProject(data = list(dataFile = “/path/to/data/file.txt”, headerTypes = c(“IGNORE”, “OBSERVATION”), observationTypes = “continuous”), modelFile = “/path/to/model/file.txt”) newProject(data = list(dataFile = “/path/to/data/file.txt”, headerTypes = c(“IGNORE”, “OBSERVATION”, “OBSID”), observationTypes = list(concentration = “continuous”, effect = “discrete”), mapping = list(“1” = “concentration”, “2” = “effect”)), modelFile = “/path/to/model/file.txt”) [Monolix only] newProject(data = list(projectFile = “/path/to/project/file.datxplore”), modelFile = “/path/to/model/file.txt”) [Simulx only] newProject(modelFile = “/path/to/model/file.txt”) new project from an import of a structural model newProject(modelFile = “/path/to/monolix/project/file.mlxtran”) new project from an import of a monolix model ## End(Not run) Top of the page, PKanalix API, Monolix API, Simulx API. ## [Monolix – PKanalix – Simulx] Save current project ### Description Save the current project as an Mlxtran-formated file. The extensions are .mlxtran for Monolix, .pkx for PKanalix, and .smlx for Simulx. WARNING: R is sensitive between ‘\’ and ‘/’, only ‘/’ can be used. ### Usage saveProject(projectFile = "")  ### Arguments  projectFile [optional](character) Path where to save a copy of the current mlxtran model. Can be absolute or relative to the current working directory. If no path is given, the file used to build the current configuration is updated. ### See Also  newProject  loadProject ### Click here to see examples [PKanalix only] saveProject(“/path/to/project/file.pkx”) # save a copy of the model [Monolix only] saveProject(“/path/to/project/file.mlxtran”) # save a copy of the model [Simulx only] saveProject(“/path/to/project/file.smlx”) # save a copy of the model [Monolix – PKanalix – Simulx] saveProject() # update current model ## End(Not run) Top of the page, PKanalix API, Monolix API, Simulx API. ## [Monolix – PKanalix] Set project data ### Description Set project data giving a data file and specifying headers and observations types. ### Usage setData(dataFile, headerTypes, observationTypes, nbSSDoses = NULL)  ### Arguments  dataFile (character): Path to the data file. Can be absolute or relative to the current working directory. headerTypes (array): A collection of header types. The possible header types are: “ignore”, “id”, “time”, “observation”, “amount”, “contcov”, “catcov”, “occ”, “evid”, “mdv”, “obsid”, “cens”, “limit”, “regressor”,”admid”, “rate”, “tinf”, “ss”, “ii”, “addl”, “date”. Notice that these are not the types displayed in the interface, these one are shortcuts. observationTypes [optional] (list): A list giving the type of each observation present in the data file. If there is only one y-type, the corresponding observation name can be omitted. The possible observation types are “continuous”, “discrete”, and “event”. nbSSDoses [optional](int): Number of doses (if there is a SS column). ### See Also  getData ### Click here to see examples setData(dataFile = “/path/to/data/file.txt”, headerTypes = c(“IGNORE”, “OBSERVATION”), observationTypes = “continuous”) setData(dataFile = “/path/to/data/file.txt”, headerTypes = c(“IGNORE”, “OBSERVATION”, “YTYPE”), observationTypes = list(Concentration = “continuous”, Level = “discrete”)) ## End(Not run) Top of the page, PKanalix API, Monolix API, Simulx API. ## [Monolix – PKanalix] Set structural model file ### Description Set the structural model. NOTE: In case of PKanalix, the user can only use a structural model from the library for the CA analysis. Thus, the structura model should be written ‘lib:modelFromLibrary.txt’. ### Usage setStructuralModel(modelFile)  ### Arguments  modelFile (character) Path to the model file. Can be absolute or relative to the current working directory. ### See Also  getStructuralModel ### Click here to see examples setStructuralModel(“/path/to/model/file.txt”) # for Monolix setStructuralModel(“‘lib:oral1_2cpt_kaClV1QV2.txt'”) # for PKanalix or Monolix ## End(Not run) Top of the page, PKanalix API, Monolix API, Simulx API. ### 5.3.Description of the R functions associated to PKanalix scenario# ## Description of the functions of the API  fillInitialParametersByAutoInit Run automatic calculation of optimized parameters for CA initial parameters. runBioequivalenceEstimation Estimate the bioequivalence for the selected parameters. runCAEstimation Estimate the CA parameters for each individual of the project. runEstimation Run the NCA analysis and the CA analysis if the structural model for the CA calculation is defined. runNCAEstimation Estimate the NCA parameters for each individual of the project. ## [PKanalix] Automatically estimate initial parameters values. ### Description Run automatic calculation of optimized parameters for CA initial parameters. ### Usage fillInitialParametersByAutoInit(parameters)  ### Arguments  parameters (double) Initial values to optimized in the same format as initialvalues returned by getCASettings ### Click here to see examples getCASettings() -> parameters fillInitialParamtersByAutoInit(parameters$initialvalues) -> optimiezdParameters

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Estimate the bioequivalence.

### Description

Estimate the bioequivalence for the selected parameters.

### Usage

runBioequivalenceEstimation()


runNCAEstimation()

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Estimate the individual parameters using compartmental analysis.

### Description

Estimate the CA parameters for each individual of the project.

### Usage

runCAEstimation()


runCAEstimation()

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Run both non compartmental and compartmental analysis.

### Description

Run the NCA analysis and the CA analysis if the structural model for the CA calculation is defined.

### Usage

runEstimation()


runEstimation()

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Estimate the individual parameters using non compartmental analysis.

### Description

Estimate the NCA parameters for each individual of the project.

### Usage

runNCAEstimation()


runNCAEstimation()

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## Description of the functions of the API

 getBioequivalenceResults Get results for different steps in bioequivalence analysis. getCAIndividualParameters Get the estimated values for each subject of some of the individual CA parameters of the current project. getCAParameterStatistics Get statistics over the estimated values of some of the CA parameters of the current project. getCAResultsStratification Get the stratification used to compute NCA parameters stratistics table. getNCAIndividualParameters Get the estimated values for each subject of some of the individual NCA parameters of the current project. getNCAParameterStatistics Get statistics over the estimated values of some of the NCA parameters of the current project. getNCAResultsStratification Get the stratification used to compute NCA parameters stratistics table. getPointsIncludedForLambdaZ Get the points used for the lambda-z calculation. setCAResultsStratification Set the stratification used to compute NCA parameters stratistics table. setNCAResultsStratification Set the stratification used to compute NCA parameters stratistics table. getResultsStratificationGroups Get the stratification covariate groups used to compute statistics over individual parameters. setResultsStratificationGroups Set the stratification covariate groups used to compute statistics over individual parameters.

## [PKanalix] Get Bioequivalence results

### Description

Get results for different steps in bioequivalence analysis.

### Usage

getBioequivalenceResults(...)


### Arguments

 ... (string) Name of the step whose values must be displayed : "anova", "coefficientsOfVariation", "confidenceIntervals"

bioeqResults = getBioequivalenceResults() # retrieve all the results values.

bioeqResults = getBioequivalenceResults(“anova”, “confidenceIntervals”) # retrieve anova and confidence intervals results.

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get CA individual parameters

### Description

Get the estimated values for each subject of some of the individual CA parameters of the current project.

### Usage

getCAIndividualParameters(...)


### Arguments

 ... (string) Name of the individual parameters whose values must be displayed.

### Value

A data frame giving the estimated values of the individual parameters of interest for each subject
and a list of information relative to these parameters (units)

indivParams = getCAIndividualParameters() # retrieve all the available individual parameters values.

indivParams = getCAIndividualParameters(“ka”, “V”) # retrieve ka and V values for all individuals.

$parameters id ka V 1 0.8 1.2 . … … N 0.4 2.2 ## End(Not run) Top of the page, PKanalix API, Monolix API, Simulx API. ## [PKanalix] Get CA parameter statistics ### Description Get statistics over the estimated values of some of the CA parameters of the current project. Statistics are computed on the different sets of individuals resulting from the stratification settings previously set. ### Usage getCAParameterStatistics(...)  ### Arguments  ... (string) Name of the parameters whose values must be displayed. ### Value A data frame giving the statistics over the parameters of interest, and a list of information relative to these parameters (units) ### See Also  setCAResultsStratification  getCAResultsStratification setResultsStratificationGroups ### Click here to see examples indivParams = getCAParameterStatistics() # retrieve all the available parameters values. indivParams = getCAParameterStatistics(“ka”, “V”) # retrieve ka and V values for all individuals.$parameters

parameter min Q1 median Q3 max mean SD SE CV geoMean geoSD

ka 0.05742669 0.08886395 0.1186787 0.1495961 0.1983748 0.1221367 0.03898449 0.007957675 31.91873 0.1159751 1.398436

V 7.859237 13.51599 23.00674 30.73677 43.39608 22.95211 10.99187 2.243707 47.89047 20.23981 1.704716

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get CA results stratification

### Description

Get the stratification used to compute NCA parameters stratistics table.
Stratification is defined by:

• stratification covariate groups which are shared by both NCA and CA results
• a stratification state which is specific to each task results

### Usage

getCAResultsStratification()


### Details

For each covariate, stratification groups can be defined as a list with:

 name string covariate name definition vector(continuous) || list>(categorical) group separations (continuous) || modality sets (categorical)

A stratification state is represented as a list with:

 split vector ordered list of splitted covariates filter list< pair> > list of paired containing a covariate name and the indexes of associated kept groups

### Value

A list with stratification groups (‘groups’) and stratification state (‘state’).

 setCAResultsStratification

getCAResultsStratification()

$groups list( list( name = “WEIGHT”, definition = c(70), type = “continuous”, range = c(65,85) ), list( name = “TRT”, definition = list(c(“a”,”b”), “c”) type = “categorical”, categories = c(“a”,”b”,”c”) ) )$state

$split “WEIGHT”$filter

list(list(“WEIGHT”, c(1,3), list(“TRT”, c(1)))

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get NCA individual parameters

### Description

Get the estimated values for each subject of some of the individual NCA parameters of the current project.

### Usage

getNCAIndividualParameters(...)


### Arguments

 ... (string) Name of the individual parameters whose values must be displayed.

### Value

A data frame giving the estimated values of the individual parameters of interest for each subject,
and a list of information relative to these parameters (units & CDISC names)

indivParams = getNCAIndividualParameters()

# retrieve the values of all the available parameters.

indivParams = getNCAIndividualParameters(“Tmax”,”Clast”)

# retrieve only the values of Tmax and Clast for all individuals.

$parameters id Tmax Clast 1 0.8 1.2 . … … N 0.4 2.2$information

CDISC

Tmax TMAX

Clast CLST

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get NCA parameter statistics

### Description

Get statistics over the estimated values of some of the NCA parameters of the current project.
Statistics are computed on the different sets of individuals resulting from the stratification settings previously set.

### Usage

getNCAParameterStatistics(...)


### Arguments

 ... (string) Name of the parameters whose values must be displayed and a list of information relative to these parameters (units & CDISC names)

 setNCAResultsStratification  getNCAResultsStratification setResultsStratificationGroups

statistics = getNCAParameterStatistics()

# retrieve the values of all the available parameters.

statistics = getNCAParameterStatistics(“Tmax”,”Clast”)

# retrieve only the values of Tmax and Clast for all individuals.

$statistics parameter min Q1 median Q3 max mean SD SE CV Ntot Nobs Nmiss geoMean geoSD Tmax 2.5 2.5 2.75 3 3 2.75 0.3535534 0.25 12.85649 2 2 0 2.738613 1.1376 Clast 0.76903 0.76903 0.85836 0.94769 0.94769 0.85836 0.1263317 0.08933 14.7178 2 2 0 0.853699 1.15918$information

units CDISC

Tmax h Tmax

Clast mg.mL^-1 Clast

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get NCA results stratification

### Description

Get the stratification used to compute NCA parameters stratistics table.
Stratification is defined by:

• stratification covariate groups which are shared by both NCA and CA results
• a stratification state which is specific to each task results

### Usage

getNCAResultsStratification()


### Details

For each covariate, stratification groups can be defined as a list with:

 name string covariate name definition vector(continuous) || list>(categorical) group separations (continuous) || modality sets (categorical)

A stratification state is represented as a list with:

 split vector ordered list of splitted covariates filter list< pair> > list of paired containing a covariate name and the indexes of associated kept groups

### Value

A list with stratification groups (‘groups’) and stratification state (‘state’).

 setNCAResultsStratification

getNCAResultsStratification()

$groups list( list( name = “WEIGHT”, definition = c(70), type = “continuous”, range = c(65,85) ), list( name = “TRT”, definition = list(c(“a”,”b”), “c”) type = “categorical”, categories = c(“a”,”b”,”c”) ) )$state

$split “WEIGHT”$filter

list(“Span”, list(“TRT”, c(1)))

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get points included in lambda_Z computation

### Description

Get points used to compute lambda_Z in NCA estimation

### Usage

getPointsIncludedForLambdaZ()


pointsIncluded = getPointsIncludedForLambdaZ()

ID time concentration BLQ includedForLambdaZ

1 0 0.0 0.00 0 0

2 0 0.5 3.05 0 1

3 0 2.0 5.92 1 1

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Set CA results stratification

### Description

Set the stratification used to compute NCA parameters stratistics table.
Stratification is defined by:

• stratification covariate groups which are shared by both NCA and CA results
• a stratification state which is specific to each task results

### Usage

setCAResultsStratification(
split = NULL,
filter = NULL,
groups = NULL,
state = NULL
)


### Arguments

 split (vector) Ordered list of splitted covariates filter (list< pair> >) List of paired containing a covariate name and the indexes of associated kept groups groups Stratification groups list state Stratification state

### Details

For each covariate, stratification groups can be defined as a list with:

 name string covariate name definition vector(continuous) || list>(categorical) group separations (continuous) || modality sets (categorical)

A stratification state is represented as a list with:

 split vector ordered list of splitted covariates filter list< pair> > list of paired containing a covariate name and the indexes of associated kept groups

 getCAResultsStratification

setCAResultsStratification(split = “SEX”)

setCAResultsStratification(split = c(“SEX”, “WEIGHT”))

setCAResultsStratification(filter = list(“SEX”, 1))

setCAResultsStratification(filter = list(list(“SEX”, 1), list(“WEIGHT”, c(1,3))))

setCAResultsStratification(split = “WEIGHT”, filter = list(list(“TRT”, c(1,2))),

groups = list(list(name = “WEIGHT”, definition = c(65,5, 72)), list(name = “TRT”, definition = list(c(“a”,”b”), “c”, c(“d”,”e”)))))

s = getCAResultsStratification()

setCAResultsStratification(state = s$state, groups = s$groups)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Set NCA results stratification

### Description

Set the stratification used to compute NCA parameters stratistics table.
Stratification is defined by:

• stratification covariate groups which are shared by both NCA and CA results
• a stratification state which is specific to each task results

### Usage

setNCAResultsStratification(
split = NULL,
filter = NULL,
groups = NULL,
state = NULL
)


### Arguments

 split (vector) Ordered list of splitted covariates filter (list< pair> >) List of paired containing a covariate name and the indexes of associated kept groups groups Stratification groups list state Stratification state

### Details

For each covariate, stratification groups can be defined as a list with:

 name string covariate name definition vector(continuous) || list>(categorical) group separations (continuous) || modality sets (categorical)

A stratification state is represented as a list with:

 split vector ordered list of splitted covariates filter list< pair> > list of paired containing a covariate name and the indexes of associated kept groups

Note: For acceptance criteria filtering, it is possible to give only the criterion name instead of a pair.

 getNCAResultsStratification

setNCAResultsStratification(split = “SEX”)

setNCAResultsStratification(split = c(“SEX”, “WEIGHT”))

setNCAResultsStratification(filter = “Span”)

setNCAResultsStratification(filter = list(“Span”, list(“SEX”, 1)))

setNCAResultsStratification(split = “WEIGHT”, filter = list(list(“TRT”, c(1,2))),

groups = list(list(name = “WEIGHT”, definition = c(65,5, 72)), list(name = “TRT”, definition = list(c(“a”,”b”), “c”, c(“d”,”e”)))))

s = getNCAResultsStratification()

setNCAResultsStratification(state = s$state, groups = s$groups)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix – Simulx] Get results stratification groups

### Description

Get the stratification covariate groups used to compute statistics over individual parameters.
These groups are shared by all the task results.

### Usage

getResultsStratificationGroups()


### Details

For each covariate, stratification groups can be defined as a list with:

 name string covariate name definition vector(continuous) || list>(categorical) group separations (continuous) || modality sets (categorical)

### Value

Stratification groups list.

 setResultsStratificationGroups

getResultsStratificationGroups()

list(

list( name = “WEIGHT”,

definition = c(70),

type = “continuous”,

range = c(65,85) ),

list( name = “TRT”,

definition = list(c(“a”,”b”), “c”)

type = “categorical”,

categories = c(“a”,”b”,”c”) )

)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix – Simulx] Set results stratification groups

### Description

Set the stratification covariate groups used to compute statistics over individual parameters.
These groups are shared by all the task results.

### Usage

setResultsStratificationGroups(groups)


### Arguments

 groups Stratification groups list

### Details

For each covariate, stratification groups can be defined as a list with:

 name string covariate name definition vector(continuous) || list>(categorical) group separations (continuous) || modality sets (categorical)

 getResultsStratificationGroups

setResultsStratificationGroups(list(list(name = “WEIGHT”, definition = c(65,5, 72)), list(name = “TRT”, definition = list(c(“a”,”b”), “c”, c(“d”,”e”)))))

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## Description of the functions of the API

 addAdditionalCovariate Create an additional covariate for stratification purpose. applyFilter Apply a filter on the current data. createFilter Create a new filtered data set by applying a filter on an existing one and/or complementing it. deleteAdditionalCovariate Delete a created additinal covariate. deleteFilter Delete a data set. editFilter Edit the definition of an existing filtered data set. getAvailableData Get information about the data sets and filters defined in the project. getCovariateInformation Get the name, the type and the values of the covariates present in the project. getObservationInformation Get the name, the type and the values of the observations present in the project. getTreatmentsInformation . removeFilter Remove the last filter applied on the current data set. renameAdditionalCovariate Rename an existing additional covariate. renameFilter Rename an existing filtered data set. selectData Select the new current data set within the previously defined ones (original and filters).

### Description

Create an additional covariate for stratification purpose. Notice that these covariates are available only if they are not
contant through the dataset.
Available column transformations are:

 [continuous] ‘firstDoseAmount’ (first dose amount) [continuous] ‘doseNumber’ (dose number) [discrete] ‘administrationType’ (admninistration type) [discrete] ‘administrationSequence’ (administration sequence) [discrete] ‘dosingDesign’ (dose multiplicity) [continuous] ‘observationNumber’ (observation number per individual, for a given observation type)

### Usage

addAdditionalCovariate(transformation, base = "", name = "")


### Arguments

 transformation (string) applied transformation. base (string) [optional] base data on which the transformation is applied. name (string) [optional] name of the covariate.

 deleteAdditionalCovariate

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Apply filter

### Description

Apply a filter on the current data. Refere to  createFilter for more details about syntax, allowed parameters and examples.

### Usage

applyFilter(filter, name = "")


### Arguments

 filter (list< list< action = "headerName-comparator-value" > > or "complement") filter definition. name (string) [optional] created data set name.

 getAvailableData  createFilter  removeFilter

applyFilter( filter = list(selectLines = “CONC>=5.5”, removeLines = “CONC>10”))\cr

applyFilter( filter = list(selectLines = “y1!=2”) )\cr

applyFilter( filter = list(selectIds = “SEX==M”, selectIds = “WEIGHT<80”) )\cr

applyFilter( filter = “complement” )

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Create filter

### Description

Create a new filtered data set by applying a filter on an existing one and/or complementing it.

### Usage

createFilter(filter, name = "", origin = "")


### Arguments

 filter (list< list< action = "headerName-comparator-value" > > or "complement") [optional] filter definition. Existing actions are "selectLines", "selectIds", "removeLines" and "removeIds". First vector level is for set unions, the second one for set intersection. It is possible to give only a list of actions if there is only no high-level union. name (string) [optional] created data set name. If not defined, the default name is "currentDataSet_filtered". origin (string) [optional] name of the data set to be filtered. The current one is used by default.

### Details

The possible actions are line selection (selectLines), line removal (removeLines), Ids selection (selectIds) or removal (removeIds).
The selection is a string containing the header name, a comparison operator and a value
selection = <string> "headerName*-comparator**-value" (ex: "id==’100’", "WEIGHT<70", "SEX!=’M’")
Notice that :
– The headerName corresponds to the data set header or one of the header aliases defined in MONOLIX software preferences
– The comparator possibilities are "==", "!=" for all types of value and "<=", "<", ">=", ">" only for numerical types

Syntax:
* create a simple filter:
createFilter( filter = list(act = sel)), e.g. createFilter( filter = list(removeIds = "WEIGHT<50"))
=> create a filter with the action act on the selection sel. In this example, we create a filter that removes all subjects with a weight less than 50.
* create a filter with several concurrent conditions, i.e AND condition:
createFilter( list(act1 = sel1, act2 = sel2)), e.g. createFilter( filter = list(removeIds = "WEIGHT<50", removeIds = " AGE<20"))
=> create a filter with both the action act1 on sel1 AND the action act2 on sel2. In this example, we create a filter that removes all subjects with a weight less than 50 and an age less than 20.
It corresponds to the intersecton of the subjects with a weight less than 50 and the subjects with an age less than 20.
* create a filter with several non-concurrent conditions, i.e OR condition:
createFilter(filter = list(list(act1 = sel1), list(act2 = sel2)) ), e.g. createFilter( filter = list(list(removeIds = "WEIGHT<50"),list(removeIds = " AGE<20")))
=> create a filter with the action act1 on sel1 OR the action act2 on sel2. In this example, we create a filter that removes all subjects with a weight less than 50 and an age less than 20.
It corresponds to the union of the subjects with a weight less than 50 and the subjects with an age less than 20.
* It is possible to have any combinaison:

createFilter(filter = list(list(act1 = sel1), list(act2 = sel2, act3 = sel3)) ) <=> act1,sel1 OR ( act2,sel2 AND act3,sel3 )

* It is possible to create the complement of an existing filter:

createFilter(filter = "complement")

 applyFilter

—————————————————————————————-

LINE [ int ]

createFilter( filter = list(removeLines = “line>10”) ) # keep only the 10th first rows

—————————————————————————————-

ID [ string | int ]

If there are only integer identifiers within the data set, ids will be considered as integers. On the contrary, they will be treated as strings.

createFilter( filter = list(selectIds = “id==100”) ) # select the subject called ‘100’

createFilter( filter = list(list(removeIds = “id!=’id_2′”)) ) # select all the subjects excepted the one called ‘id_2’

—————————————————————————————-

ID INDEX [int]

createFilter( filter = list(list(removeIds = “idIndex!=2”), list(selectIds = “id<5”)) ) # select the 4 first subjects excepted the second one

—————————————————————————————-

OCC [ int ]

createFilter( filter = list(selectIds = “occ1==1”, removeIds = “occ2!=3”) ) # select the subjects whose first occasion level is ‘1’ and whose second one is different from ‘3’

—————————————————————————————-

TIME [ double ]

createFilter( filter = list(removeIds=’TIME>120′) ) # remove the subjects who have time over 120

createFilter( filter = list(selectLines=’TIME>120′) ) # remove the all the lines where the time is over 120

—————————————————————————————-

OBSERVATION [ double ]

createFilter( filter = list(selectLines = “CONC>=5.5”, removeLines = “CONC>10”)) # select the lines where CONC value superior or equal to 5.5 or strictly higher than 10

createFilter( filter = list(removeIds = “CONC<0”) ) # remove subjects who have negative CONC values

createFilter( filter = list(removeIds = “E==0”) ) # remove subjects for who E equals 0

—————————————————————————————-

OBSID [ string ]

createFilter( filter = list(removeIds = “y1==1”) ) # remove subject who have at least one observation for y1

createFilter( filter = list(selectLines = “y1!=2”) ) # select all lines corresponding to observations exepected those for y2

—————————————————————————————-

AMOUNT [ double ]

createFilter( filter = list(selectIds = “AMOUT==10”) ) # select subjects who have a dose equals to 10

—————————————————————————————-

INFUSION RATE AND INFUSION DURATION [ double ]

createFilter( filter = list(selectIds = “RATE<10”) ) # select subjects who have dose with a rate less than 10

—————————————————————————————-

COVARIATE [ string (categorical) | double (continuous) ]

createFilter( filter = list(selectIds = “SEX==M”, selectIds = “WEIGHT<80”) ) # select subjects who are men and whose weight is lower than 80kg

—————————————————————————————-

createFilter( filter = list(selectLines = “REG>10”) ) # select the lines where the regressor value is over 10

—————————————————————————————-

COMPLEMENT

createFilter(origin = “data_filtered”, filter = “complement” )

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Delete additional covariate

### Usage

deleteAdditionalCovariate(name)


### Arguments

 name (string) name of the covariate.

 addAdditionalCovariate

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Delete filter

### Description

Delete a data set. Only filtered data set which are not active and whose children are not active either can be deleted.

### Usage

deleteFilter(name)


### Arguments

 name (string) data set name.

 createFilter

deleteFilter(name = “filter2”)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Edit filter

### Description

Edit the definition of an existing filtered data set. Refere to  createFilter for more details about syntax, allowed parameters and examples.
Notice that all the filtered data set which depend on the edited one will be deleted.

### Usage

editFilter(filter, name = "")


### Arguments

 filter (list< list< action = "headerName-comparator-value" > >) filter definition. name (string) [optional] data set name to edit (current one by default)

 createFilter

## [Monolix – PKanalix] Get data sets descriptions

### Description

Get information about the data sets and filters defined in the project.

### Usage

getAvailableData()


getAvailableData()

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Get covariates information

### Description

Get the name, the type and the values of the covariates present in the project.

### Usage

getCovariateInformation()


### Value

A list containing the following fields :

• name (vector<string>): covariate names
• type (vector<string>): covariate types. Existing types are "continuous", "continuoustransformed", "categorical", "categoricaltransformed"./
In Monolix mode, "latent" covariates are also allowed.

• [Monolix] modalityNumber (vector<int>): number of modalities (for latent covariates only)
• covariate: a data frame giving the values of continuous and categorical covariates for each subject.
Latent covariate values exist only if they have been estimated, ie if the covariate is used and if the population parameters have been estimated.
Call getEstimatedIndividualParameters to retrieve them.

info = getCovariateInformation() # Monolix mode with latent covariates

info

-> $name c(“sex”,”wt”,”lcat”) ->$type

c(sex = “categorical”, wt = “continuous”, lcat = “latent”)

-> $modalityNumber c(lcat = 2) ->$covariate

id sex wt

1 M 66.7

. . .

N F 59.0

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Get observations information

### Description

Get the name, the type and the values of the observations present in the project.

### Usage

getObservationInformation()


### Value

A list containing the following fields :

• name (vector<string>): observation names.
• type (vector<string>): observation generic types. Existing types are "continuous", "discrete", "event".
• [Monolix] detailedType (vector<string>): observation specialized types set in the structural model. Existing types are "continuous", "bsmm", "wsmm", "categorical", "count", "exactEvent", "intervalCensoredEvent".
• [Monolix] mapping (vector<string>): mapping between the observation names (defined in the mlxtran project) and the name of the corresponding entry in the data set.
• ["obsName"] (data.frame): observation values for each observation id.

In PKanalix mode, the observation type and the mapping are not provided as there is only one used output and this one is necessarly continuous..

info = getObservationInformation()

info

-> $name c(“concentration”) ->$type # [Monolix]

c(concentration = “continuous”)

-> $detailedType # [Monolix] c(concentration = “continuous”) ->$mapping # [Monolix]

c(concentration = “CONC”)

-> \$concentration

id time concentration

1 0.5 0.0

. . .

N 9.0 10.8

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Get treatment information

### Description

[Monolix – PKanalix] Get treatment information

### Usage

getTreatmentsInformation()


### Value

A dataframe whose columns are:

• id and occasion level names (string)
• time (double)
• amount (double)
• [optional] infusionTime (double)
• [optional] isArtificial (bool): is created from SS or ADDL column
• [optional] isReset (bool): IOV case only

## Not run:

}

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Remove filter

### Description

Remove the last filter applied on the current data set.

### Usage

removeFilter()


 applyFilter  selectData

removeFilter()

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Rename additional covariate

### Usage

renameAdditionalCovariate(oldName, newName)


### Arguments

 oldName (string) current name of the covariate to rename newName (string) new name.

 addAdditionalCovariate

renameAdditionalCovariate(oldName = “observationNumberPerIndividual_y1”, newName = “nbObsForY1”)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Rename filter

### Description

Rename an existing filtered data set.

### Usage

renameFilter(newName, oldName = "")


### Arguments

 newName (string) new name. oldName (string) [optional] current name of the filtered data set to rename (current one by default)

 createFilter  editFilter

renameFilter(“newFilter”)\cr

renameFilter(oldName = “filter”, newName = “newFilter”)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix] Select data set

### Description

Select the new current data set within the previously defined ones (original and filters).

### Usage

selectData(name)


### Arguments

 name (string) data set name.

 getAvailableData

selectData(name = “filter1”)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## Description of the functions of the API

 getBioequivalenceSettings Get the settings associated to the bioequivalence estimation. getCASettings Get the settings associated to the compartmental analysis. getDataSettings Get the data settings associated to the non compartmental analysis. getGlobalObsIdToUse Get the global observation id used in both the compartmental and non compartmental analysis. getNCASettings Get the settings associated to the non compartmental analysis. setBioequivalenceSettings Set the value of one or several of the settings associated to the bioequivalence estimation. setCASettings Set the settings associated to the compartmental analysis. setDataSettings Set the value of one or several of the data settings associated to the non compartmental analysis. setGlobalObsIdToUse Get the global observation id used in both the compartmental and non compartmental analysis. setNCASettings Set the value of one or several of the settings associated to the non compartmental analysis.

## [PKanalix] Get the settings associated to the bioequivalence estimation.

### Description

Get the settings associated to the bioequivalence estimation. Associated settings are:

 “level” (int) Level of the confidence interval “bioequivalenceLimits” (vector) Limit in which the confidence interval must be to conclude the bioequivalence is true “computedBioequivalenceParameters” (data.frame) Parameters to consider for the bioequivalence analysis and if they should be log-transformed (true/false). This list must be a subset of the NCA setting “computedncaparamteters”. “linearModelFactors” (list) The values are headers of the data set, except for reference where it must be one of the categories of the “formulation” categorical covariate. For “additional”, a vector of headers can be given. “degreesFreedom” (string) t-test using the residuals degrees of freedom assuming equal variances (“residuals”) or using the Welch-Satterthwaite degrees of freedom assuming unequal variances (“WelchSatterthwaite”, default) “bedesign” (string) automatically recognize BE design “crossover” or “parallel” (cannot be changed)

### Usage

getBioequivalenceSettings(...)


### Arguments

 ... [optional] (string) Name of the settings whose value should be displayed. If no argument is provided, all the settings are returned.

### Value

An array which associates each setting name to its current value.

 setBioequivalenceSettings

getBioequivalenceSettings() # retrieve a list of all the bioequivalence methodology settings

getBioequivalenceSettings(“level”,”bioequivalenceLimits”) # retrieve a list containing only the value of the settings whose name has been passed in argument

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get the settings associated to the compartmental analysis

### Description

Get the settings associated to the compartmental analysis. Associated settings are:

 “weightingCA” (string) Type of weighting objective function. “pool” (logical) Fit with individual parameters or with the same parameters for all individuals. “initialValues” (list) list(param = value, …): value = initial value of individual parameter param. “blqMethod” (string) Method by which the BLQ data should be replaced.

### Usage

getCASettings(...)


### Arguments

 ... [optional] (string) Name of the settings whose value should be displayed. If no argument is provided, all the settings are returned.

### Value

An array which associates each setting name to its current value.

 setCASettings

getCASettings() # retrieve a list of all the CA methodology settings

getCASettings(“weightingca”,”blqmethod”) # retrieve a list containing only the value of the settings whose name has been passed in argument

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get the data settings associated to the non compartmental analysis

### Description

Get the data settings associated to the non compartmental analysis. Associated settings are:

 “urinevolume” (string) regressor name used as urine volume. “datatype” (list) list(“obsId” = string(“plasma” or “urine”)). The type of data associated with each obsId: observation ID from data set. “units” (list) list with the units associated to “dose”, “time” and “volume”. “scalings” (list) list with the scaling factor associated to “concentration”, “dose”, “time” and “urinevolume”. “enableunits” (bool) are units enabled or not.

### Usage

getDataSettings(...)


### Arguments

 ... [optional] (string) Name of the settings whose value should be displayed. If no argument is provided, all the settings are returned.

### Value

An array which associates each setting name to its current value.

 setNCASettings

getDataSettings() # retrieve a list of all the NCA methodology settings

getDataSettings(“urinevolume”) # retrieve a list containing only the value of the settings whose name has been passed in argument

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get the global observation id used in both the compartmental and non compartmental analysis

### Description

Get the global observation id used in both the compartmental and non compartmental analysis.

### Usage

getGlobalObsIdToUse()


### Value

the observation id used in computations.

 setGlobalObsIdToUse

getGlobalObsIdToUse() #

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get the settings associated to the non compartmental analysis

### Description

Get the settings associated to the non compartmental analysis. Associated settings are:

 “administrationType” (list) list(key = “admId”, value = string(“intravenous” or “extravascular”)). admId Admninistration ID from data set or 1 if no admId column in the dataset. “integralMethod” (string) Method for AUC and AUMC calculation and interpolation. “partialAucTime” (list) The first element of the list is a bolean describing if this setting is used. The second element of the list is a list of the values of the bounds of the partial AUC calculation intervals. “blqMethodBeforeTmax” (string) Method by which the BLQ data before Tmax should be replaced. “blqMethodAfterTmax” (string) Method by which the BLQ data after Tmax should be replaced. “ajdr2AcceptanceCriteria” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value of the adjusted R2 acceptance criteria for the estimation of lambda_Z. “extrapAucAcceptanceCriteria” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value of the AUC extrapolation acceptance criteria for the estimation of lambda_Z. “spanAcceptanceCriteria” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value of the span acceptance criteria for the estimation of lambda_Z. “lambdaRule” (string) Main rule for the lambda_Z estimation. “timeInterval” (vector) Time interval for the lambda_Z estimation when “lambdaRule” = “interval”. “timeValuesPerId” (list) list(“idName” = idTimes,…): idTimes Observation times to use for the calculation of lambda_Z for the id idName. “nbPoints” (integer) Number of points for the lambda_Z estimation when “lambdaRule” = “points”. “maxNbOfPoints” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value maximum number of points to use for the lambda_Z estimation when “lambdaRule” = “R2” or “adjustedR2”. “startTimeNotBefore” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value minimum time value to use for the lambda_Z estimation when “lambdaRule” = “R2” or “adjustedR2”. “weightingNCA” (string) Weighting method used for the regression that estimates lambda_Z. “computedNCAParameters” (vector) All the parameters to compute during the analysis.”

### Usage

getNCASettings(...)


### Arguments

 ... [optional] (string) Name of the settings whose value should be displayed. If no argument is provided, all the settings are returned.

### Value

An array which associates each setting name to its current value.

 setNCASettings

getNCASettings() # retrieve a list of all the NCA methodology settings

getNCASettings(“lambdaRule”,”integralMethod”) # retrieve a list containing only the value of the settings whose name has been passed in argument

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Set the value of one or several of the settings associated to the bioequivalence estimation

### Description

Set the value of one or several of the settings associated to the bioequivalence estimation. Associated settings are:

 “level” (int) Level of the confidence interval “bioequivalenceLimits” (vector) Limit in which the confidence interval must be to conclude the bioequivalence is true “computedBioequivalenceParameters” (data.frame) Parameters to consider for the bioequivalence analysis and if they should be log-transformed (true/false). This list must be a subset of the NCA setting “computedncaparamteters”. “linearModelFactors” (list) The list can specify “id”, “period”, “formulation”, “sequence” and “additional”. The values are headers of the data set, except for reference where it must be one of the categories of the “formulation” categorical covariate. For “additional”, a vector of headers can be given. “degreesFreedom” (string) t-test using the residuals degrees of freedom assuming equal variances (“residuals”) or using the Welch-Satterthwaite degrees of freedom assuming unequal variances (“WelchSatterthwaite”, default)

### Usage

setBioequivalenceSettings(...)


### Arguments

 ... A collection of comma-separated pairs {settingName = settingValue}.

 getBioequivalenceSettings

setBioequivalenceSettings(level = 90, bioequivalencelimits = c(85, 115)) # set the settings whose name has been passed in argument

setBioequivalenceSettings(computedbioequivalenceparameters = data.frame(parameters = c(“Cmax”, “Tmax”), logtransform = c(TRUE, FALSE)))

setBioequivalenceSettings(linearmodelfactors = list(id=”SUBJ”, period=”OCC”, formulation=”FORM”, reference=”ref”, sequence=”SEQ”, additional=c(“Group”,”Phase”)))

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Get the settings associated to the compartmental analysis

### Description

Set the settings associated to the compartmental analysis. Associated settings names are:

 “weightingCA” (string) Type of weighting objective function. Possible methods are “uniform”, “Yobs”, “Ypred”, “Ypred2” or “Yobs2” (default). “pool” (logical) If TRUE, fit with individual parameters or with the same parameters for all individuals if FALSE. FALSE (default). “initialValues” (list) list(param = value, …): value = initial value of individual parameter param. “blqMethod” (string) Method by which the BLQ data should be replaced. Possible methods are “zero”, “LOQ”, “LOQ2” or “missing” (default).

### Usage

setCASettings(...)


### Arguments

 ... A collection of comma-separated pairs {settingName = settingValue}.

 getCASettings

setCASettings(weightingCA = “uniform”, blqMethod = “zero”) # set the settings whose name has been passed in argument

setCASettings(initialValues = list(Cl=0.4, V=.5, ka=0.04) # set the paramters CL, V, and ka to .4, .5 and .04 respectively

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Set the value of one or several of the data settings associated to the non compartmental analysis

### Description

Set the value of one or several of the data settings associated to the non compartmental analysis. Associated settings names are:

 “urinevolume” (string) regressor name used as urine volume. “datatype” (list) list(“obsId” = string(“plasma” or “urine”). The type of data associated with each obsId. Default "plasma". “units” (list) list with the units associated to “dose”, “time” and “volume”. “scalings” (list) list with the scaling factor associated to “concentration”, “dose”, “time” and “urinevolume”. “enableunits” (bool) are units enabled or not.

### Usage

setDataSettings(...)


### Arguments

 ... A collection of comma-separated pairs {settingName = settingValue}.

 getDataSettings

setDataSettings(“datatype” = list(“Y” =”plasma”)) # set the settings whose name has been passed in argument

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Set the global observation id used in both the compartmental and non compartmental analysis

### Description

Get the global observation id used in both the compartmental and non compartmental analysis.

### Usage

setGlobalObsIdToUse(...)


### Arguments

 ... ("id" string) the observation id from data section to use for computations.

 getGlobalObsIdToUse

setGlobalObsIdToUse(“id”) #

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [PKanalix] Set the value of one or several of the settings associated to the non compartmental analysis

### Description

Set the value of one or several of the settings associated to the non compartmental analysis. Associated settings are:

 “administrationType” (list) list(key = “admId”, value = string(“intravenous” or “extravascular”)). admId Admninistration ID from data set or 1 if no admId column in the dataset. “integralMethod” (string) Method for AUC and AUMC calculation and interpolation. “partialAucTime” (list) The first element of the list is a bolean describing if this setting is used. The second element of the list is a list of the values of the bounds of the partial AUC calculation intervals. By default, the boolean equals FALSE and the bounds are c(-Inf, +Inf). “blqMethodBeforeTmax” (string) Method by which the BLQ data before Tmax should be replaced. Possible methods are “missing”, “LOQ”, “LOQ2” or “zero” (default). “blqMethodAfterTmax” (string) Method by which the BLQ data after Tmax should be replaced. Possible methods are “zero”, “missing”, “LOQ” or “LOQ2” (default). “ajdr2AcceptanceCriteria” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value of the adjusted R2 acceptance criteria for the estimation of lambda_Z. By default, the boolean equals FALSE and the value is 0.98. “extrapAucAcceptanceCriteria” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value of the AUC extrapolation acceptance criteria for the estimation of lambda_Z. By default, the boolean equals FALSE and the value is 20. “spanAcceptanceCriteria” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value of the span acceptance criteria for the estimation of lambda_Z. By default, the boolean equals FALSE and the value is 3. “lambdaRule” (string) Main rule for the lambda_Z estimation. Possible rules are “R2”, “interval”, “points” or “adjustedR2” (default). “timeInterval” (vector) Time interval for the lambda_Z estimation when “lambdaRule” = “interval”. This is a vector of size two, default = c(-inf, inf) “timeValuesPerId” (list) list(“idName” = idTimes,…): idTimes Observation times to use for the calculation of lambda_Z for the id idName. Default = NULL, all the times values are used. “nbPoints” (integer) Number of points for the lambda_Z estimation when “lambdaRule” = “points”. Default = 3. “maxNbOfPoints” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value maximum number of points to use for the lambda_Z estimation when “lambdaRule” = “R2” or “adjustedR2”. By default, the boolean equals FALSE and the value is inf. “startTimeNotBefore” (list) The first element of the list is a boolean describing if this setting is used. The second element of the list is the value minimum time value to use for the lambda_Z estimation when “lambdaRule” = “R2” or “adjustedR2”. By default, the boolean equals FALSE and the value is 0. “weightingNca” (string) Weighting method used for the regression that estimates lambda_Z. Possible methods are “Y”, “Y2” or “uniform” (default). “computedNCAParameters” (vector) All the parameters to compute during the analysis.”

### Usage

setNCASettings(...)


### Arguments

 ... A collection of comma-separated pairs {settingName = settingValue}.

 getNCASettings

setNCASettings(integralMethod = “LinLogTrapLinLogInterp”, weightingnca = “uniform”) # set the settings whose name has been passed in argument

setNCASettings(startTimeNotBefore = list(TRUE, 15)) # set the estimation of the lambda_z with points with time over 15

setNCASettings(timeValuesPerId = list(‘1’=c(4, 6, 8, 30), ‘4’=c(8, 12, 18, 24, 30))) # set the points to use for the lambda_z to time={4, 6, 8, 30} for id ‘1’ and ime={8, 12, 18, 24, 30} for id ‘4’

setNCASettings(timeValuesPerId = NULL) # set the points to use for the lambda_z to the default rule

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## Description of the functions of the API

 getPreferences Get a summary of the project preferences. getProjectSettings Get a summary of the project settings. setPreferences Set the value of one or several of the project preferences. setProjectSettings Set the value of one or several of the settings of the project.

## [Monolix – PKanalix – Simulx] Get project preferences

### Description

Get a summary of the project preferences. Preferences are:

 “relativepath” (bool) Use relative path for save/load operations. “threads” (int >0) Number of threads. “timestamping” (bool) Create an archive containing result files after each run. “delimiter” (string) Character use as delimiter in exported result files. “exportchartsData” (bool) Should graphics data be exported. “exportsimulationfiles” (bool) [Simulx] Should simulation results files be exported. “headeraliases” (list("header" = vector)) For each header, the list of the recognized aliases. “ncaparameters” (vector) [PKanalix] Defaulty computed NCA parameters.

### Usage

getPreferences(...)


### Arguments

 ... [optional] (string) Name of the preference whose value should be displayed. If no argument is provided, all the preferences are returned.

### Value

An array which associates each preference name to its current value.

getPreferences() # retrieve a list of all the general settings

getPreferences(“imageFormat”,”exportCharts”)

# retrieve only the imageFormat and exportCharts settings values

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix – Simulx] Get project settings

### Description

Get a summary of the project settings.
Associated settings for Monolix projects are:

 “directory” (string) Path to the folder where simulation results will be saved. It should be a writable directory. “exportResults” (bool) Should results be exported. “seed” (0< int <2147483647) Seed used by random generators. “grid” (int) Number of points for the continuous simulation grid. “nbSimulations” (int) Number of simulations. “dataAndModelNextToProject” (bool) Should data and model files be saved next to project.

Associated settings for PKanalix projects are:

 “directory” (string) Path to the folder where simulation results will be saved. It should be a writable directory. “dataNextToProject” (bool) Should data files be saved next to project.

Associated settings for Simulx projects are:

 “directory” (string) Path to the folder where simulation results will be saved. It should be a writable directory. “seed” (0< int <2147483647) Seed used by random generators. “userfilesnexttoproject” (bool) Should user files be saved next to project.

### Usage

getProjectSettings(...)


### Arguments

 ... [optional] (string) Name of the settings whose value should be displayed. If no argument is provided, all the settings are returned.

### Value

An array which associates each setting name to its current value.

 getProjectSettings

getProjectSettings() # retrieve a list of all the project settings

getProjectSettings(“directory”,”seed”)

# retrieve only the directopry and the seed settings values

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix – Simulx] Set preferences

### Description

Set the value of one or several of the project preferences. Prefenreces are:

 “relativepath” (bool) Use relative path for save/load operations. “threads” (int >0) Number of threads. “timestamping” (bool) Create an archive containing result files after each run. “delimiter” (string) Character use as delimiter in exported result files. “exportchartsData” (bool) Should graphics data be exported. “exportsimulationfiles” (bool) [Simulx] Should simulation results files be exported. “headeraliases” (list("header" = vector)) For each header, the list of the recognized aliases. “ncaparameters” (vector) [PKanalix] Defaulty computed NCA parameters.

### Usage

setPreferences(...)


### Arguments

 ... A collection of comma-separated pairs {preferenceName = settingValue}.

 getPreferences

setPreferences(exportCharts = FALSE, delimiter = “,”)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

## [Monolix – PKanalix – Simulx] Set project settings

### Description

Set the value of one or several of the settings of the project.
Associated settings for Monolix projects are:

 “directory” (string) Path to the folder where simulation results will be saved. It should be a writable directory. “exportResults” (bool) Should results be exported. “seed” (0< int <2147483647) Seed used by random generators. “grid” (int) Number of points for the continuous simulation grid. “nbSimulations” (int) Number of simulations. “dataAndModelNextToProject” (bool) Should data and model files be saved next to project.

Associated settings for PKanalix projects are:

 “directory” (string) Path to the folder where simulation results will be saved. It should be a writable directory. “dataNextToProject” (bool) Should data files be saved next to project.

Associated settings for Simulx projects are:

 “directory” (string) Path to the folder where simulation results will be saved. It should be a writable directory. “seed” (0< int <2147483647) Seed used by random generators. “userfilesnexttoproject” (bool) Should user files be saved next to project.

### Usage

setProjectSettings(...)


### Arguments

 ... A collection of comma-separated pairs {settingName = settingValue}.

 getProjectSettings

setProjectSettings(directory = “/path/to/export/directory”, seed = 12345)

## End(Not run)

Top of the page, PKanalix API, Monolix API, Simulx API.

### 6.FAQ#

#### Resolution and display

• OpenGL technology impact on remote access: the PKanalix interface uses OpenGL technology. Unfortunately, remote access using direct rendering is not compatible with OpenGL, as the OpenGL application sends instructions directly to the local hardware bypassing the target X server. As a consequence, PKanalix cannot be used with X11 forwarding. Instead, an indirect rendering should be used, where the remote application sends instructions to the X server which transfers them to the graphics card. It is possible to do that with ssh application, but it requires a dedicated configuration depending on the machine and the operating system. Other applications such as VNC or Remina can also be used for an indirect rendering.
• If the graphical user interface appears with too high or too low resolution, follow these steps:
• open PKanalix
• load any project from the demos
• in the menu, go to Settings > Preferences and disable the “High dpi scaling” in the Options.
• close PKanalix
• restart PKanalix

#### Regulatory

• Are NCA and CA analyses done with PKanalix accepted by the regulatory agencies like the FDA and EMA?  Yes.
• How to cite PKanalix? Please reference it as here
PKanalix version 2021R1. Antony, France: Lixoft SAS, 2021.
http://lixoft.com/products/PKanalix/

#### Running PKanalix

• On what operating systems does PKanalix run? PKanalix runs on Windows, Linux and MacOS platform.
• Is it possible to run PKanalix in command line? It is possible to run PKanalix from the R command line. A full R -api providing the full flexibility on running and modifying PKanalix projects is described here

#### Input data

• Does PKanalix support sparse data? No.
• Does PKanalix support drug-effect or PD models? No.
• What type of data can PKanalix handle? Extravascular, intravascular infusion, intravascular bolus for single-dose or steady-state plasma concentration and single-dose urine data can be used. See here.
• Can I give the concentration data and dosing data as separate files? No.
• Can I give the dosing information directly via the interface? No.
• Can I have BLQ data? Yes, see here.
• Can I define units? No.
• Can I define variables such as “Sort” and “Carry”? Yes, check here.
• It is possible to define several dosing routes within a single data set? Yes, check the ADMINISTRATION ID column.
• Can I use dose normalization to scale the dose by a factor? No, this must be done before using PKanalix.

#### Settings (options)

• How do I indicate the type of model/data? Extravascular versus intravascular is set in the Settings window. Single versus steady-state and infusion versus bolus are imputed based on the data set column-types.
• Can I exclude data with insufficient data? The “Acceptance criteria” settings allow the user to define acceptance thresholds. In the output tables, each individual is flagged according those criteria. The flags can be used to filter the results outside PKanalix.
• Can I set the data as being sparse? No, sparse data calculations are not supported.
• Which options are available for the lambda_z calculation? Points to be included in the lambda_z calculation can be defined using the adjusted R2 criteria (called best fit in Winonlin), the R2 criteria, a time range or a number of points. In addition, the a specific range per individual can be defined, as well as points to include or exclude. Check the lambda_z options here and here.
• Can I define several partial areas? No.
• Can I save settings as template for future projects? Not for settings. However the user can set the data set headers that should be recognized automatically in “Settings > Preferences”.
• Do you have a “slope selector”? Yes, check here for information on the “Check lambda_z“.
• Can I define a therapeutic response range? No.
• Can I set a user-defined weighting for the lambda_z? No. But most common options are available as a setting.
• Can I disable the calculation of lambda_z (curve stripping in Winnonlin)? Set to general rule to a time interval that does not contain any point. For a single individual, select a single point. This will lead to a failure of the lambda_z calculation and parameters relying on lambda_z will not be calculated.

#### Output results

• Can I change the name of the parameters? No. However the output files contain both PKanalix names and CDISC names.
• Can I export the result table? The result tables are automatically saved as text files in the result folder. In addition, result tables can be copy-pasted to Excel or Word using the copy button on the top right of the tables.
• Can I generate a report? No. But the result tables can be copy-pasted to Excel or Word using the copy button on the top right of the tables. Plots can be exported as images using in the menu “Export > Export plots” or by clicking on save button at the top of each plot.
• Can I choose which parameters to show in the result table and to export to the result folder file? No. All parameters are exported. The user can filter the table outside PKanalix afterwards.
• Are the calculation rules the same as in Winonlin? Yes.
• Can I define myself the result folder? By default, the result folder corresponds to the project name. However, you can define it by yourself. See here to see how to define it on the user interface.

#### Results

• What result files are generated by PKanalix?
• Can I replot the plots using another plotting software? Yes, if you go to the menu Export and click on “Export charts data”, all the data needed to reproduce the plots are stored in text files.
• When I open a project, my results are not loaded (message “Results have not been loaded due to an old inconsistent project”). Why? When loading a project, PKanalix checks that the project (i.e all the information saved in the .pkx file) being loaded and the project that has been used to generate the results are the same. If not, the error message is shown. In that case the results will not be loaded because they are inconsistent with the loaded project.

### 7.Case studies#

Different cases studies are presented here to show how to use Monolix and the MonolixSuite for Modeling and Simulation.

## Warfarin case study

This video case study shows a simple PK modeling workflow in Monolix2018, with the example of warfarin. It explains the main features and algorithms of Monolix, that guide the iterative process of model building: from validating the structural model to adjusting the statistical model step-by-step.
It includes picking a model from the libraries, choosing initial estimates with the help of population predictions, estimating parameters and uncertainty, and diagnosing the model with interactive plots and statistical tests.

## Tobramycin case study

This case study presents the modeling of the tobramycin pharmacokinetics, and the determination of a priori dosing regimens in patients with various degrees of renal function impairment. It takes advantage of the integrated use of Datxplore for data visualization, Mlxplore for model exploration, Monolix for parameter estimation and Simulx for simulations and best dosing regimen determination.
The case study is presented in 5 sequential parts, that we recommend to read in order: Part 1: Introduction, Part 2: Data visualization with Datxplore, Part 3: Model development with Monolix, Part 4: Model exploration with Mlxplore, and Part 5: Dosing regimen simulations with Simulx.

## Remifentanil case study

Remifentanil is an opioid analgesic drug with a rapid onset and rapid recovery time. It is used for sedation as well as combined with other medications for use in general anesthesia. It is given in adults via continuous IV infusion, with doses that may be adjusted to age and weight of patients.
This case-study shows how to use Monolix to build a population pharmacokinetic model for remifentanil in order to determine the influence of subject covariates on the individual parameters.

## Longitudinal Model-Based Meta-Analysis (MBMA) with Monolix Suite

Longitudinal model-based meta-analysis (MBMA) models can be implemented using the MonolixSuite. These models use study-level aggregate data from the literature and can usually be formulated as non-linear mixed-effects models in which the inter-arm variability and residual error are weighted by the number of individuals per arm. We exemplify the model development and analysis workflow of MBMA models in Monolix using a real data set for rheumatoid arthritis, following publication from Demin et al (2012). In the case study, the efficacy of a drug in development (Canakinumab) is compared to the efficacy of two drugs already on the market (Adalimumab and Abatacept). Simulations using Simulx were used for decision support to see if the new drug has a chance to be a better drug.

## Analysis of time-to-event data

Within the MonolixSuite, the mlxtran language allows to describe and model time-to-event data using a parametric approach. This page provides an introduction on time-to-event data, the different ways to model this kind of data, and typical parametric models. A library of common TTE models is also provided.

Two modeling and simulation workflows illustrate this approach, using two TTE data sets:

## Veralipride case study

Multiple peaking in plasma concentration-time curves is not uncommon, and can create difficulties in the determination of pharmacokinetic parameters.
For example, double peaks have been observed in plasma concentrations of veralipride after oral absorption. While multiple peaking can be explained by different physiological processes, in this case site-specific absorption has been suggested to be the major mechanism. In this webinar we explore this hypothesis by setting up a population PK modeling workflow with the MonolixSuite 2018.
The step-by-step workflow includes visualizing the data set to characterize the double peaks, setting up and estimating a double absorption model, assessing the uncertainty of the parameter estimates to avoid over-parameterization, and simulations of the model.