PFI M Po pED Des ign Tools - Society of Toxicology · PDF fileintended as the gold standard...
Transcript of PFI M Po pED Des ign Tools - Society of Toxicology · PDF fileintended as the gold standard...
On behalf of the DDMoRe consortium
PharmML—exchange format for models used in QSP and PMx
Maciej J Swat
EMBL-EBI
PharmML
PFIM PopEDOptimal Design Tools
MatlabR Simcyp SimulatorSimulx
Simulation (CTS) Tools
NONMEMEstimation Tools
winBUGSMonolix MatlabR
SO
Programming Languages FORTRAN
IMI/DDMoRe – brief introduction
Exchange standards & databases
•PharmML
•SO
•ProbOnto
Model repository
Conclusions
Outline
Introduction to DDMoRe
• The Drug Disease Model Resources (DDMoRe) consortium builds and maintains a universally applicable, open source, model based framework, intended as the gold standard for future collaborative drug and disease Modelling & Simulation.
• Before the DDMoRe consortium, a lack of common tools, languages and ontologies for Modelling and Simulation limited the access to stored information which created significant gaps in the way knowledge could be exploited within drug development.
• The DDMoRe consortium is generating a public drug and disease model repository as well as an open source interoperability framework containing standards and tools to cover the identified gaps in the Modelling and Simulation software ecosystem.
Introduction
DDMoRe – Time and Money
Timing:
• Starting Date: 01-03-2011
• Duration: 5 years (+6 months)
Financing:
• IMI funding: € 9 615 058
• Other contributions: € 1 729 833
• EFPIA in kind contribution: € 9 820 120
• ENSO funding € 1 580 737
• Total Project Cost: € 22 745 798
Key Objective – Interoperability
Introduction Source: NLME consortium, active until 2008
Key Objective – Interoperability – PharmML centered view
Introduction
PharmML
generator, e.g.
MDL-IDE or
infix2pharmml
PharmML
Monolix NONMEM
winBUGS, openBUGS
Matlab
R
Simulx
PFIM
PopED Simcyp Simulator
A long-standing problem in Pharmacometrics is the lack of a common standard allowing for exchangeability of models between existing software tools, such as Bugs, Monolix, NONMEM and others.
PharmML, Pharmacometrics Markup Language, as part of the DDMoRe interoperability platform, tries to fill this gap.
DDMoRe – Key products
Interoperability framework
Pharmacometric workflows
Public model repository (EBI)
Exchange Formats, e.g. PharmML, SO (EBI)
Modeling Language, MDL
API’s – e.g. libPharmML, libSO (EBI)
Annotation framework/Pharmacometrics related ontologies (EBI)
Tool connectors/Translators
• Estimation: Monolix, NONMEM, BUGS
• Simulation: simulx, Clinical Trial Simulator
• Optimal design: PFIM, PopED
• QSP, PBPK: Simcyp Simulator
• Multipurpose tools: MATLAB and toolboxes (Statistical TB, SBPOP, SimBiology), R and packages (nlme, nlmeODE, saemix) 7
Timeline
8
- Discrete data models (Count, Categorical, Time-To-Event) - DDEs - Matrices/Vectors
0.2.1 - 1st public
release
0.6 - 2nd public
release
M0
0.2
0.3.1
0.4
0.5
0.5.1
PK Macros
- External datasets - NONMEM file driven design - Lookup-tables & Interpolation
- Revised TrialDesign (CDISC) - UncertML - Extended residual error model
- Updated mapping rules - Dosing scaling
- Continuous data models - Variability, Covariate, Parameter, Structural, Observation Models - TrialDesign - Estimation/Simulation tasks
M12 M24 M36 M48 M60
March 2011
0.4.1
0.3
0.1
March 2012
March 2013
March 2014
March 2016
Minor changes
Minor changes
Minor changes
- Bayesian inference - Redesigned design (Optimal design)
March 2015
0.7-0.7.2
- Conditional statements - Nonparam distributions - Stats/Nary operators - Transition matrix
0.8
105 distr. 160 rels.
M66
August 2016
0.8.1
0.0.1
0.10.2
0.3
- Structure changes
- Optimal Design
- ML & MKS Proposals
- Six basic sections
0.3.1
- Mixture models - DE redesign - User-def trafos/distr - Autocorr residual errors
Minor changes
0.9
109 distr. 180 rels. New HFs/SFs
PharmML
SO
ProbOnto
Release legend
57 distr.
81 distr. >120 rels.
0.20.3 1.1 1.2
- Higher var levels
lines of documentation? change prononto 1.2 to 2.0
PharmML & SO – Big Picture
9
PharmML
Tools generating PharmML
(MDL-IDE or infix2pharmml)
SBML
PFIM PopEDOptimal Design Tools
MatlabR Simcyp SimulatorSimulx
Simulation (CTS) Tools
NONMEMEstimation Tools
winBUGSMonolix MatlabR
SO
Encoding of model, trial design and modelling tasks
Recording of results from various tasks
Programming Languages FORTRAN
10
Model Definition
Variability ModelParameter Variability
Residual VariabilityLevel
Parent Level
Parameter ModelStructured w.
Fixed/Random Effcts
Pair-wiseCorrelation Structure
General
Matrix
Individual
Population
Distribution
General
Distribution
Var
iability
Ref
eren
ce
Covariate Model
Observation Model
Continuous
Interpolation (cont)
TransformationCategorical/Continuous Distribution
Structural Model
Algebraic Eqs
ODE
DDE
Initial Condition
History
PK Macros
Discrete
Count
Categorical
Time-To-Event
PMF
Hazard/Survival Fct
Censoring
Assignment
Distribution
General
Standard Var
.Ref
.
PMF/Transition Matrix
Parameter
Trial Design
NONMEM/MONOLIX Dataset
Mapping/Transformation
Column/Target/Category
AdministrationsBolus
Infusion
Washout
InterventionsVariable Reset
Actions
Interventions-Combinations
Individual Administrations
Dosing Time
Dose Amount
Lookup Table
Continuous Discrete
Observations
Observations Combinations
Observation
Indiv. Observations
CovariatesCovariate Model
Indiv. Covariates
Occasions Start/End Points
Arms
Design Spaces
ArmSize, DoseAmount/Times, Duration, Stage,
NumberArms/Samples/Times, ObsTimes, RefsReference to any design element with space
definition
Lookup Table
EXPL
ICIT
TRIA
L DESI
GN
Modelling Steps
Software Settings
Estimation StepParameter Estimation
Algorithm
PropertyOperation
Intitial Estimate
Lower/Upper Bound
Design Evaluation
FIM
Optimize On
Method
CostDesign Optimisation Prior Information
Compute
Simulation StepObservations
Dataset/Observation Reference
Model
Task
Design
PharmML is about …
11
Scope of PharmML
A structural model defined as a system of ordinary differential equation (ODE) and/or algebraic equations, delay differential equations (DDE).
PK macros allowing for encoding of compartmental models without equations.
A flexible parameter model allowing for implementation of virtually any parameter type used in the majority of models.
Discrete or continuous covariates (interpolation, distribution, transformation).
A nested hierarchical variability model capable of expressing very complex random error structures.
An observation model with flexible residual error model supporting untransformed or transformed data.
Discrete data models (count, categorical, time-to-event data models).
Trial design model allowing for definition of many common design and drug administration types and encoding of experimental data needed for typical simulation or estimation tasks, such as dosing, observations and covariates
Optimal Experimental Design extends trial design with design spaces on any model element
Typical modeling steps such as estimation, simulation, design optimization/evaluation.
Standard Output – SO (now developed as separate format)
Hierarchical Models/Bayesian Inference via assignment of distributions to any model parameter
PharmML can handle single subject and population data
Individual data Multiple subject data
12
PharmML is based on well-defined mathematical formalism
13
Working with PharmML – step 1: dependent on data, implement model
14
DATA TYPE
Structural Model
Observation Model
Count DataObservation
Model
Parameter Model
Variability Model
Covariate Model
Residual ErrorCategorical
Data
TTE Data
DISCRETECONTINUOUS
Variability Model
Covariate Model
Parameter Model
Start
TASK
SimulationEstimation
Covariates
Interventions
TRIAL DESIGN
EXPLICIT
TRIAL DESIGN
DESIGN IN
A DATASET
Covariates,
Dosing records,
Observation records
Treatments,
Actions
DS
<TrialDesign>
<ModellingSteps>
Structural Model
Observations
Optimal Design
Design Spaces
Occasions
Arms
DS
DS
DS
<ModelDefinition>
Mapping to model
elements
Dataset
Monolix/NONMEM
Mapping to model
elementsModel
Definition
Variability ModelParameter Variability
Residual VariabilityLevel
Parent Level
Parameter ModelStructured w.
Fixed/Random Effcts
Pair-wiseCorrelation Structure
General
Matrix
Individual
Population
Distribution
General
Distribution
Var
iability
Ref
eren
ce
Covariate Model
Observation Model
Continuous
Interpolation (cont)
TransformationCategorical/Continuous Distribution
Structural Model
Algebraic Eqs
ODE
DDE
Initial Condition
History
PK Macros
Discrete
Count
Categorical
Time-To-Event
PMF
Hazard/Survival Fct
Censoring
Assignment
Distribution
General
Standard Var
.Ref
.
PMF/Transition Matrix
Parameter
15
Mathematical formalism 1 – standard continuous/discrete models
Distribution
Transformation
Interpolation
New covariate
Structured Type
Distribution Type
Equation Type
ODE
Algebraic Eq.
PK macros
Structured Type
Distribution Type
Equation Type
ObservationModel
ContinuousData
CountData
CategoricalData
TimeToEventData
StructuralModel ParameterModel
CovariateModel VariabilityModel
- Parameter related variability
- Residual error related variability
Usually
i.e. drug concentration as predicted by the structural model
Hierarchical structures for
16
Mathematical formalism 2 – structural/parameter/covariate/variability models
Distribution
Transformation
Interpolation
New covariate
Structured Type
Distribution Type
Equation Type
ODE
Algebraic Eq.
PK macros
Structured Type
Distribution Type
Equation Type
ObservationModel
ContinuousData
CountData
CategoricalData
TimeToEventData
StructuralModel ParameterModel
CovariateModel VariabilityModel
- Parameter related variability
- Residual error related variability
Usually
i.e. drug concentration as predicted by the structural model
Hierarchical structures for
17
PharmML coded example
The first three layers of the PharmML hierarchical structure are shown: (a) The root level ‘PharmML’, (b) the second level with ‘ModelDefinition’, ‘TrialDesign’ and ‘ModellingSteps’, and (c) the third level within ‘ModelDefinition’ and ‘TrialDesign’.
Zoom
in on
PharmML
18
PharmML coded example
PharmML
Zoom
in on
The first three layers of the PharmML hierarchical structure are shown: (a) The root level ‘PharmML’, (b) the second level with ‘ModelDefinition’, ‘TrialDesign’ and ‘ModellingSteps’, and (c) the third level within ‘ModelDefinition’ and ‘TrialDesign’.
19
PharmML example – Parameter Model
The first three layers of the PharmML hierarchical structure are shown: (a) The root level ‘PharmML’, (b) the second level with ‘ModelDefinition’, ‘TrialDesign’ and ‘ModellingSteps’, and (c) the third level within ‘ModelDefinition’ and ‘TrialDesign’.
PharmML
Log-normally distributed parameter
or in another representation as
Working with PharmML – step 2: define design or load dataset
20
DATA TYPE
Structural Model
Observation Model
Count DataObservation
Model
Parameter Model
Variability Model
Covariate Model
Residual ErrorCategorical
Data
TTE Data
DISCRETECONTINUOUS
Variability Model
Covariate Model
Parameter Model
Start
TASK
SimulationEstimation
Covariates
Interventions
TRIAL DESIGN
EXPLICIT
TRIAL DESIGN
DESIGN IN
A DATASET
Covariates,
Dosing records,
Observation records
Treatments,
Actions
DS
<TrialDesign>
<ModellingSteps>
Structural Model
Observations
Optimal Design
Design Spaces
Occasions
Arms
DS
DS
DS
<ModelDefinition>
Mapping to model
elements
Dataset
Monolix/NONMEM
Mapping to model
elements
Trial Design
NONMEM/MONOLIX Dataset
Mapping/Transformation
Column/Target/Category
AdministrationsBolus
Infusion
Washout
InterventionsVariable Reset
Actions
Interventions-Combinations
Individual Administrations
Dosing Time
Dose Amount
Lookup Table
Continuous Discrete
Observations
Observations Combinations
Observation
Indiv. Observations
CovariatesCovariate Model
Indiv. Covariates
Occasions Start/End Points
Arms
Design Spaces
ArmSize, DoseAmount/Times, Duration, Stage,
NumberArms/Samples/Times, ObsTimes, RefsReference to any design element with space
definition
Lookup Table
EXPL
ICIT
TRIA
L DESI
GN
Working with PharmML – step 3: define modelling step
21
SoftwareSettings
OutputFile
TargetToolReference
OP
TIO
NA
L
TASK
SimulationEstimation
<ModellingSteps>
Optimal Design
ParametersToEstimate
Operation
ParametersToEstimate
OptimiseOn
FIM
Method
Cost
PriorInformation
Compute
OP
TIO
NA
L
ExternalDataSetRef
InterventionsRef
ObservationsRef
VariableAssignment
OP
TIO
NA
L
Modelling Steps
Software Settings
Estimation StepParameter Estimation
Algorithm
PropertyOperation
Intitial Estimate
Lower/Upper Bound
Design Evaluation
FIM
Optimize On
Method
CostDesign Optimisation Prior Information
Compute
Simulation StepObservations
Dataset/Observation Reference
22
Selected models 1
A pharmacodynamic model for a combined effect, E, a function of two
drug doses, d1 and d2, which does not have a closed form.
Count data models Drug-drug interaction models – ‘open’ form models
Markov models
23
Selected models 2 – (pregnant) woman PBPK model
Woman model implemented
already in PharmML
Bois et al.
<PharmML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.pharmml.org/pharmml/0.8/PharmML" xsi:schemaLocation="http://www.pharmml.org/pharmml/0.8/PharmML <!-- Namespaces and declarations omitted --> implementedBy="JamesBond" writtenVersion="0.8.1"> <ct:Name>Schematic representation of model structure</ct:Name> <ct:Description>Additional comments/description if required.</ct:Description> <IndependentVariable symbId="t"/> <ct:FunctionDefinition symbId="MyErrorModel"> ... </ct:FunctionDefinition> <ModelDefinition xmlns="http://www.pharmml.org/pharmml/0.8/ModelDefinition"> <VariabilityModel blkId="vm1" type="parameterVariability"> ... </VariabilityModel> <VariabilityModel blkId="vm2" type="residualError"> ... </VariabilityModel> <CovariateModel blkId="cm1"> <Covariate symbId="C1"> <Continuous> ... </Continuous> </Covariate> <Covariate symbId="C2"> <Categorical> ... </Categorical> </Covariate> </CovariateModel> <ParameterModel blkId="pm1"> <PopulationParameter symbId="pop_Psi"/> <RandomVariable symbId="eta_Psi"> <ct:VariabilityReference> <ct:SymbRef blkIdRef="vm1" symbIdRef="..."/> </ct:VariabilityReference> ... <Distribution> <po:ProbOnto name="DistributionCodeName"> ... </po:ProbOnto> </Distribution> </RandomVariable> <IndividualParameter symbId="Psi"> ... <RandomEffects> <ct:SymbRef symbIdRef="eta_Psi"/> </RandomEffects> </IndividualParameter> <Correlation> ... </Correlation> </ParameterModel> <StructuralModel blkId="sm1"> <ct:Variable symbId="f1"> ... </ct:Variable> <ct:DerivativeVariable symbId="f2"> ... </ct:DerivativeVariable> </StructuralModel> <ObservationModel blkId="om1"> <ContinuousData> <RandomVariable symbId="epsilon_Y"> <ct:VariabilityReference> <ct:SymbRef blkIdRef="vm2" symbIdRef="..."/> </ct:VariabilityReference> ... </RandomVariable> <Standard symbId="Y"> <Output> <ct:SymbRef blkIdRef="sm1" symbIdRef="f1"/> </Output> <ErrorModel> ... </ErrorModel> <ResidualError> <ct:SymbRef symbIdRef="epsilon_Y"/> </ResidualError> </Standard> </ContinuousData> </ObservationModel> </ModelDefinition>
<TrialDesign xmlns="http://www.pharmml.org/pharmml/0.8/TrialDesign"> <ExternalDataSet toolName="yourToolName" oid="someOid"> <ColumnMapping> <ds:ColumnRef columnIdRef="COL1"/> <ct:SymbRef blkIdRef="blockId" symbIdRef="symbolID"/> </ColumnMapping> <ds:DataSet> <ds:Definition> <ds:Column columnId="COL1" columnType="..." columnNum="1"/> <!-- columns omitted --> </ds:Definition> <ds:ExternalFile oid="dataOid"> <ds:path>fileName.csv</ds:path> </ds:ExternalFile> </ds:DataSet> </ExternalDataSet> <Interventions> <Administration oid="adminOid"> ... </Administration> </Interventions> <Observations> <Observation oid="obsOIS"> <ObservationTimes> ... </ObservationTimes> <Continuous> <ct:SymbRef blkIdRef="om1" symbIdRef="Y"/> </Continuous> </Observation> </Observations> <Covariates> <CovariateModel oid="covOID"> ... </CovariateModel> <IndividualCovariates> ... </IndividualCovariates> </Covariates> <Occasions> <OccasionList oid="occOID"> ... </OccasionList> </Occasions> <DesignSpaces> <DesignSpace> ... </DesignSpace> </DesignSpaces> <Arms> <Arm oid="armOID"> <InterventionSequence> ... </InterventionSequence> <ObservationSequence> ... </ObservationSequence> </Arm> </Arms> </TrialDesign> <ModellingSteps xmlns="http://www.pharmml.org/pharmml/0.8/ModellingSteps"> <EstimationStep oid="estimStep"> <ExternalDataSetReference> <ct:OidRef oidRef="someOid"/> </ExternalDataSetReference> <ParametersToEstimate> <ParameterEstimation> <ct:SymbRef blkIdRef="blockId" symbIdRef="symbId"/> <InitialEstimate fixed="false"> ... </InitialEstimate> </ParameterEstimation> </ParametersToEstimate> <Operation order="1" opType="operationType1"> <Property name="property1"> <ct:Assign> ... </ct:Assign> </Property> ... </Operation> </EstimationStep> </ModellingSteps> </PharmML>
M O D E L D E F I N I T I O N
T R I A L D E S I G N
M O D E L L I N G
S T E P S
Variability Model
Covariate Model
Parameter Model
Structured Model
Observational Model
Dataset sourced
Explicitly coded
e.g. Estimation
<IndependentVariable symbId="t"/> <ModelDefinition> <VariabilityModel blkId="vm1" type="parameterVariability"> <Level symbId="indiv"/> </VariabilityModel> <VariabilityModel blkId="vm2" type="residualError"> <Level symbId="residual"/> </VariabilityModel> <CovariateModel blkId="cm3"> <Covariate symbId="WT"> <Continuous> <Transformation> <TransformedCovariate symbId="tW"/> <!-- covariate transformation --> </Transformation> </Continuous> </Covariate> <Covariate symbId="Sex"> <Categorical> <Category catId="F"/> <Category catId="M"/> </Categorical> </Covariate> </CovariateModel> <StructuralModel blkId="sm1"> <ct:DerivativeVariable symbId="Ad"> <ct:Assign> <!-- RHS of an ODE --> </ct:Assign> </ct:DerivativeVariable> </StructuralModel> <ObservationModel blkId="om1"> <ContinuousData> <Standard symbId="Y_obs"> <!-- RHS of an observation model --> </Standard> </ContinuousData> </ObservationModel> </ModelDefinition>
<TrialDesign> <ExternalDataSet toolName="NONMEM" oid="NMoid”> <ColumnMapping> <ds:ColumnRef columnIdRef="TIME"/> <ct:SymbRef symbIdRef="t"/> </ColumnMapping> <ColumnMapping> <ds:ColumnRef columnIdRef="ID"/> <ct:SymbRef blkIdRef="vm1" symbIdRef="indiv"/> </ColumnMapping> <ColumnMapping> <ds:ColumnRef columnIdRef="WT"/> <ct:SymbRef blkIdRef="cm1" symbIdRef="W"/> </ColumnMapping> <ColumnMapping> <ds:ColumnRef columnIdRef="SEX"/> <ct:SymbRef blkIdRef="cm1" symbIdRef="Sex"/> <ds:CategoryMapping> <ds:Map dataSymbol="0" modelSymbol="M"/> <ds:Map dataSymbol="1" modelSymbol="F"/> </ds:CategoryMapping> </ColumnMapping> <ColumnMapping> <ds:ColumnRef columnIdRef="AMT"/> <ct:SymbRef blkIdRef="sm1" symbIdRef="Ad"/> </ColumnMapping> <ColumnMapping> <ds:ColumnRef columnIdRef="Y"/> <ct:SymbRef blkIdRef="om1" symbIdRef="Y_obs"/> </ColumnMapping> <ds:DataSet> </ds:DataSet> </ExternalDataSet> </TrialDesign>
Y
1 1 1 ... 2 2 2 ...
0 10 20 ... 0 12 21 ...
0 1.5 6.8 ... 0 2
5.9 ...
65 65 65 ... 72 72 72 ...
100 . . ...
100 . . ...
TIMEID WT AMT
1 1 1 ... 0 0 0 ...
SEX
M O D E L D E F I N I T I O N
T R I A L D E S I G N
Model – data mapping
SBML in DDMoRe environment
PharmML
Tools generating PharmML
(MDL-IDE or infix2pharmml)
SBML
PFIM PopED
OED Tools
MatlabR Simcyp SimulatorSimulx
Simulation (CTS) Tools
NONMEM
Estimation Tools
winBUGSMonolix MatlabR
SO
Encoding of model, trial design and modelling tasks
Recording of results from various tasks
Interoperability in SB/QSP and PMX ca. 1 year ago
Interoperability in Systems Biology
SBtoolbox2
SBML
PySCeS
SBW
CellDesigner
Copasi
and >200(!) other tools
AMIGO Toolbox
BioModels Database
Interoperability in Pharmacometrics
PharmML
NONMEM
simulx
PopED
PFIM
MATLAB
MONOLIX
R
WinBUGS
SIMCYP Simulator
Selected SBML compatible software tools Current DDMoRe target tools
Where PharmML and SBML overlap
Model Definition
Variability ModelParameter Variability
Residual VariabilityLevel
Parent Level
Parameter ModelStructured w.
Fixed/Random Effcts
Pair-wiseCorrelation Structure
General
Matrix
Individual
Population
Distribution
General
Distribution
Var
iability
Ref
eren
ce
Covariate Model
Observation Model
Continuous
Interpolation (cont)
TransformationCategorical/Continuous Distribution
Structural Model
Algebraic Eqs
ODE
DDE
Initial Condition
History
PK Macros
Discrete
Count
Categorical
Time-To-Event
PMF
Hazard/Survival Fct
Censoring
Assignment
Distribution
General
Standard Var
.Ref
.
PMF/Transition Matrix
Parameter
SBML
model
Modelling Steps
Estimation Step
Design Evaluation
Design Optimisation
Simulation Step
Model Definition
Variability Model
Parameter Model
Covariate Model
Observation Model
Structural Model
Design Spaces
Trial Design
NONMEM/MONOLIX Dataset
Interventions
Observations
Covariates
Occasions
ArmsEXPL
ICIT
TRIA
L DESIG
N
DDMoRe (Cyprotex & SBML) provides bi-directional
translator between PharmML and SBML
Structure of PharmML:
model definition, trial design
and modelling steps
Interoperability in SB/QSP and PMX today
Interoperability in Systems Biology
SBtoolbox2
SBML
PySCeS
SBW
CellDesigner
Copasi
and >200(!) other tools
AMIGO Toolbox
BioModels Database
Interoperability in Pharmacometrics
PharmML
NONMEM
simulx
PopED
PFIM
MATLAB
MONOLIX
R
WinBUGS
SIMCYP Simulator
Selected SBML compatible software tools Current DDMoRe target tools
DDMoRe
Bi-directional
converter
SB – QSP – PMX: data types and objectives
Thanks to the available converters between SBML and PharmML, these two
exchange formats have the potential to cover the entire spectrum of M&S in
Systems Biology, Quantitative Systems Pharmacology and Pharmacometrics.
On behalf of the DDMoRe consortium
SO – Standard Output PharmML
PFIM PopEDOptimal Design Tools
MatlabR Simcyp SimulatorSimulx
Simulation (CTS) Tools
NONMEMEstimation Tools
winBUGSMonolix MatlabR
SO
Programming Languages FORTRAN
SO - storing and retrieving typical M&S results
The Standard Output (SO) represents a tool-independent format for storing typical output produced in a pharmacometric workflow. It aims at:
providing a flexible storage structure for typical results of M&S analyses performed in any DDMoRe target tool;
enabling effective data flow across tasks to ensure optimal interactions among software tools and, then, extend the modeling capabilities of the workflow;
facilitating information retrieval for post-processing and reporting, by allowing immediate access to M&S results.
32
SO structure (latest spec…)
33
Raw ResultsDataFile
GraphicsFile
Tool Settings
Task Information
NumberChains
OutputFilePath
NumberIterations
RunTime
Severity
Content
Name
ToolName
Message
Diagnostic IndividualParams
Diagnostic StructuralModel
Model Diagnostic
IndivObsPredict
VPC
RandomEffects
RelationIndiv ParamsCovariates
PDFIndivParams
Optimal Design
Design
FIM
CovarianceMatrix
SimulatedData
ParamPrecision
Tests
Criteria
Op
tim
alD
esig
nB
lock
Individual Estimates
EtaShrinkage
RandomEffects
EffectMeang
EffectMedian
EffectMode
Estimates
Mean
Median
Mode
AsymptoticCI
RelatStandardError
StandardError
PercentilesCI
PosteriorDistribution
CovarianceMatrix
CorrelationMatrix
ConditionNumber
StandardError
StandardDeviation
AsymptoticCIEstimation
Population Estimates
OtherMethod
MLE
Median
Mean
OFMeasures
Deviance
IndivContribToLL
Information Criteria
AIC
BIC
DIC
LogLikelihood
Predictions
ResidualsEpsShrinkage
ResidualTable
Precision Population Estimates
MLE
Bayesian
OtherMethod
FIM
CovarianceMatrix
CorrelationMatrix
PercentilesCI
PosteriorDistrib
StandDevPosterior
BayesianPosteriorMedian
PosteriorMean
Precision Individual Estimates
StandardDeviation
EstimatesDistrib
PercentilesCI
Likelihood
ToolObjFunction
Simulations
SimulatedProfiles
RandomEffects
IndivParameters
Population Parameters
RawResultsFile
Dosing
Covariates
Sim
ula
tio
nB
lock
Regressors
Standard Output (SO) – Structure
34
<?xml version="1.0" encoding="UTF-8"?> <SO xmlns="http://www.pharmml.org/so/0.3/StandardisedOutput" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.pharmml.org/pharmml/0.8/Dataset" xmlns:ct="http://www.pharmml.org/pharmml/0.8/CommonTypes" xmlns:po="http://www.pharmml.org/probonto/ProbOnto" xsi:schemaLocation="http://www.pharmml.org/so/0.3/StandardisedOutput http://www.pharmml.org/so/0.3/StandardisedOutput" implementedBy="MJS" writtenVersion="0.3.1" metadataFile="warfarin_PK_ODE_SO_FULL.rdf" id="i1"> <PharmMLRef name="warfarin_PK_ODE.xml"/> <SOBlock blkId="SO1"> <ToolSettings>...</ToolSettings> <RawResults>...</RawResults> <TaskInformation>...</TaskInformation> <Estimation> <PopulationEstimates>...</PopulationEstimates> <PrecisionPopulationEstimates>...</PrecisionPopulationEstimates> <IndividualEstimates>...</IndividualEstimates> <PrecisionIndividualEstimates>...</PrecisionIndividualEstimates> <Residuals>...</Residuals> <Predictions>...</Predictions> <OFMeasures>...</OFMeasures> </Estimation> <ModelDiagnostic> <DiagnosticStructuralModel>...</DiagnosticStructuralModel> <DiagnosticIndividualParams>...</DiagnosticIndividualParams> </ModelDiagnostic>
<Simulation> <SimulationBlock replicate="1"> <SimulatedProfiles extFileNo="1">...</SimulatedProfiles> <IndivParameters>...</IndivParameters> <RandomEffects>...</RandomEffects> <Covariates>...</Covariates> <Regressors>...</Regressors> <PopulationParameters>...</PopulationParameters> <Dosing>...</Dosing> <RawResultsFile oid="rawR">...</RawResultsFile> </SimulationBlock> <!-- <SimulationBlock replicate="2"> ... </SimulationBlock>--> </Simulation> <OptimalDesign type="evaluation"> <OptimalDesignBlock blockNumber="1"> <FIM>...</FIM> <CovarianceMatrix>...</CovarianceMatrix> <ParameterPrecision>...</ParameterPrecision> <Criteria>...</Criteria> <Tests>...</Tests> <SimulatedData oid="SimDataOid">...</SimulatedData> <Design oid="desingOid">...</Design> </OptimalDesignBlock> <!-- <OptimalDesignBlock blockNumber="2"> ... </OptimalDesignBlock>--> </OptimalDesign> </SOBlock> <!-- more blocks if required --> </SO>
Tool settings
Raw results
Task information
Estimation
Model diagnostic
Simulation
Optimal design
Estimation section
35
This section is designed to store typical output of interest resulting from an estimation task.
It is organized into seven main SO elements:
Population Estimates
Precision of Population Estimates
Individual Estimates
Precision of Individual Estimates
Residuals
Predictions
Likelihood
Some of these elements are in turn composed of child and grandchild elements to allow the separation among different estimation techniques (e.g., MLE, Bayesian, Bootstrap).
Population estimates
36
<PopulationEstimates> stores the population parameter estimates obtained from MLE or Bayesian estimation as well as Bootstrap.
ProbOnto Ontology and Knowledge Base of Probability Distributions
BUGS
Monolix
STAN
BER1
BER2BBIN1
BIN1
BIN2
CATO1
CATU1
CMP1
DP1
GNB1
GP2
GP3
GEOM1
HGEOM1
IB1
NB1
NB2
NB3
NB4
NB5
NB6
OL1
POI1
POI2
UD1
UD2
ZINB1
ZIGP1
ZIP1
B1
BS1
BUR1
CAU1
CHIS1
ERL1
EXP1EXP2
EMG1
F1
FR1
FR2
GAM1
GAM2
GP1
GOM1
GUM1
HN1
HS1
IGAM1
IGAU1
LAP1
LAP2
LOGITN1LOGL1
LOGL2
LOGN1LOGN2
LOGN3
LOGN4
LOGN5
LOGN6
LOGU1
LOM1
NAK1
N1
N2
N3
NIG1
PARI1
PARII1
RAY1
RIC1
SICS1
SKN1
SN1
SU1
ST1
ST2TR1
TRU1
TN1
U1
VM1
WB1
WB2
WDM1
NONMEM
ProbOntoISF
Z(a)
CHF
H(x)
SF
S(x)HF
h(x)PPF
G(a)
CDF
F(x)PDF
f(x)
URL: probonto.org
Re-parameterization relationships
38 Figure: Re-parameterization relationships implemented in ProbOnto and
their support in target languages/tools.
Interoperability background: various tools support different parameterisations, e.g. log-normal distribution
When moving model from tool to tool
–> re-parameterisation is needed
ProbOnto stores the formulas
ISF
Z(a)
CHF
H(x)
SF
S(x)HF
h(x)PPF
G(a)
CDF
F(x)PDF
f(x)
LogNormal5
( , )
LogNormal4
LogNormal6
LogNormal1
LogNormal2
LogNormal3 v( , )
( , )
cv m( , )
g m( , )
m( , )
PML
PML
PML
LogNormal7
( , )N N
MDL
MDL
MDL
MDL
MDL
LN1…LN7 re-parameterisations
39
ISF
Z(a)
CHF
H(x)
SF
S(x)HF
h(x)PPF
G(a)
CDF
F(x)PDF
f(x)
screenshots from the ProbOnto 2.0 specification
ProbOnto – coverage of univariates
17 distributions with alternative parameterisations
ISF
Z(a)
CHF
H(x)
SF
S(x)HF
h(x)PPF
G(a)
CDF
F(x)PDF
f(x)
Application of ProbOnto in PharmML
41 PMF implemented explicitly –> error prone process and limited interoperability
PMF implemented using ProbOnto –> full interoperability by using the code names of the distribution and its parameters
ISF
Z(a)
CHF
H(x)
SF
S(x)HF
h(x)PPF
G(a)
CDF
F(x)PDF
f(x)
Problem description:
Count data models require the specification of
the according PMF (probability mass function),
here e.g. for the Zero-inflated Poisson
How to write PharmML
PharmML
generator, e.g.
MDL-IDE or
infix2pharmml
PharmML
Monolix NONMEM
winBUGS, openBUGS
Matlab
R
Simulx
PFIM
PopED Simcyp Simulator
Two option for now
MDL-IDE – new human readable and writable language
Infix2pharmml – online converter translating expressions from the usual mathematical infix notation into the corresponding PharmML markup
http://infix2pharmml.sourceforge.net
43
Modelling Description Language Structure
44
Objects
Object Group
Language MDL
MCL Modelling Object Group
Model Parameter Data Design Task Properties
MOG
TEL Task Object Group
TEL
functions R code
The MDL is divided into two language components:
• Model Coding Language (MCL) describes the input needed for a modelling task and will constitute the Modelling Object Group (MOG)
• Task Execution Language (TEL) Task Object Group is an R script comprising R code (e.g. prepare data, plot model diagnostics etc.) and TEL functions to execute tasks e.g. estimate and extract MCL items for manipulation e.g. initial values, MLE estimates.
MCL – Warfarin Pop PK
45
Key idea: Interoperability
• Automated translation to NMTRAN, MLXTRAN
MCL Editor: Syntax highlighting
Scope for multiple levels of hierarchy
Explicit definition of random effect distributions
Explicitly linear relationship between population, fixed effect and random effect model
• Facilitates interoperability with Monolix
• MU referencing in NONMEM
combinedError residual model
Infix2pharmml
DDMoRe Model Repository
47
DDMoRe Model Repository
Public open-source collaborative model development platform available at http://repository.ddmore.eu/
Stores and disseminates models encoded in open formats (e.g. PharmML)
Facilitates reuse of models
Private models can be shared with individual collaborators or whole teams; choice of read-only and editing rights that a collaborator can be granted
Allows models to be updated while preserving the development history
Provides basic means of browsing and searching the existing content
48
DDMoRe Model Repository
Conclusions
PharmML and SO cover both model definition and tool output and have the potential to improve the way pharmacometricians work today by
• Facilitating smooth and lossless transmission of models between tools.
• Enabling complex workflows based on standardised model and output definition.
• Improving reproducibility of research.
• Easier reporting and bug tracking.
• Interaction with regulatory agencies.
• Facilitating the use of existing models, see e.g. BioModels database of computational models of biological processes (SBML).
• Standards stimulate development of new tools and methods.
ProbOnto
• Facilitates encoding, exchange and annotation of NLME models
Future directions
PharmML
Monolix
NONMEMwinBUGS
Matlab
R
Simulx
PFIM
PopEDSimcyp Simulator
FORTRAN
Berkeley Madonna
DDMoRe foundation – post August 2016
• keeping products updated
• developing further the software infrastructure
Write your own translator for Berkeley Madonna or acslX or hire an expert
What makes a standard a standard?
https://twitter.com/chronaki/status/742625753225940993
Found on Twitter:
SO Nadia Terranova, Marc Lavielle, Mike K Smith, Emmanuelle
Comets, Kajsa Harling, Rikard Nordgren, Duncan Edwards, Andrew Hooker, Celine Sarr, France Mentre, Florent Yvon, Maciej J Swat
53
PharmML
ProbOnto
Swat MJ, S Moodie, SM Wimalaratne, NR Kristensen, M Lavielle, A Mari, P Magni, MK Smith, R Bizzotto, L Pasotti, E Mezzalana, E Comets, C Sarr, N Terranova, E Blaudez, P Chan, J Chard, K Chatel, M Chenel, D Edwards, C Franklin, T Giorgino, M Glont, P Girard, P Grenon, K Harling, AC Hooker, R Kaye, R Keizer, C Kloft, JN Kok, N Kokash, C Laibe, C Laveille, G Lestini, F Mentre, A Munafo, R Nordgren, HB Nyberg, ZP Parra-Guillen, E Plan, B Ribba, G Smith, IF Troconiz, F Yvon, PA Milligan, L Harnisch, M Karlsson, H Hermjakob and N Le Novère
Maciej J Swat, Pierre Grenon, Sarala M Wimalaratne
Contributions
RawResults
TollSettings
Task Information
EstimationModel Diagnostic
Simulations
Optimal Design
Modelling Steps
Estimation Step
Design Evaluation
Design Optimisation
Simulation Step
Model Definition
Variability Model
Parameter Model
Covariate Model
Observation Model
Structural Model
Design Spaces
Trial Design
NONMEM/MONOLIX Dataset
Interventions
Observations
Covariates
Occasions
ArmsEXPL
ICIT
TRIA
L DESIG
N
54
Partners