Jump to content


Photo

Tumor Growth inhibiton model in graphical mode


  • Please log in to reply
13 replies to this topic

#1 j.pereira

j.pereira

    Advanced Member

  • Members
  • PipPipPip
  • 38 posts

Posted 16 June 2016 - 01:50 PM

Dear All,

 

It was nice meeting some of you at the PAGE in Lisbon last week.

 

I have a PK-PD tumor growth inhibition model written in PML. I am exploring the capabilites of the graphical mode, and I tried to make it using the compartments and connecters available. The PK part is easy, but i am not able to find out how to use the comparments and flow connectors to make my tumor growht inhibition model. Do you have any idea if this is possible, and how I may achieve it?

 

Best,

Joao

 

Here is the model text:

 

test(){
 #PK
 deriv(A1 = - Cl * C - Cl2 * (C - C2))
 deriv(A2 = Cl2 * (C - C2))
 dosepoint(A1)
 C = A1 / V
 C2 = A2 / V2
 error(CEps = 0.1)
 observe(CObs = C*(1 + CEps))
 
 #PD
 
 deriv(Tumor = growth*Tumor-kill0*exp(-res*t)*C*Tumor) #Tumor growth inhibition model
 error(EEps = 0.1)
 observe(EObs = Tumor*(1 + EEps))
 
 sequence{Tumor = 100} #Baseline Tumor

 #Parameters
 #PK
 stparm(V = tvV * exp(nV))
 stparm(V2 = tvV2 * exp(nV2))
 stparm(Cl = tvCl * exp(nCl))
 stparm(Cl2 = tvCl2 * exp(nCl2))
 #PD
 stparm(growth = tvgrowth * exp(ngrowth)) #tumor growth
 stparm(kill0 = tvkill0 * exp(nkill0)) #tumor kill
 stparm(res = tvres * exp(nres))#treatment resistance
 #PK
 fixef(tvV = c(, 3, )) #L
 fixef(tvV2 = c(, 3, ))#L
 fixef(tvCl = c(, 0.1, ))#L/day
 fixef(tvCl2 = c(, 1, )) #L/day
 #PD
 fixef(tvgrowth = c(, 5e-4, )) #1/day
 fixef(tvkill0 = c(, 5e-5, )) #mL*ug-1*day-1
 fixef(tvres = c(, 5e-4, )) #1/day
 #random effects
 ranef(diag(nV2, nCl2, nCl, nV,ngrowth,nkill0,nres) = c(0.2, 0.2, 0.3, 0.1,0.2,1,1))
}
 

 

 

 

 

 



#2 serge guzy

serge guzy

    Advanced Member

  • Members
  • PipPipPip
  • 485 posts

Posted 16 June 2016 - 02:34 PM

Dear All,

 

It was nice meeting some of you at the PAGE in Lisbon last week.

 

I have a PK-PD tumor growth inhibition model written in PML. I am exploring the capabilites of the graphical mode, and I tried to make it using the compartments and connecters available. The PK part is easy, but i am not able to find out how to use the comparments and flow connectors to make my tumor growht inhibition model. Do you have any idea if this is possible, and how I may achieve it?

 

Best,

Joao

 

Here is the model text:

 

test(){
 #PK
 deriv(A1 = - Cl * C - Cl2 * (C - C2))
 deriv(A2 = Cl2 * (C - C2))
 dosepoint(A1)
 C = A1 / V
 C2 = A2 / V2
 error(CEps = 0.1)
 observe(CObs = C*(1 + CEps))
 
 #PD
 
 deriv(Tumor = growth*Tumor-kill0*exp(-res*t)*C*Tumor) #Tumor growth inhibition model
 error(EEps = 0.1)
 observe(EObs = Tumor*(1 + EEps))
 
 sequence{Tumor = 100} #Baseline Tumor

 #Parameters
 #PK
 stparm(V = tvV * exp(nV))
 stparm(V2 = tvV2 * exp(nV2))
 stparm(Cl = tvCl * exp(nCl))
 stparm(Cl2 = tvCl2 * exp(nCl2))
 #PD
 stparm(growth = tvgrowth * exp(ngrowth)) #tumor growth
 stparm(kill0 = tvkill0 * exp(nkill0)) #tumor kill
 stparm(res = tvres * exp(nres))#treatment resistance
 #PK
 fixef(tvV = c(, 3, )) #L
 fixef(tvV2 = c(, 3, ))#L
 fixef(tvCl = c(, 0.1, ))#L/day
 fixef(tvCl2 = c(, 1, )) #L/day
 #PD
 fixef(tvgrowth = c(, 5e-4, )) #1/day
 fixef(tvkill0 = c(, 5e-5, )) #mL*ug-1*day-1
 fixef(tvres = c(, 5e-4, )) #1/day
 #random effects
 ranef(diag(nV2, nCl2, nCl, nV,ngrowth,nkill0,nres) = c(0.2, 0.2, 0.3, 0.1,0.2,1,1))
}
 

Dear Joao

For what you asked, you can do everything  on the graphical mode except the sequence statement.

I made an example for you. Insert/Procedure allows you to write a differential equation. Insert/parameter allows you defining structural parameters.

Let me know if you need further help.

best Regards

Serge

Attached Files



#3 j.pereira

j.pereira

    Advanced Member

  • Members
  • PipPipPip
  • 38 posts

Posted 17 June 2016 - 07:20 AM

That's great Serge. Thank you for the quick reply.

 

If you look at the built-in models, there is a sequence statment (see print screen). So this must be possible using the graphical model rigth?

 

I need to set baseline tumor to 100 at t=0, otherwise the model is useless.

 

Maybe you have an idea how to achieve this?

 

Best,

Joao

Attached Thumbnails

  • Capture.JPG


#4 serge guzy

serge guzy

    Advanced Member

  • Members
  • PipPipPip
  • 485 posts

Posted 17 June 2016 - 08:15 AM

That's great Serge. Thank you for the quick reply.

 

If you look at the built-in models, there is a sequence statment (see print screen). So this must be possible using the graphical model rigth?

 

I need to set baseline tumor to 100 at t=0, otherwise the model is useless.

 

Maybe you have an idea how to achieve this?

 

Best,

Joao

Dear Joao

The answer is no and here is the reason.

What has been implemented is the special case of initial steady state PD indirect response models (your systemtn is assumed to be at steady state before you give the drug).

the sequence statement has been implemented there but is linked to kin and kout.

E=kin/kout at t=0. Now kin and kout are also in the deriv statement and therefore you cannot use the graphical indirect response model and just parametrize kin and kout to match your deriv statement for tumor inhibition because you need in fact kin/kout to be fixed to 100 in your sequence statement.

 

Best Regards

Serge



#5 j.pereira

j.pereira

    Advanced Member

  • Members
  • PipPipPip
  • 38 posts

Posted 17 June 2016 - 08:17 AM

Thank you Serge,

 

maybe that is a suggestion for the next version of Phoenix - being able to use sequence statements in the graphical mode.

 

Best,

Joao



#6 serge guzy

serge guzy

    Advanced Member

  • Members
  • PipPipPip
  • 485 posts

Posted 17 June 2016 - 08:22 AM

agree with you. Not sure it is so easy.

Best Regards

Serge



#7 Lance Wollenberg

Lance Wollenberg

    Advanced Member

  • Members
  • PipPipPip
  • 36 posts

Posted 07 November 2016 - 08:24 PM

Hi Serge,

 

Is there a way to fit the baseline for each individual patient without "hard coding" in each individual baseline as a covariate.

 

I have written the baseline into the sequence statement 

sequence{E=E0}

stparm(E0 = tvE0 * exp(nE0))

fixef(tvE0 = c(, 30, ))

and the appropriate ranef (nE0), but this seems to be particularly taxing to the model.

 

Is there a way to fit tumor size at time zero in PML?

 

Thanks

Lance



#8 serge guzy

serge guzy

    Advanced Member

  • Members
  • PipPipPip
  • 485 posts

Posted 08 November 2016 - 03:51 AM

Dear Lance

This should be the way. I would need the project to be able to debug.

Ask a table as output and click on structural parameters. You will get for each individual the bayesian estimate of E0.

Send me the project and if confidential, just change your data set to be available to everybody.

Without that, diffivult to help.

best Regards

Serge



#9 Lance Wollenberg

Lance Wollenberg

    Advanced Member

  • Members
  • PipPipPip
  • 36 posts

Posted 09 November 2016 - 07:39 PM

Thanks Serge,

 

On a somewhat related note. I have a TGI data set combined with test agent and active comparator arms. I like to use the active comparator arm and the test agent arm to simulatneously model the effect of TGI in the model. How do you go about setting a flag to drive in the dataset to test two run two different sets of differential equations which are then used to drive tumor effect which share a common set of tumor growth and resistance parameters but separate drug effect parameters.

 

Thanks!

Lance 



#10 Lance Wollenberg

Lance Wollenberg

    Advanced Member

  • Members
  • PipPipPip
  • 36 posts

Posted 09 November 2016 - 07:58 PM

Thanks Serge,

 

On a somewhat related note. I have a TGI data set combined with test agent and active comparator arms. I like to use the active comparator arm and the test agent arm to simulatneously model the effect of TGI in the model. How do you go about setting a flag to drive in the dataset to test two run two different sets of differential equations which are then used to drive tumor effect which share a common set of tumor growth and resistance parameters but separate drug effect parameters.

 

Thanks!

Lance 



#11 Lance Wollenberg

Lance Wollenberg

    Advanced Member

  • Members
  • PipPipPip
  • 36 posts

Posted 09 November 2016 - 07:59 PM

Here was they way I thought I could achieve this, but I the model does not like recieving a blank covariate value for the unused parameters in (covariate)



#12 serge guzy

serge guzy

    Advanced Member

  • Members
  • PipPipPip
  • 485 posts

Posted 09 November 2016 - 08:51 PM

I do not see anyv attachment but you can put a flag in the differential equation where oyu put both terms for both cases and an index 0,1 to differentiate between them

# a and b are whatever you want for each case

deriv(test)=a*index+b*(1-index)

# for example index condition

index=(t<2?1:0)

 

Best

Serge



#13 Lance Wollenberg

Lance Wollenberg

    Advanced Member

  • Members
  • PipPipPip
  • 36 posts

Posted 10 November 2016 - 03:48 PM

Sorry,

 

I tried to upload a .txt and I dont think the forum allows that.  Here is the PHX project.  I am still a bit confused on how your code gets implemented.  There are two PK models which influence 2 PD models which share the same parameters (with the exception of the drug effect parameter) as the assumption of the modeling exercise is that the tumor dynamics are similar. I though I could trick the model and pipe in separate covariates for each PK model and have them converge on a single PD model. How would you go about integrating the two scenarios together to look at differential TGI across treatment types but within a study?

Attached Files



#14 mittyright

mittyright

    Advanced Member

  • Members
  • PipPipPip
  • 98 posts

Posted 21 November 2016 - 01:56 PM

Dear Lance,

 

I hope you've found the appropriate solution. As I see you are trying to implement sequential pkpd model. I suspect that using PK parameters as covariates is not good idea for fitting of 2 cpt model. You can freeze these parameters after fitting the PK part or fitting the whole PKPD linked model. The third option is to get C/Cd from PK model (Table01 sheet) and then use C/Cd values as time-varying covariates  

 

Hope it helps,

Mittyright






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users