Disso expression not coupling with absorption #853
-
|
Hi rxode team, Consider me as a new user of rxode2. I tried simulating an autoinduction model, which was satisfactory, however when I coupled a dissolution model with depot, I failed to simulate the change in PK profile from the 2nd dose onward. It seems, the convolution is working for 1st and not for subsequent doses. Your guidance will be very helpful. Several questions came up:
Here is the model code: mod1 <-rxode2({
alag(depot) = tlag;
C1 = centr/V1;
C2 = peri/V2;
diss = (t^b/(MDT^b+t^b));
CLind = CLindss*((50000000/Dref))*(1-exp(-0.693*t/T50));
CL = CL0 + CLind;
d/dt(depot) =-ka*depot*diss;
d/dt(centr) = - CL*C1 - Q*C1 + Q*C2 + ka*depot *diss;
d/dt(peri) = Q*C1 - Q*C2;
});
ini <- c(depot=0,centr=0,peri=0);
theta <- c(ka=2,tlag=0.5, CL0 = 16000, CLindss=18000,
V1 = 80000, V2 = 164000, Q = 4400, T50=72,
Dref=50000000, b=2.5,MDT=6);
ev <- et(amountUnits="ng", timeUnits="h") %>%
et(time=0, amt=50000000, ii=12, addl=4) %>%
add.sampling(time=0:72);
solve(mod1,ev,theta,ini) %>% plot(C1)
|
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 7 replies
-
|
Hi @arindampal1981, I think you need to use See: library(rxode2)
#> rxode2 3.0.4 using 10 threads (see ?getRxThreads)
#> no cache: create with `rxCreateCache()`
mod1 <-rxode2({
alag(depot) = tlag;
C1 = centr/V1;
C2 = peri/V2;
diss = (t^b/(MDT^b+t^b));
CLind = CLindss*((dose0(depot)/Dref))*(1-exp(-0.693*tad0(depot)/T50))
CL = CL0 + CLind;
d/dt(depot) =-ka*depot*diss;
d/dt(centr) = - CL*C1 - Q*C1 + Q*C2 + ka*depot *diss;
d/dt(peri) = Q*C1 - Q*C2;
});
#> using C compiler: ‘gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0’
ini <- c(depot=0,centr=0,peri=0);
theta <- c(ka=2,tlag=0.5, CL0 = 16000, CLindss=18000,
V1 = 80000, V2 = 164000, Q = 4400, T50=72,
Dref=50000000, b=2.5,MDT=6);
ev <- et(amountUnits="ng", timeUnits="h") %>%
et(time=0, amt=50000000, ii=12, addl=4) %>%
add.sampling(time=0:72);
solve(mod1,ev,theta,ini) %>% plot(C1)ev <- et(amountUnits="ng", timeUnits="h") %>%
et(time=0, amt=50000000, ii=12, addl=4, evid=7) %>%
add.sampling(time=0:72)Created on 2025-02-21 with reprex v2.1.1 These are discussed in the rxode2 language reference |
Beta Was this translation helpful? Give feedback.
-
When I look at the ODEs you have, they are not quite the same as what is included in the transit compartment model. To me, reading the model I don't see any reason why there should be anything but an immediate response followed by a slower response. |
Beta Was this translation helpful? Give feedback.
-
|
You could do the classic thing:
Then when they both feed into the central compartment, you should see the immediate and long term release. |
Beta Was this translation helpful? Give feedback.


Hi @arindampal1981,
I think you need to use
dose0(depot)andtad0(depot)to make thiswork with arbitrary doses and dosing times.
See: