Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dose-scale analysis to estimate relative bioavailability #580

Open
hrishikesh1985 opened this issue Jan 6, 2022 · 3 comments
Open

Dose-scale analysis to estimate relative bioavailability #580

hrishikesh1985 opened this issue Jan 6, 2022 · 3 comments

Comments

@hrishikesh1985
Copy link

hrishikesh1985 commented Jan 6, 2022

As per the USFDA guidance of Orlistate,( [https://www.accessdata.fda.gov/drugsatfda_docs/psg/PSG_020766.pdf]
Data from PD study on fecal fat excretion should be analyzed based on dose-scale analysis to
estimate relative bioavailability.

Model is y= E0 + Emax* Dose* Fi/ED50 + (Dose*Fi)
Where y = Response, Dose = Administered dose, E0 = Baseline response in the absence
of the drug, Emax = Fitted maximum drug effect, ED50 = Dose required to produce 50%
the fitted maximum effect, and i = Treatment indicator (0 = Ref, 1 = Test), with the
understanding that F0 = 1 and that F1 is the relative potency used to evaluate
bioequivalence.

The same approach has to be used for albuterol Bronchoprovocation study. [https://www.accessdata.fda.gov/drugsatfda_docs/psg/PSG_020503.pdf]
I am struggling to prepare the dataset and model (snapshot attached) in which have four treatment i,e, placebo, test, reference(2 doses) and from which F- relative bioavailability needs to be calculated

Data_al2 <- function() {
  ini({
    temax <- -20
    ted50 <- 20
    te0 <- 1
    eta.emax ~ pdDiag(1)
    eta.ed50 ~1
    eta.e0 ~1
    add.err <- 1
  })
  
  model({
    emax <- (temax *exp(eta.emax))
    ed50 <- (ted50)*exp(eta.ed50)
    e0 <- (te0 * exp(eta.e0))
    eff =   e0 + (((emax)* DOSE)* Frel/((ed50)+(DOSE*Frel)))
    eff ~ add(add.err)
  })
}

img.docx

@mattfidler
Copy link
Contributor

I would suggest changing the independent variable DOSE to time in your dataset and in your model. Perhaps in the future you can declare a different idependent variable in nlmixr but right now it isn't possible.

@mattfidler
Copy link
Contributor

There is some discussion on a similar issue in #517

@hrishikesh1985
Copy link
Author

hrishikesh1985 commented Dec 12, 2022

I am not able to run below code using nlmixr2 package.

Data <- function() {
ini({
temax <- -9.91
ted50 <- 11.9
eta.emax ~ pdDiag(2.9)
add.err <-12.7
})

model({
emax <- (temax + eta.emax)
ed50 <- (ted50)
eff = (((emax)* time)/((ed50)+time))
eff ~ add(add.err)
})
}

Data_fit <- nlmixr(Data, data_import,est = "focei", foceiControl(derivMethod = "central" ))

Error i got: lotri syntax error:

:001: temax <- -9.91
:002: ted50 <- 11.9
lotri error:
bad matrix expression: 'eta.emax ~ pdDiag(2.9)'
matrix expression should be 'name ~ c(lower-tri)'
:003: eta.emax ~ pdDiag(2.9)
:004: add.err <- 12.7

Error: lotri syntax errors above

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants