amer
☆    

Australia,
2019-09-09 05:04

Posting: # 20555
Views: 1,697
 

 predicting in vivo PK profiles from in vitro data after establishing IVIVC [Dissolution / BCS / IVIVC]

I have conducted IVIVC analysis using the IVIVC for R package, all good!

Now that I have estabished IVIVC levy plots (and regression equation); how can i predict the plasma concentrations profile if i have got a new in vitro dissolution profile (not used to establish ivivc) for the same formulation done in a different dissolution media? (i.e going backwards)

For the new dissolution data (not used to establish ivivc), i can calulate the predicted fraction absorbed using the regression equation from the constructed IVIVC. But then, how can i predict the in vivo plasma Pk profile from the predicted fraction absorbed? does the ivivc for R package do that? how? what is the r-script that i can use.

I am using R studio.

Thanks,
yjlee168
★★  
avatar
Homepage
Kaohsiung, Taiwan,
2019-09-09 10:46

@ amer
Posting: # 20556
Views: 1,511
 

 external predictability for ivivc

Hi amer,

» I have conducted IVIVC analysis using the IVIVC for R package, all good!

Great to hear that.

» ... how can i predict the plasma concentrations profile if i have got a new in vitro dissolution profile (not used to establish ivivc) for the same formulation done in a different dissolution media? (i.e going backwards)

If you also had the in-vivo data together with the new dissolution data, would the external predict­ability be the answer for your question? You can select external of 'predictability for ivivc model:' from GUI and then choose the dataset file (03 dataset files (*.csv) for ext. predictability) to run analysis.

However, as far as I can remember, the external predictability (or validation) is not what US-FDA recommended. Usually the internal is recommended.

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Download link (updated) -> here
amer
☆    

Australia,
2019-09-10 02:31

@ yjlee168
Posting: # 20568
Views: 1,481
 

 external predictability for ivivc

Hi Lee,

Thank you for you answer.

» » ... how can i predict the plasma concentrations profile if i have got a new in vitro dissolution profile (not used to establish ivivc) for the same formulation done in a different dissolution media? (i.e going backwards)
»
» If you also had the in-vivo data together with the new dissolution data, would the external predict­ability be the answer for your question? You can select external of 'predictability for ivivc model:' from GUI and then choose the dataset file (03 dataset files (*.csv) for ext. predictability) to run analysis.

However, i didnt actually mean external validation. What i meant is this: I have constructed IVIVC using in vivo data and dissolution data done at pH 1.2. if i have a new dissolution data (say done at pH 2), how can i predict the in vivo concentrations based on the new dissolution (i.e. does ivivc for R does convulution where the input is the dissolution data and we want to predict the output which is plasma concentration profile?).

» However, as far as I can remember, the external predictability (or validation) is not what US-FDA recommended. Usually the internal is recommended.

Thanks for the info.
on the side, just wondering if the ivivc package been validated against standard ivivc software (say WinNonlin?)
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2019-09-10 10:58

@ amer
Posting: # 20571
Views: 1,453
 

 identical pH

Hi amer,

» I have constructed IVIVC using in vivo data and dissolution data done at pH 1.2. if i have a new dissolution data (say done at pH 2), how can i predict the in vivo concentrations based on the new dissolution…

[image]Dissolution at pH 2 is rather unusual. Recall the definition: pH = –log10[H+], where [H+] is the [image] activity of the H+ ion. Hence, at pH 2 you have 10–2/10–1.2 ~ 6.31× lower activity of H+ than at pH 1.2. Whether this is relevant, depends on the pKa of the drug. However, it might lead to wrong conclusions.

Valid predictions based on IVIVC require dissolution at identical pH values. Repeat the exercise at pH 1.2.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
yjlee168
★★  
avatar
Homepage
Kaohsiung, Taiwan,
2019-09-10 15:30

@ Helmut
Posting: # 20577
Views: 1,415
 

 identical pH

Dear Helmut,

» ... Valid predictions based on IVIVC require dissolution at identical pH values. Repeat the exercise at pH 1.2.

I had the same though as yours before. Then I think the new pH dissolution profile seems possible to predict in-vivo conc. That's because once the iv-vitro and in-vivo correlation is established, FRD (fraction dissolved; from dissolution profile) obtained from a new pH media can be used to estimate Fab (Fraction absorbed) from established ivivc. So it becomes possible to predict in-vivo conc. with known kel and Vd from the previous Wagner-Nelson method. All calculation steps are part of model validation in ivivc for R.

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Download link (updated) -> here
yjlee168
★★  
avatar
Homepage
Kaohsiung, Taiwan,
2019-09-10 15:13
(edited by yjlee168 on 2019-09-10 15:36)

@ amer
Posting: # 20576
Views: 1,450
 

 R scripts/codes for in-vivo conc.

Hi amer,

» ... However, i didnt actually mean external validation. What i meant is this: I have constructed IVIVC using in vivo data and dissolution data done at pH 1.2. if i have a new dissolution data (say done at pH 2), how can i predict the in vivo concentrations based on the new dissolution (i.e. does ivivc for R does convulution where the input is the dissolution data and we want to predict the output which is plasma concentration profile?).

I see. But it is still part of model validation. I prepare the codes (R script) mainly pulled from ivivc for R. The following steps are required to run the codes (amer.R).
  1. Run ivivc first and get Levy plots. Take a note about the slope and intercept of Levy plots. You will need that later. This step will also generate PK parameters saved in a file called pk_values.rds in working path. You will need this file too.
  2. prepare your dataset as csv format with 4 columns named as "pH","subj","time","FRD". Then save this dataset file as csv format in R working path (getwd() to know where it is).
  3. copy the the following codes and paste it with plain editor. Now, you can update Slope, Intercept,dose of MR, and your dataset file name (red-inked parts in the codes). Save it in your R working path.
  4. open R console/terminal. type source("amer.R") to run the codes, supposed the codes are saved as amer.R. Go to your R working path to find a file called predicted_in-vivo_dataset.csv. Done.
### amer.R
    Slope<- 0.939     ### from levy plots; change the value if necessary
Intercept<- 10.6      ### from levy plot; change the value if necessary
     Dose<- 200000    ### dose of MR administered; change the value if necessary
                      ### the unit of 'Dose' may need to be converted, depending
                      ### unit of conc. and Vd.
keindex<- readRDS("pk_values.rds")   ### load kel & Vd from previous Wagner-Nelson method
cnames<- c("pH","subj","time","FRD")
InVVTestindex<- load.csv.data("your_dataset.csv",cnames)   ### pls change the file name.
W.data<- data.frame(pH=InVVTestindex$pH,subj=InVVTestindex$subj, time=InVVTestindex$time,FRD=InVVTestindex$FRD)
W.split<- split(W.data,list(W.data$pH,W.data$subj))
pH<- 0  ### not used at all.
PredCp<- NULL
time<- NULL
for (j in 1:length(W.split)){
PFab<- 0
PCp<- 0
for(x in 1: length(unique(keindex$subj))) {
  if (W.split[[j]][["subj"]][1]==keindex$subj[[x]]) {
     ke<- keindex$ke[[x]];Vd<- keindex$Vd[[x]]}}   ### load kel, Vd from previous Wagner-Nelson
  for(i in 2:length(W.split[[j]][["FRD"]])){
      PFab[i]<-(W.split[[j]][["FRD"]][i])*Slope + Intercept}  ### calc predicted Fab
  for(i in 2:length(W.split[[j]][["time"]]))
      PCp[i]<-((PCp[i-1]*(2-((W.split[[j]][["time"]][i]-W.split[[j]][["time"]][i-1])*ke))+(2*(PFab[i]-PFab[i-1])*1/100*Dose/Vd))/(2+(ke*(W.split[[j]][["time"]][i]-W.split[[j]][["time"]][i-1])))) ### PCp[i] = predicted in-vivo conc.
     time[[j]]<- c(W.split[[j]][["time"]])
     PredCp[[j]]<- c(PCp)
}
CC<- reshape2::melt(PredCp)
DD<- reshape2::melt(time)
Predvivo<- data.frame(subj=InVVTestindex$subj,time=DD$value,conc.pred=CC$value)
write.csv(Predvivo,"predicted_in-vivo_dataset.csv",row.names=FALSE)
cat("\nDone.\n\n") ### done.


I don't know if this is what you want. Let me know you still have question about running the codes. I have tested the codes and it works well.

» on the side, just wondering if the ivivc package been validated against standard ivivc software (say WinNonlin?)

Not validated with WLN. Should I? :confused: I do not have WLN. If you have WNL, can you help to validate?

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Download link (updated) -> here
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2019-09-10 15:37

@ yjlee168
Posting: # 20578
Views: 1,415
 

 Software validation, another round

Hi Yung-jin and amer,

» » on the side, just wondering if the ivivc package been validated against standard ivivc software (say WinNonlin?)
»
» Not validated with WLN. Should I? :confused: I do not have WLN. If you have WNL, can you help to validate?

Since the source code of ivivc for R is accessible, one can perform a [image] white box validation. Requires an expert R-coder who is also knowledgeable with the scientific background of IVIVC. An incredibly rare species. Commercial software like the ‘IVIVC Toolkit’ of Phoenix can only be [image] black box validated. If you want to perform cross-validation that would require a couple of reference datasets and hope for the same outcome.

@Yung-jin: Though Certara granted me with a ‘named license’ of Phoenix’ ‘IVIVC Toolkit’, I never used it so far. Furthermore, my experience with ivivc for R are zero.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
mittyri
★★  

Russia,
2019-09-10 15:54

@ Helmut
Posting: # 20579
Views: 1,405
 

 Deconvolution

Hi Helmut,

» If you want to perform cross-validation that would require a couple of reference datasets and hope for the same outcome.

the probability is close to nil due to a nightmare called deconvolution...

Kind regards,
Mittyri
yjlee168
★★  
avatar
Homepage
Kaohsiung, Taiwan,
2019-09-11 10:29

@ Helmut
Posting: # 20582
Views: 1,349
 

 Software validation, another round

Dear Helmut,

» ... Requires an expert R-coder who is also knowledgeable with the scientific background of IVIVC. An incredibly rare species....

Indeed. So I don't think I am qualified to do that... Thanks God. :-D

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Download link (updated) -> here
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2019-09-11 13:39

@ yjlee168
Posting: # 20583
Views: 1,331
 

 Software validation, another round

Hi Yung-jin,

» » ... Requires an expert R-coder who is also knowledgeable with the scientific background of IVIVC. An incredibly rare species....
»
» Indeed. So I don't think I am qualified to do that... Thanks God. :-D

:lol3: I’m always a little bit skeptic when one tries to validate own code (including f**ing expensive “validation packs” sold by vendors of commercial software). Hence, we have to find another one. Cross-validation would do.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
amer
☆    

Australia,
2019-09-12 05:26

@ Helmut
Posting: # 20590
Views: 1,297
 

 Software validation, another round

» :lol3: I’m always a little bit skeptic when one tries to validate own code (including f**ing expensive “validation packs” sold by vendors of commercial software). Hence, we have to find another one. Cross-validation would do.

I may be able to validate wagner-nelson in ivivc for R (assumes 1-comp model) with numerical deconvolution/convolution using RIVIVC package (no asumption about model structure) but there isn't enough hours in the day. will do at some stage.

suggestion: the ivivc for R can be updated to do numerical deconvolution/convolution option because what if the disposition is not 1 comp, then wanger-nelson is limited.
yjlee168
★★  
avatar
Homepage
Kaohsiung, Taiwan,
2019-09-12 09:46

@ amer
Posting: # 20591
Views: 1,272
 

 Should we also consider to validate the validation?

Hi amer,

» I may be able to validate wagner-nelson in ivivc for R (assumes 1-comp model) with numerical deconvolution/convolution using RIVIVC package...

Right. It's really a great idea. Software validation is indeed a must and a good thing absolutely. However, I was wondering: should you validate RIVIVC package first? Supposed RIVIVC passes the validation, then should we use RIVIVC to validate Wagner-Nelson (implemented in ivivc for R)? To me, it sounds like using an apple to validate an orange. This report may provide a good start or some ideas. Finally, since the software validation (either the black box or the white box) largely replies on computer and human calculation processes, should we also consider how to validate software validation procedures too in the future?

» suggestion: the ivivc for R can be updated to do numerical deconvolution/convolution option because what if the disposition is not 1 comp, then wanger-nelson is limited.

It has been in my to-do list for a long time. I apologize about the delay. Anyway, this is a great idea too.

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Download link (updated) -> here
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2019-09-13 12:07

@ yjlee168
Posting: # 20592
Views: 1,207
 

 Who inspects the inspectors?

Hi Yung-jin,

» […] should we also consider how to validate software validation procedures too in the future?

You know what means. :rotfl:
See my example of “almost error-free software” at the end of this post. Out of reach for us.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
nobody
nothing

2019-09-13 12:55

@ Helmut
Posting: # 20593
Views: 1,207
 

 Who inspects the inspectors?

Quis custodiet ipsos custodes?

...this problem is not really new. :-)

Kindest regards, nobody
Helmut
★★★
avatar
Homepage
Vienna, Austria,
2019-09-13 12:59

@ nobody
Posting: # 20594
Views: 1,199
 

 Sapienti sat

» Quis custodiet ipsos custodes?

Oller  Schwede  Lateiner. ;-)

For the ones who don’t know Latin (mine is extremely rusty): [image]

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes
amer
☆    

Australia,
2019-09-11 05:35

@ yjlee168
Posting: # 20580
Views: 1,363
 

 R scripts/codes for in-vivo conc.

Hi Lee,

» I don't know if this is what you want. Let me know you still have question about running the codes. I have tested the codes and it works well.

Thanks very much. Yes, it is;however, i don't see the oral bioavailability term in the [PCp] equation in the R-code provided. Shouldn't that include bioavailability when doing convolution? Does it assume, in its current for, that the bioavailability is 100%?

» » on the side, just wondering if the ivivc package been validated against standard ivivc software (say WinNonlin?)
»
» Not validated with WLN. Should I? :confused: I do not have WLN. If you have WNL, can you help to validate?

Unfortunately, i dont have access to WLN.

Cheers,
yjlee168
★★  
avatar
Homepage
Kaohsiung, Taiwan,
2019-09-11 10:16

@ amer
Posting: # 20581
Views: 1,348
 

 Bioavailabity term in predicted in-vivo conc.

Hi amer,

Nice question. Oral bioavailability term (F) has been presented as predicted Fab (PFab, predicted fraction absorbed, %) obtained from ivivc model (Levy plots) in the equation of Pcp. Here is the ref.: M Gohel, RR Delvadia, DC Parikh, et. al., Simplified Mathematical Approach for Back Calculation in Wagner-Nelson Method. See equation (1.5).

» ... however, i don't see the oral bioavailability term in the [PCp] equation in the R-code provided. Shouldn't that include bioavailability when doing convolution? Does it assume, in its current for, that the bioavailability is 100%?

All the best,
-- Yung-jin Lee
bear v2.8.7:- created by Hsin-ya Lee & Yung-jin Lee
Kaohsiung, Taiwan http://pkpd.kmu.edu.tw/bear
Download link (updated) -> here
Activity
 Admin contact
20,135 posts in 4,245 threads, 1,385 registered users;
online 4 (0 registered, 4 guests [including 4 identified bots]).
Forum time (Europe/Vienna): 02:38 CET

In the beginner’s mind there are many possibilities.
In the expert’s mind there are few.    Shunryu Suzuki

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5