in this tool , the user simply inputs : ( i ) the model equations ; ( ii ) the model parameters ; and ( iii ) the nonmem - like dataset with observations , and matvpc outputs vpcs , qvpcs , or monte carlo simulation plots at will .
the inputted model parameters here include macrokinetic or microkinetic constants , initial conditions of ordinary differential equations ( odes ) and variability terms ; matvpc allows for implementing both interindividual variability and ruv , which can be in the form of proportional , additive , or combined error .
the dataset should be provided in a comma - separated values format including , at a minimum , the following headers in no particular order and in a case - insensitive manner : ( i ) time ; ( ii ) i d ; ( iii ) cmt ; ( iv ) dv ( nonexistent dvs should be represented by a dot ) ; ( v ) evid ; ( vi ) amt ; and ( vii ) rate ( only in the case of intravenous infusion dosing ) .
once the user provides the aforementioned information , they must insert in the command line : ( i ) the name of the dataset ; and ( ii ) the stratification variables , if any , as follows : matvpc (  dataset.csv , {  stratification1 ,  stratification2 } ) .
common stratification variables include but are not limited to arms of a trial ( placebo and active control ) , routes of administration , dose intervals , and , generally , covariates affecting any model parameters.1 at present , matvpc accepts up to two stratification variables , whereas compartment is a default stratification variable and matvpc will always stratify on it .
it should be highlighted that matvpc treats each ode as a  compartment ,  however , it only constructs vpc plots for the compartments with available observations .
once the information ( i ) and ( ii ) is provided , the user is asked ( iii ) to input the name of the model , which can be any alphanumeric value ( e.g. , model1 ) ; and ( iv ) to state whether they want to run simulations and construct vpcs or to simply construct vpcs using previously saved simulation results .
please note that the former option requires the user to simply provide a desired name for the model , unlike the matlab file odes , wherein the user provides the model equations .
option 4 is expected to be useful in cases where simulations of a model have already been carried out and the user wants to simply reconstruct vpcs with modified characteristics , such as different color lines or altered binning edges .
parenthetically , when this option is exploited , the simulation - related parameters should be set to the same values as in the original vpc construction . upon providing all the above , a user - friendly interface commences allowing the user to modify the default values in a series of optional inputs .
this input includes options related to the methods ( e.g. , ode solver to be used or number of datasets to be simulated ) as well as options that determine the graphical settings ( e.g. , color and type of plotting curves ) . table 
 1 details the accepted optional input along with the default values .
default values and accepted values included in matvpc 's optional input interface ci , confidence intervals ; ode , ordinary differential equation ; qvpc , quantified visual predictive check . for a detailed description of how the bin edges are selected
before the results of the automatic binning are accepted , a visual inspection of the calculated bin edges should be done as , in extreme cases of data point distributions , the code might not generate optimal results . in case 
is selected here , a vector with the bin edges should be defined in the following option .
this option allows modification of the number of equally spaced timepoints that are saved during the monte carlo simulations .
this option requests monte carlo simulations can be selected in other options ( see footnotes c and f ) .
the ode solver should be carefully chosen based on the type of the model , in other words , whether the model is stiff or not .
this number represents the percentage of the entire simulation time that is simulated beyond the latest observation point . for instance , in case the user desires to run a monte carlo simulation for an additional time equal to 20% of the entire profile , this number should be set equal to 0.2 ( see monte carlo simulations in model one ) .
this option allows the user to plot simulation results without plotting the observations . in case
the user desires to simply plot monte carlo simulations of the model ,  no  should be selected .
this option should be exploited in case the user wants to avoid negative concentrations and associated plotting issues , for instance , when a logarithmic scale is used . in case
is selected here , the desired replacement value should be defined in the following option .
the color of the curves is defined by writing the name of any of the 139 available color names provided at http://www.w3.org
it is important to stress that , unlike analogous tools that are traditionally used in pharmacometrics , matvpc constitutes an all - in - one package that integrates the following : 
 it is publicly open ( at https://sourceforge.net/projects/matvpc/ ) ; 
 constructs vpc plots of complex qsp models ; 
 offers automatic binning of the observed and simulated data using a rigorous approach9,40 ; 
 constructs qvpc plots of complex qsp models ; 
 performs monte carlo simulations of the model and plots the results with any requested summary statistics ; 
 does not require prior implementation ( e.g. , parameter estimation ) of the model within matlab ; 
 endows the user with the option to perform post - processing of the vpc , qvpc , or simulation plots . 
 
it is publicly open ( at https://sourceforge.net/projects/matvpc/ ) ; 
  constructs vpc plots of complex qsp models ; 
  offers automatic binning of the observed and simulated data using a rigorous approach9,40 ; 
  constructs qvpc plots of complex qsp models ; 
  performs monte carlo simulations of the model and plots the results with any requested summary statistics ; 
  does not require prior implementation ( e.g. , parameter estimation ) of the model within matlab ; 
  endows the user with the option to perform post - processing of the vpc , qvpc , or simulation plots . 
  in what follows ,
these models include : ( i ) a linear three compartment pharmacokinetic ( pk ) model with single oral and intravenous ( iv ) bolus dosing ; ( ii ) a nonlinear two compartment pk model with multiple iv infusion dosing41 ; and ( iii ) a highly nonlinear pharmacodynamic ( pd ) model that describes the time - course of body weight.42 to validate the accuracy of the presented vpcs , we directly compare them with vpcs generated either by xpose version 4 ( coupled with psn version 4.2.0 and nonmem version 7.2 ) or by monolix version 4.3.3 .
the first model describes simulated data of a linear three - compartment pk model with linear elimination from the first and third compartment .
the difference between the two studies is nothing but the dosing type ; in study one , the dosing type was iv bolus , whereas in study two , the dosing type was oral .
a single dose was administered at time zero and observations were taken at asymmetric timepoints .
the initial conditions of all compartments were set to zero and the parameters of the model were estimated with nonmem .
the odes of the model are shown in eqs . 1 - 4 : 
 1 
 2 
 3 
 4 to generate vpc and qvpc plots of model one using matvpc , the user is first required to open the matlab file parameters and provide the model parameters therein .
once the parameters have been provided , the user must open the matlab file odes and type the eqs . 1 - 4 .
a snapshot of the parameters and the odes file upon inserting all the pertinent information of model one is shown in figures 
 1a , b , respectively . required input in matvpc for model one .
( a ) input in file  parameters .  in this file , the user inputs the values of the ode parameters , the values of the interindividual variability parameters , the proportional and additive part of the ruv , the initial conditions of the odes and the volume size of each compartment . ( b )
input in file  odes .  in this file , the user inputs the odes , along with potential algebraic equations , describing the quantitative pharmacology model .
in case of iv infusion dosing , an additional term should be included in the model that accounts for the dosing ( for an example see model two ) . upon completion of the above steps
, the following command must be typed in the command window : matvpc('obs.csv,{'study } ) .
this command requests a vpc that is based on the dataset called obs.csv and is stratified by study .
once the user inserts this command and presses  enter ,  they are asked to provide the name of the model and whether they want to simply create a vpc from previously saved simulation results or to simulate new data and plot the vpcs .
following their response ( y / n ) , matvpc opens a user - friendly interface with optional input that bears default values .
figure 
 2 shows a snapshot of this interface , which includes the optional input used for constructing vpc and qvpcs for model one . after pressing
 ok  at the bottom of the interface , matvpc runs all the required simulations , calculates the respective percentiles , constructs the vpc and qvpc plots , and saves them as matlab figures ( .fig ) in a folder that is named after the model name .
unlike comparable software , by saving the plots as matlab figures , matvpc allows for postprocessing of the plots .
more specifically , the user can open the figures ( vpc , qvpc , or monte carlo simulation plots ) that are saved in .
fig format and interactively modify their characteristics , such as : ( i ) the type , color , or size of the curves ; ( ii ) the axes labels and their font size ; ( iii ) the figure title and its font size ; ( iv ) the size , shape , or resolution of the figure ; and ( v ) the axes limits . modifying these characteristics can also be done using the command line , but it is not recommended as it is usually rather laborious .
the user can modify the default values of 40 characteristics of the vpc and qvpc plots ( for a detailed description of these features see table 1 ) .
the vpc and qvpc plots shown in figure 3 were constructed using the input values shown in this figure .
as the sampling times in this case were asymmetric , we exploited the automatic binning option of matvpc to bin the data of model one ( i.e. , 
the vpc and qvpc plots of model one as generated by matvpc are shown in figure 
 3 .
vpc plots of model one were also constructed with xpose and psn ( running the simulations in nonmem and using the bin edges calculated by matvpc ) and are also provided in figure 
 3 . for simplicity , we only show the results from compartment two of each study but the agreement between matvpc plots and xpose plots was consistent for all compartments .
( a , d ) vpc plots generated by matvpc showing the results from compartment two and study one ( a ) and two ( d ) .
( b , e ) vpc plots generated by xpose - psn showing the results from compartment two and study one ( b ) and two ( e ) .
red dashed lines correspond to the 5th and 95th percentiles of the observations , whereas red solid lines correspond to the median of the observations .
black dashed lines correspond to the 5th and 95th percentiles of the simulations , whereas black solid lines correspond to the median of the simulations .
blue shaded areas represent the 90% confidence intervals of the simulation 5th and 95th percentiles , whereas pink shaded areas represent the 90% confidence intervals of the simulation median .
( c , f ) qvpc plots of compartment two and study one ( c ) and two ( f ) , as constructed by matvpc . at each timepoint
, the black bar presents the observed data below the model predicted median ( red dots ) , whereas the dark grey bar shows the observed data above the model predicted median .
the total of the black and grey bar combined presents the percentage of available data ( here 100% ) .
( g  i ) the 200 monte carlo simulations of model one and study two ( oral dosing ) for compartment one ( g ) , two ( h ) , and three ( i ) .
green dashed lines correspond to the median of the 5th and 95th percentiles of the monte carlo simulations .
red lines correspond to the median of the 50th percentile of the monte carlo simulations .
shaded areas represent the 90% prediction intervals of the monte carlo simulation percentiles . as discussed above ,
one of the key characteristics of matvpc is the option of performing monte carlo simulations of a qsp model , either accounting for or neglecting the residual error .
here , we carried out monte carlo simulations of model one ( only for study two ) without taking into consideration the residual error .
to do so , the ruv terms in the  parameters  file were set equal to zero ( see supplementary figure s1 ) .
in addition , in the optional input interface , for  plot observations  was selected  no  and the  simulated time beyond observations  was set equal to 0.2 , as we were interested in the dynamics of the model from time zero to 20% additional time beyond the timepoint of the latest observation ( see supplementary figure s2 ) .
the results of the simulations of the three compartments of study two ( oral dosing ) are presented in figure 
 3 .
the second model was adopted from a previously published study41 and describes simulated pk data of a drug administered via iv infusion . in this case , a total of 100 individuals were simulated with asymmetrically sampled observations .
5 and 6 : 
 5 
 6 it is important to note that in case iv infusion dosing is simulated , an additional term should be added in the model to account for iv infusion dosing .
n  is equal to the number of model parameters plus one ( please note that all parameters are inserted as 
params(i )  ) ;  params(n )  should invariably be : ( i ) the last parameter listed in the file
 parameters ,  ; ( ii ) equated to zero ; and ( iii ) added to the equation describing the dynamics of the compartment in which iv dosing is administered . in this example , the term 
params(5 )  was added to eq . 5 as the iv infusion is given in compartment one ( see file  parameters  and  odes  in figure4 ) .
dy(1 ) to account for iv infusion dosing . similarly to model one , in order to generate the vpc and qvpc plots of model two using matvpc , the user must open the matlab file  parameters  and insert the model parameters .
once the parameters have been provided , the user must open the matlab file  odes  and type the odes shown in eqs . 5 and 6 , along with the additional term that accounts for iv infusion dosing .
a snapshot of the completed matlab files  parameters  and  odes  file is depicted in figures 
 4a , b , respectively .
parameters  an additional parameter ,  params(5)=0 ,  has been listed . as shown in file  odes ,  this parameter has then been incorporated in the first ode of the model ( see last term in first ode ) . upon inserting this information in the two files ,
matvpc then asks the user to provide the model name and to define whether they want to construct vpc plots from scratch or to capitalize on previously generated simulation data . upon completing these steps ,
a snapshot of this interface with the optional input used for model two is shown in supplementary figure s3 .
please note that automatic data binning has been requested through this interface as the sampling timepoints were not consistent and manual binning of data would be challenging . after pressing 
ok  at the bottom of this interface , matvpc undergoes all the necessary steps and constructs the vpc and qvpc plots of model two .
figures 
 5a , c illustrate the vpc and qvpc plots , respectively , as constructed by matvpc .
figure 
 5b shows the vpc of model two as generated with psn and xpose ( with the simulations conducted in nonmem and using bin edges calculated by matvpc ) . for simplicity , only the plots from compartment one are shown .
red dashed lines correspond to the 5th and 95th percentiles of the observations whereas red solid lines correspond to the median of the observations .
black dashed lines correspond to the 5th and 95th percentiles of the simulations , whereas black solid lines correspond to the median of the simulations .
blue shaded areas represent the 90% confidence intervals of the simulation 5th and 95th percentiles , whereas pink shaded areas represent the 90% confidence intervals of the simulation median .
( c ) qvpc plots of compartment one as generated by matvpc . at each timepoint
, the black bar presents the observed data below the model predicted median ( red dots ) , whereas the dark grey bar shows the observed data above the model predicted median .
the total of the black and grey bar combined presents the percentage of available data ( here 100% ) .
purple dashed lines correspond to the median of the 5th and 95th percentiles of the monte carlo simulations .
purple solid lines correspond to the median of the 50th percentile of the monte carlo simulations .
in addition to generating the vpc and qvpc plots of model two , we also carried out 200 monte carlo simulations and the results are presented in figure 
 5d .
the  parameters  and  odes  files , along with the selected options in matvpc interface , that were used to generate the monte carlo simulation plots are shown in supplementary figures s4 and s5 , respectively .
the third case example is a formerly presented highly nonlinear pd model that describes the time - course of body weight.42 the simulated dataset includes observations from a total of 500 subjects that are involved in two different studies , 250 subjects belonging to study one and 250 subjects belonging to study two . the difference between the two studies here is the sampling times .
the pd model is provided in eq . 7 : 
 7whereby kin is the rate of weight gain , kout is the rate of weight loss , kde and krel are associated with the onset and loss of the lifestyle intervention effect and dstim is the maximum fractional increase in kout caused by the lifestyle intervention .
the  parameters  and  odes  files that were utilized in matvpc to construct the vpc and qvpc plots of model three are shown in figures 
 6a , b , respectively .
as the data originate from two distinct studies , the user would need to stratify on the study number .
to do so , the following should be typed in the command window :  matvpc ( ' obs.csv,{'study } ) .
 this command requests vpc and qvpc plots of the pd model shown in eq .
 once the user defines the name of the model , and whether they want to use previous simulation results , the matvpc interface with the optional input appears . the optional input used in the construction of vpcs for model three
 ok  in this interface , the vpcs and qvpcs of the model are generated and saved .
the respective vpc plots were also generated with monolix and are provided in figures 
 7b , e .
it should be underlined that the automatic binning approach implemented in matvpc and monolix is identical.9,40 required input in matvpc for model three .
( b ) input in file  odes .  for a detailed description about the input see caption in figure 1 .
( a , d ) vpc plots of study one ( a ) and study two ( d ) generated by matvpc .
( b , e ) vpc plots of study one ( b ) and study two ( e ) generated by monolix .
green lines correspond to the 5th , 50th , and 95th percentiles of the observations .
black lines correspond to the 5th , 50th , and 95th percentiles of the simulations .
light blue shaded areas represent the 90% confidence intervals of the simulation 5th and 95th percentiles whereas pink shaded areas represent the 90% confidence intervals of the simulation median .
( c , f ) qvpc plots of study one ( c ) and two ( f ) , as generated by matvpc . at each timepoint
, the black bar presents the observed data below the model predicted median ( red dots ) , whereas the dark grey bar shows the observed data above the model predicted median .
the total of the black and grey bar combined presents the percentage of available data ( here 100% ) .
the first model describes simulated data of a linear three - compartment pk model with linear elimination from the first and third compartment .
the difference between the two studies is nothing but the dosing type ; in study one , the dosing type was iv bolus , whereas in study two , the dosing type was oral .
a single dose was administered at time zero and observations were taken at asymmetric timepoints .
the initial conditions of all compartments were set to zero and the parameters of the model were estimated with nonmem .
the odes of the model are shown in eqs . 1 - 4 : 
 1 
 2 
 3 
 4 to generate vpc and qvpc plots of model one using matvpc , the user is first required to open the matlab file parameters and provide the model parameters therein .
once the parameters have been provided , the user must open the matlab file odes and type the eqs . 1 - 4 .
a snapshot of the parameters and the odes file upon inserting all the pertinent information of model one is shown in figures 
 1a , b , respectively . required input in matvpc for model one . ( a ) input in file 
 in this file , the user inputs the values of the ode parameters , the values of the interindividual variability parameters , the proportional and additive part of the ruv , the initial conditions of the odes and the volume size of each compartment .
( b ) input in file  odes .  in this file , the user inputs the odes , along with potential algebraic equations , describing the quantitative pharmacology model . in case of iv infusion dosing , an additional term should be included in the model that accounts for the dosing ( for an example see model two ) . upon completion of the above steps , the following command must be typed in the command window : matvpc('obs.csv,{'study } ) .
this command requests a vpc that is based on the dataset called obs.csv and is stratified by study .
once the user inserts this command and presses  enter ,  they are asked to provide the name of the model and whether they want to simply create a vpc from previously saved simulation results or to simulate new data and plot the vpcs .
following their response ( y / n ) , matvpc opens a user - friendly interface with optional input that bears default values .
figure 
 2 shows a snapshot of this interface , which includes the optional input used for constructing vpc and qvpcs for model one . after pressing
 ok  at the bottom of the interface , matvpc runs all the required simulations , calculates the respective percentiles , constructs the vpc and qvpc plots , and saves them as matlab figures ( .fig ) in a folder that is named after the model name . unlike comparable software , by saving the plots as matlab figures
more specifically , the user can open the figures ( vpc , qvpc , or monte carlo simulation plots ) that are saved in .
fig format and interactively modify their characteristics , such as : ( i ) the type , color , or size of the curves ; ( ii ) the axes labels and their font size ; ( iii ) the figure title and its font size ; ( iv ) the size , shape , or resolution of the figure ; and ( v ) the axes limits . modifying these characteristics can also be done using the command line , but it is not recommended as it is usually rather laborious . more details about this can be found on matlab 's website ( http://www.mathworks.com/help/symbolic/edit-graphs.html?searchhighlight=edit ) .
, the user can modify the default values of 40 characteristics of the vpc and qvpc plots ( for a detailed description of these features see table 1 ) .
the vpc and qvpc plots shown in figure 3 were constructed using the input values shown in this figure .
as the sampling times in this case were asymmetric , we exploited the automatic binning option of matvpc to bin the data of model one ( i.e. ,  yes 
the vpc and qvpc plots of model one as generated by matvpc are shown in figure 
 3 .
vpc plots of model one were also constructed with xpose and psn ( running the simulations in nonmem and using the bin edges calculated by matvpc ) and are also provided in figure 
 3 . for simplicity , we only show the results from compartment two of each study but the agreement between matvpc plots and xpose plots was consistent for all compartments .
( a , d ) vpc plots generated by matvpc showing the results from compartment two and study one ( a ) and two ( d ) .
( b , e ) vpc plots generated by xpose - psn showing the results from compartment two and study one ( b ) and two ( e ) .
red dashed lines correspond to the 5th and 95th percentiles of the observations , whereas red solid lines correspond to the median of the observations .
black dashed lines correspond to the 5th and 95th percentiles of the simulations , whereas black solid lines correspond to the median of the simulations .
blue shaded areas represent the 90% confidence intervals of the simulation 5th and 95th percentiles , whereas pink shaded areas represent the 90% confidence intervals of the simulation median .
( c , f ) qvpc plots of compartment two and study one ( c ) and two ( f ) , as constructed by matvpc . at each timepoint , the black bar presents the observed data below the model predicted median ( red dots ) , whereas the dark grey bar shows the observed data above the model predicted median .
the total of the black and grey bar combined presents the percentage of available data ( here 100% ) .
( g  i ) the 200 monte carlo simulations of model one and study two ( oral dosing ) for compartment one ( g ) , two ( h ) , and three ( i ) .
green dashed lines correspond to the median of the 5th and 95th percentiles of the monte carlo simulations .
red lines correspond to the median of the 50th percentile of the monte carlo simulations .
shaded areas represent the 90% prediction intervals of the monte carlo simulation percentiles . as discussed above ,
one of the key characteristics of matvpc is the option of performing monte carlo simulations of a qsp model , either accounting for or neglecting the residual error . here
, we carried out monte carlo simulations of model one ( only for study two ) without taking into consideration the residual error .
to do so , the ruv terms in the  parameters  file were set equal to zero ( see supplementary figure s1 ) .
in addition , in the optional input interface , for  plot observations  was selected  no  and the  simulated time beyond observations  was set equal to 0.2 , as we were interested in the dynamics of the model from time zero to 20% additional time beyond the timepoint of the latest observation ( see supplementary figure s2 ) .
the results of the simulations of the three compartments of study two ( oral dosing ) are presented in figure 
 3 .
the second model was adopted from a previously published study41 and describes simulated pk data of a drug administered via iv infusion . in this case , a total of 100 individuals were simulated with asymmetrically sampled observations .
5 and 6 : 
 5 
 6 it is important to note that in case iv infusion dosing is simulated , an additional term should be added in the model to account for iv infusion dosing .
n  is equal to the number of model parameters plus one ( please note that all parameters are inserted as 
params(i )  ) ;  params(n )  should invariably be : ( i ) the last parameter listed in the file
 parameters ,  ; ( ii ) equated to zero ; and ( iii ) added to the equation describing the dynamics of the compartment in which iv dosing is administered . in this example , the term 
parameters  and  odes  in figure4 ) . required input in matvpc for model two .
dy(1 ) to account for iv infusion dosing . similarly to model one , in order to generate the vpc and qvpc plots of model two using matvpc , the user must open the matlab file  parameters  and insert the model parameters .
once the parameters have been provided , the user must open the matlab file  odes  and type the odes shown in eqs .
5 and 6 , along with the additional term that accounts for iv infusion dosing .
parameters  and  odes  file is depicted in figures 
 4a , b , respectively
parameters  an additional parameter ,  params(5)=0 ,  has been listed . as shown in file  odes ,  this parameter has then been incorporated in the first ode of the model ( see last term in first ode ) . upon inserting this information in the two files ,
matvpc then asks the user to provide the model name and to define whether they want to construct vpc plots from scratch or to capitalize on previously generated simulation data . upon completing these steps ,
a snapshot of this interface with the optional input used for model two is shown in supplementary figure s3 .
please note that automatic data binning has been requested through this interface as the sampling timepoints were not consistent and manual binning of data would be challenging .
after pressing  ok  at the bottom of this interface , matvpc undergoes all the necessary steps and constructs the vpc and qvpc plots of model two .
figures 
 5a , c illustrate the vpc and qvpc plots , respectively , as constructed by matvpc . figure 
 5b shows the vpc of model two as generated with psn and xpose ( with the simulations conducted in nonmem and using bin edges calculated by matvpc ) . for simplicity , only the plots from compartment one are shown .
red dashed lines correspond to the 5th and 95th percentiles of the observations whereas red solid lines correspond to the median of the observations .
black dashed lines correspond to the 5th and 95th percentiles of the simulations , whereas black solid lines correspond to the median of the simulations .
blue shaded areas represent the 90% confidence intervals of the simulation 5th and 95th percentiles , whereas pink shaded areas represent the 90% confidence intervals of the simulation median .
( c ) qvpc plots of compartment one as generated by matvpc . at each timepoint
, the black bar presents the observed data below the model predicted median ( red dots ) , whereas the dark grey bar shows the observed data above the model predicted median .
the total of the black and grey bar combined presents the percentage of available data ( here 100% ) .
purple dashed lines correspond to the median of the 5th and 95th percentiles of the monte carlo simulations .
purple solid lines correspond to the median of the 50th percentile of the monte carlo simulations .
in addition to generating the vpc and qvpc plots of model two , we also carried out 200 monte carlo simulations and the results are presented in figure 
 5d .
the  parameters  and  odes  files , along with the selected options in matvpc interface , that were used to generate the monte carlo simulation plots are shown in supplementary figures s4 and s5 , respectively .
the third case example is a formerly presented highly nonlinear pd model that describes the time - course of body weight.42 the simulated dataset includes observations from a total of 500 subjects that are involved in two different studies , 250 subjects belonging to study one and 250 subjects belonging to study two . the difference between the two studies here is the sampling times .
the pd model is provided in eq . 7 : 
 7whereby kin is the rate of weight gain , kout is the rate of weight loss , kde and krel are associated with the onset and loss of the lifestyle intervention effect and dstim is the maximum fractional increase in kout caused by the lifestyle intervention .
the  parameters  and  odes  files that were utilized in matvpc to construct the vpc and qvpc plots of model three are shown in figures 
 6a , b , respectively .
as the data originate from two distinct studies , the user would need to stratify on the study number . to do so
, the following should be typed in the command window :  matvpc ( ' obs.csv,{'study } ) .
 this command requests vpc and qvpc plots of the pd model shown in eq .
7 , using the dataset called  obs.csv  while stratifying on the variable  study .
 once the user defines the name of the model , and whether they want to use previous simulation results , the matvpc interface with the optional input appears . the optional input used in the construction of vpcs for model three
