Package: campsismod 1.2.0

Nicolas Luyckx

campsismod: Generic Implementation of a PK/PD Model

A generic, easy-to-use and expandable implementation of a pharmacokinetic (PK) / pharmacodynamic (PD) model based on the S4 class system. This package allows the user to read/write a pharmacometric model from/to files and adapt it further on the fly in the R environment. For this purpose, this package provides an intuitive API to add, modify or delete equations, ordinary differential equations (ODE's), model parameters or compartment properties (like infusion duration or rate, bioavailability and initial values). Finally, this package also provides a useful export of the model for use with simulation packages 'rxode2' and 'mrgsolve'. This package is designed and intended to be used with package 'campsis', a PK/PD simulation platform built on top of 'rxode2' and 'mrgsolve'.

Authors:Nicolas Luyckx [aut, cre]

campsismod_1.2.0.tar.gz
campsismod_1.2.0.tar.gz(r-4.5-noble)campsismod_1.2.0.tar.gz(r-4.4-noble)
campsismod_1.2.0.tgz(r-4.4-emscripten)campsismod_1.2.0.tgz(r-4.3-emscripten)
campsismod.pdf |campsismod.html
campsismod/json (API)
NEWS

# Install 'campsismod' in R:
install.packages('campsismod', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/calvagone/campsismod/issues

Pkgdown site:https://calvagone.github.io

Datasets:

On CRAN:

Conda:

4.32 score 1 stars 1 packages 605 downloads 112 exports 31 dependencies

Last updated 1 months agofrom:b04ef1644e. Checks:3 OK. Indexed: no.

TargetResultLatest binary
Doc / VignettesOKMar 09 2025
R-4.5-linuxOKMar 09 2025
R-4.4-linuxOKMar 09 2025

Exports::=%>%addaddRSEaddSuffixallNaas.data.frameassertSingleCharacterStringautoDetectNONMEMAutoReplicationSettingsBioavailabilityCampsisModelCodeRecordsCommentCompartmentCompartmentscontainsdefaultdeletedisableEquationErrorRecordexportextractLhsextractRhsextractTextBetweenBracketsfindfixOmegagetByIndexgetByNamegetCompartmentIndexgetNamegetNameInModelgetNamesgetNONMEMNamegetOmegaBlockgetOmegaIndexesgetPrefixgetRecordDelimitergetRecordEquationNamesgetRecordNamegetUncertaintygetVarCovhasCommenthasOffDiagonalOmegasIfStatementindexOfInfusionDurationInfusionRateInitialConditionisCommentisDiagisEmptyLineisEquationisIfStatementisMatrixPositiveDefiniteisODEisRecordDelimiterisRxODEisStrictRecordDelimiterLagTimeLineBreakMainRecordManualReplicationSettingsmaxIndexminIndexModelStatementsmovemrgsolveBlockmrgsolveCapturemrgsolveCompartmentmrgsolveMainmrgsolveMatrixmrgsolveOdemrgsolveParammrgsolveTableOdeOdeRecordOmegaOmegaBlockOmegaBlocksParametersPatternPositionprocessExtraArgreadread.allparametersread.campsisread.modelread.parametersread.pmxmodread.varcovremoveNaColumnreplacereplaceAllreplicaterxodeCoderxodeMatrixrxodeParamsselectsetMinMaxshiftOmegaIndexesSigmasortstandardiseThetatoStringtrimUnknownStatementupdateCompartmentsVariablePatternwrite

Dependencies:assertthatbitbit64clicliprcpp11crayondplyrfansigenericsgluehmsLaplacesDemonlifecyclemagrittrMASSpillarpkgconfigprettyunitsprogresspurrrR6readrrlangtibbletidyselecttzdbutf8vctrsvroomwithr

Adapt your model

Rendered fromv03_model_adaptation.Rmdusingknitr::rmarkdownon Mar 09 2025.

Last update: 2024-11-26
Started: 2022-02-14

Adapt your parameters

Rendered fromv05_parameters.Rmdusingknitr::rmarkdownon Mar 09 2025.

Last update: 2022-06-17
Started: 2022-02-14

Append a model to another

Rendered fromv06_append_pd_model.Rmdusingknitr::rmarkdownon Mar 09 2025.

Last update: 2023-10-12
Started: 2022-02-14

Create a minimalist model

Rendered fromv01_model_creation.Rmdusingknitr::rmarkdownon Mar 09 2025.

Last update: 2024-11-26
Started: 2022-02-14

Get started with Campsis model

Rendered fromcampsismod.Rmdusingknitr::rmarkdownon Mar 09 2025.

Last update: 2024-11-26
Started: 2022-02-14

Insight on the structural model

Rendered fromv02_structural_model.Rmdusingknitr::rmarkdownon Mar 09 2025.

Last update: 2024-11-26
Started: 2022-02-14

Play with compartment properties

Rendered fromv04_compartment_properties.Rmdusingknitr::rmarkdownon Mar 09 2025.

Last update: 2024-11-26
Started: 2022-02-14

Readme and manuals

Help Manual

Help pageTopics
Add element to list.add add,campsis_model,campsis_model-method add,campsis_model,code_record-method add,campsis_model,compartment_property-method add,campsis_model,model_statement-method add,campsis_model,parameter-method add,code_record,code_record-method add,code_record,model_statement-method add,code_records,code_records-method add,code_records,model_statement-method add,compartments,compartments-method add,compartments,compartment_property-method add,omega_block,double_array_parameter-method add,omega_blocks,omega_block-method add,omega_blocks,parameters-method add,parameters,double_array_parameter-method add,parameters,parameters-method add,parameters,single_array_parameter-method add,pmx_list,list-method add,pmx_list,pmx_element-method add,pmx_list,pmx_list-method
Add relative standard error (RSE) to the specified parameter.addRSE addRSE,campsis_model,parameter,numeric-method addRSE,parameters,parameter,numeric-method
Generic function to add a suffix to various objects like parameters, code records, compartment names or a model (all previous objects at the same time). This makes it an extremely powerful function to combine 2 models or more (using function 'add'), that have similar equation, parameter or compartment names.addSuffix addSuffix,campsis_model,character,character-method addSuffix,code_record,character,character-method addSuffix,code_records,character,character-method addSuffix,compartments,character,character-method addSuffix,parameters,character,character-method
As data frame method.as.data.frame as.data.frame,omega,character,logical-method as.data.frame,sigma,character,logical-method as.data.frame,theta,character,logical-method
Assert the given character vector is a single character string.assertSingleCharacterString
Auto replication settings class.auto_replication_settings-class
Auto-detect special variables from NONMEM as compartment properties. Bioavailabilities, infusion durations/rates and lag times will be automatically detected.autoDetectNONMEM autoDetectNONMEM,campsis_model-method
Create auto replication settings.AutoReplicationSettings
Create a bioavailability for the specified compartment.Bioavailability
Campsis model class.campsis_model-class
Create a new Campsis model.CampsisModel
Code record class. See this code record as an abstract class. 2 implementations are possible: - properties record (lag, duration, rate & bioavailability properties) - statements record (main, ode & error records)code_record-class
Create a list of code records.CodeRecords
Create a new comment.Comment
Comment class. A statement starting with #.comment-class
Create a compartment.Compartment
Compartment bioavailability class.compartment_bioavailability-class
Compartment infusion duration class.compartment_infusion_duration-class
Compartment infusion rate class.compartment_infusion_rate-class
Compartment initial condition class.compartment_initial_condition-class
Compartment lag time class.compartment_lag_time-class
Compartment properties class.compartment_properties-class
Compartment property class.compartment_property-class
Compartment class.compartment-class
Create a list of compartmentsCompartments
Compartments class.compartments-class
Get default element from list.default
Delete an element from this list.delete delete,campsis_model,code_record-method delete,campsis_model,compartment_property-method delete,campsis_model,model_statement-method delete,campsis_model,parameter-method delete,code_records,model_statement-method delete,compartments,compartment_property-method delete,parameters,double_array_parameter-method delete,parameters,single_array_parameter-method delete,pmx_list,integer-method delete,pmx_list,pmx_element-method delete,statements_record,integer-method delete,statements_record,model_statement-method
Disable.disable disable,campsis_model,character-method disable,parameters,character-method
Double-array parameter class. This parameter has 2 indexes. It can thus be used to define correlations between parameters.double_array_parameter-class
(Infusion)-duration record class.duration_record-class
Create a new equation.Equation
Equation class. Any statement in the form A = B.equation-class
Error record class.error_record-class
Create ERROR code record.ErrorRecord
Export function.export export,campsis_model,character-method export,campsis_model,mrgsolve_type-method export,campsis_model,rxode_type-method export,replicated_campsis_model,campsis_model-method
Export type class.export_type-class
Extract left-hand-side expression.extractLhs
Extract right-hand-side expression.extractRhs
Extract text between brackets.extractTextBetweenBrackets
Bioavailability record class.f_record-class
Find an element in list.find find,campsis_model,code_record-method find,campsis_model,compartment-method find,campsis_model,compartment_property-method find,campsis_model,model_statement-method find,campsis_model,parameter-method find,code_records,model_statement-method find,compartments,compartment_property-method find,pmx_list,pmx_element-method find,statements_record,model_statement-method
Fix omega matrix for SAME OMEGA parameters that have NA values due to imperfections in Pharmpy import.fixOmega fixOmega,parameters-method
Get element by index.getByIndex getByIndex,compartment_properties,compartment_property-method getByIndex,parameters,parameter-method getByIndex,pmx_list,integer-method getByIndex,pmx_list,numeric-method
Get an element from a list by name. Never return more than 1 element.getByName getByName,pmx_list,character-method
Get the compartment index for the specified compartment name.getCompartmentIndex getCompartmentIndex,campsis_model,character-method getCompartmentIndex,compartments,character-method
Get element name.getName getName,comment-method getName,compartment-method getName,compartment_bioavailability-method getName,compartment_infusion_duration-method getName,compartment_infusion_rate-method getName,compartment_initial_condition-method getName,compartment_lag_time-method getName,duration_record-method getName,equation-method getName,error_record-method getName,f_record-method getName,if_statement-method getName,init_record-method getName,lag_record-method getName,line_break-method getName,main_record-method getName,ode-method getName,ode_record-method getName,omega-method getName,omega_block-method getName,rate_record-method getName,sigma-method getName,theta-method getName,unknown_statement-method
Get the name of the given parameter in the CAMPSIS model.getNameInModel getNameInModel,omega-method getNameInModel,sigma-method getNameInModel,theta-method
Get element names from list.getNames getNames,pmx_list-method
Get NONMEM name.getNONMEMName getNONMEMName,omega-method getNONMEMName,sigma-method getNONMEMName,theta-method
Get the right block of OMEGA's.getOmegaBlock getOmegaBlock,omega_blocks,double_array_parameter-method
Get the indexes of the omegas.getOmegaIndexes getOmegaIndexes,omega_block-method
Get prefix.getPrefix getPrefix,compartment_bioavailability-method getPrefix,compartment_infusion_duration-method getPrefix,compartment_infusion_rate-method getPrefix,compartment_initial_condition-method getPrefix,compartment_lag_time-method
Get record delimiter.getRecordDelimiter
Get record name.getRecordName getRecordName,compartment_bioavailability-method getRecordName,compartment_infusion_duration-method getRecordName,compartment_infusion_rate-method getRecordName,compartment_initial_condition-method getRecordName,compartment_lag_time-method
Get uncertainty on the parameters.getUncertainty getUncertainty,campsis_model-method getUncertainty,parameter-method getUncertainty,parameters-method
Get variance-covariance matrix.getVarCov getVarCov,campsis_model-method getVarCov,parameters-method
Check if string contains CAMPSIS-style comments.hasComment
Has off-diagonal omegas.hasOffDiagonalOmegas hasOffDiagonalOmegas,omega_block-method
If-statement class. Any statement in the form if (condition) A = B.if_statement-class
Create a new IF-statement.IfStatement
Get the index of an element in list.indexOf indexOf,pmx_list,pmx_element-method
Create an infusion duration.InfusionDuration
Create an infusion rate.InfusionRate
Init record class.init_record-class
Create an initial condition.InitialCondition
Check if string is a CAMPSIS comment (i.e. not an equation).isComment
Is diagonal.isDiag isDiag,double_array_parameter-method
Check if string is an empty line.isEmptyLine
Say if line in record is an equation not.isEquation
Say if line in record is an IF-statement.isIfStatement
Is matrix positive definite. Same check as 'mvtnorm' does.isMatrixPositiveDefinite
Say if line(s) in record is/are ODE or not.isODE
Is record delimiter. A record delimiter is any line starting with [...].isRecordDelimiter
Is strict record delimiter. A strict record delimiter is any line starting with [...] and followed by nothing but spaces or a possible comment.isStrictRecordDelimiter
Lag record class.lag_record-class
Create a lag time for the specified compartment.LagTime
Line-break class. A linebreak in the model.line_break-class
Create a new line break.LineBreak
Main record class.main_record-class
Create MAIN code record.MainRecord
Manual replication settings class.manual_replication_settings-class
Create manual replication settings.ManualReplicationSettings
Max index.maxIndex maxIndex,parameters-method
Min index.minIndex minIndex,parameters-method
Model statement class. Any statement in a code record.model_statement-class
Model statements class. A list of statements.model_statements-class
CAMPSIS model suite.model_suite
Create an empty list of model statements.ModelStatements
Move element 'x' from object to a certain place.move move,campsis_model,ANY,pmx_position-method move,code_records,code_record,pmx_position-method move,code_records,list,pmx_position-method move,code_records,model_statement,pmx_position-method move,code_records,model_statements,pmx_position-method
Mrgsolve export type class.mrgsolve_type-class
Convert code record for mrgsolve.mrgsolveBlock
Get the CAPTURE block for mrgsolve.mrgsolveCapture
Get the compartment block for mrgsolve.mrgsolveCompartment
Get the MAIN block for mrgsolve.mrgsolveMain
Get the OMEGA/SIGMA matrix for mrgsolve.mrgsolveMatrix
Get the ODE block for mrgsolve.mrgsolveOde
Get the parameters block for mrgsolve.mrgsolveParam
Get the TABLE block for mrgsolve.mrgsolveTable
Create a new ordinary differential equation (ODE).Ode
ODE record class.ode_record-class
ODE class. Any statement in the form d/dt(A_CMT) = B.ode-class
Create ODE code record.OdeRecord
Create an OMEGA parameter.Omega
Omega parameter class.omega-class
Create a block of OMEGA's.OmegaBlock
Create a list of OMEGA blocks.OmegaBlocks
Parameter class. Any parameter in a pharmacometric model.parameter-class
Create a list of parameters.Parameters
Parameters class.parameters-class
Parse IF-statement. Assumption: 'isIfStatement' method already called and returned TRUE.parseIfStatement
Parse statements code and return CAMPSIS statements.parseStatements
Create a pattern.Pattern
Pattern class.pattern-class
PMX element class.pmx_element-class
PMX position by element class.pmx_position_by_element-class
PMX position by index class.pmx_position_by_index-class
PMX position class.pmx_position-class
Element position in list.Position
Process extra arguments.processExtraArg
Properties record class.properties_record-class
(Infusion)-rate record class.rate_record-class
Generic read method to read data from a file or a folder.read
Read all parameters files at once.read.allparameters
Read a CAMPSIS model.read.campsis
Read model file.read.model
Read parameters file.read.parameters
Read variance-covariance file.read.varcov
Replace element by another in list.replace replace,campsis_model,code_record-method replace,campsis_model,compartment-method replace,campsis_model,compartment_property-method replace,campsis_model,model_statement-method replace,campsis_model,parameter-method replace,code_records,model_statement-method replace,compartments,compartment_property-method replace,parameters,double_array_parameter-method replace,parameters,single_array_parameter-method replace,pmx_list,list-method replace,pmx_list,pmx_element-method replace,pmx_list,pmx_list-method replace,statements_record,model_statement-method
Replace all occurrences in object.replaceAll replaceAll,campsis_model,character,character-method replaceAll,campsis_model,pattern,character-method replaceAll,character,pattern,character-method replaceAll,character,variable_pattern,character-method replaceAll,code_record,pattern,character-method replaceAll,code_records,pattern,character-method replaceAll,compartment_property,pattern,character-method replaceAll,equation,pattern,character-method replaceAll,if_statement,pattern,character-method replaceAll,model_statement,pattern,character-method
Replicate generic object.replicate replicate,campsis_model,integer,auto_replication_settings-method replicate,campsis_model,integer,manual_replication_settings-method
Replicated Campsis model class.replicated_campsis_model-class
Replication settings interface.replication_settings-class
RxODE/rxode2 export type class.rxode_type-class
Get code for rxode2rxodeCode
Get the OMEGA/SIGMA matrix for rxode2.rxodeMatrix
Get the parameters vector for rxode2.rxodeParams
Get a subset of an object.select select,compartment_properties-method select,data.frame-method select,parameters-method
Set the minimum and maximum value on a model parameter.setMinMax setMinMax,campsis_model,character,numeric,numeric-method setMinMax,campsis_model,parameter,numeric,numeric-method setMinMax,parameters,character,numeric,numeric-method setMinMax,parameters,parameter,numeric,numeric-method
Shift OMEGA indexes.shiftOmegaIndexes shiftOmegaIndexes,omega_block-method
Create a SIGMA parameter.Sigma
Sigma parameter class.sigma-class
Single-array parameter class. This parameter has a single index value.single_array_parameter-class
Sort the specified list.sort sort,campsis_model-method sort,code_records-method sort,compartments-method sort,compartment_properties-method sort,omega_blocks-method sort,parameters-method
Standardise.standardise standardise,campsis_model-method standardise,double_array_parameter-method standardise,parameters-method standardise,theta-method
Statements record class.statements_record-class
Create a THETA parameter.Theta
Theta parameter class.theta-class
ToString generic method.toString toString,comment-method toString,compartment-method toString,compartment_initial_condition-method toString,compartment_property-method toString,equation-method toString,if_statement-method toString,line_break-method toString,mrgsolve_model-method toString,ode-method toString,unknown_statement-method
Trim character vector. Remove all leading and trailing spaces.trim
Unknown statement class. Any statement not recognized by campsismod.unknown_statement-class
Create a new ordinary differential equation (ODE).UnknownStatement
Update compartments list from the persisted records. Exported especially for package 'campsistrans'. However, this method should not be called.updateCompartments
Variable pattern class.variable_pattern-class
Create a variable pattern.VariablePattern
Write generic object to files.write write,campsis_model,character-method write,code_records,character-method write,parameters,character-method
Write subset of parameters (theta, omega or sigma).writeParameters
Write variance-covariance matrix.writeVarcov