ok  in this interface , the vpcs and qvpcs of the model are generated and saved .
the respective vpc plots were also generated with monolix and are provided in figures 
 7b , e .
it should be underlined that the automatic binning approach implemented in matvpc and monolix is identical.9,40 required input in matvpc for model three .
( b ) input in file  odes .  for a detailed description about the input see caption in figure 1 .
( a , d ) vpc plots of study one ( a ) and study two ( d ) generated by matvpc .
( b , e ) vpc plots of study one ( b ) and study two ( e ) generated by monolix .
green lines correspond to the 5th , 50th , and 95th percentiles of the observations .
black lines correspond to the 5th , 50th , and 95th percentiles of the simulations .
light blue shaded areas represent the 90% confidence intervals of the simulation 5th and 95th percentiles whereas pink shaded areas represent the 90% confidence intervals of the simulation median .
( c , f ) qvpc plots of study one ( c ) and two ( f ) , as generated by matvpc . at each timepoint
, the black bar presents the observed data below the model predicted median ( red dots ) , whereas the dark grey bar shows the observed data above the model predicted median .
the total of the black and grey bar combined presents the percentage of available data ( here 100% ) .
we have presented a matlab - based tool , dubbed matvpc , that simulates and generates vpc and qvpc plots of qsp models .
the plots generated by matvpc were compared with plots constructed by the gold standard tools in the pharmacometrics community , psn ( with nonmem ) and monolix,43 and the results were interchangeable across all case studies . despite its flexibility , matvpc does have its drawbacks . at present
, matvpc generates qvpc plots using only the available data and does not account for missing data.11 in addition , it can currently run only on a single computer and is not designed for running in parallel processors . however , matvpc will be continuously advanced and its future versions will address these imperfections .
matvpc is publicly available and can be utilized by users with little or no prior matlab experience .
this computational tool can be potentially expanded to perform key analyses in systems pharmacology,44 such as sensitivity analysis45 or model reduction.38,46 collectively , matvpc constitutes a useful addition to the openly available toolboxes exploited by quantitative as well as clinical pharmacologists .
additional supporting information may be found in the online version of this article . supporting information supporting information supporting information supporting information supporting information supporting information supporting information
 quantitative systems pharmacology ( qsp ) models are progressively entering the arena of contemporary pharmacology . 
 the efficient implementation and evaluation of complex qsp models necessitates the development of flexible computational tools that are built into qsp mainstream software . to this end 
 , we present matvpc , a versatile matlab - based tool that accommodates qsp models of any complexity level . 
 matvpc executes monte carlo simulations as well as automatic construction of visual predictive checks ( vpcs ) and quantified vpcs ( qvpcs ) . 
MATVPC TUTORIAL
Model one: three-compartment PK model with oral and IV bolus dosing
Model two: two-compartment PK model with multidose IV infusion
Model three: PD model describing the time-course of body weight
DISCUSSION
Supporting Information