Science Score: 39.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.5%) to scientific vocabulary
Keywords
bayesian
model-informed-precision-dosing
pharmacokinetics
precision-medicine
therapeutic-drug-monitoring
Last synced: 6 months ago
·
JSON representation
Repository
Model-Informed Precision Dosing (MIPD) with R
Basic Info
- Host: GitHub
- Owner: levenc
- License: agpl-3.0
- Language: R
- Default Branch: main
- Homepage: https://levenc.github.io/posologyr/
- Size: 13.1 MB
Statistics
- Stars: 15
- Watchers: 2
- Forks: 1
- Open Issues: 2
- Releases: 10
Topics
bayesian
model-informed-precision-dosing
pharmacokinetics
precision-medicine
therapeutic-drug-monitoring
Created almost 5 years ago
· Last pushed 8 months ago
Metadata Files
Readme
Changelog
License
README.Rmd
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
set.seed(1)
```
# posologyr [
](https://github.com/levenc/posologyr/)
[](https://github.com/levenc/posologyr/actions/workflows/R-CMD-check.yaml)
[](https://CRAN.R-project.org/package=posologyr)
## Overview
Personalize drug regimens using individual pharmacokinetic (PK) and pharmacokinetic-pharmacodynamic (PK-PD) profiles. By combining therapeutic drug monitoring (TDM) data with a population model, `posologyr` offers accurate posterior estimates and helps compute optimal individualized dosing regimens.
Key dosage optimization functions in `posologyr` include:
+ `poso_dose_conc()` estimates the optimal dose to achieve a target concentration at any given time
+ `poso_dose_auc()` estimates the dose needed to reach a target area under the concentration-time curve (AUC)
+ `poso_time_cmin()` estimates the time required to reach a target trough concentration (Cmin)
+ `poso_inter_cmin()` estimates the optimal dosing interval to consistently achieve a target Cmin
Individual PK profiles can be estimated with or without TDM data:
+ `poso_estim_map()` computes Maximum A Posteriori Bayesian Estimates (MAP-BE) of individual PK parameters using TDM results
+ `poso_simu_pop()` samples from the the prior distributions of PK parameters
`posologyr` leverages the simulation capabilities of the
[rxode2](https://github.com/nlmixr2/rxode2) package.
## Installation
You can install the released version of `posologyr` from
[CRAN](https://CRAN.R-project.org) with:
``` {r eval = FALSE}
install.packages("posologyr")
```
You can install the development version of `posologyr` from
[GitHub](https://github.com/) with:
```{r eval = FALSE}
# install.packages("remotes")
remotes::install_github("levenc/posologyr")
```
## Bayesian dosing example
To determine the optimal dose of gentamicin for a patient with `posologyr`, you will need:
1. A prior PK model, written in `rxode2` mini-language
In this example, a gentamicin PK from the literature
```{r}
mod_gentamicin_Xuan2003 <- function() {
ini({
THETA_Cl = 0.047
THETA_V = 0.28
THETA_k12 = 0.092
THETA_k21 = 0.071
ETA_Cl ~ 0.084
ETA_V ~ 0.003
ETA_k12 ~ 0.398
ETA_k21 ~ 0.342
add_sd <- 0.230
prop_sd <- 0.237
})
model({
TVl = THETA_Cl*ClCr
TVV = THETA_V*WT
TVk12 = THETA_k12
TVk21 = THETA_k21
Cl = TVl*exp(ETA_Cl)
V = TVV*exp(ETA_V)
k12 = TVk12*exp(ETA_k12)
k21 = TVk21 *exp(ETA_k21)
ke = Cl/V
Cp = centr/V
d/dt(centr) = - ke*centr - k12*centr + k21*periph
d/dt(periph) = + k12*centr - k21*periph
Cp ~ add(add_sd) + prop(prop_sd) + combined1()
})
}
```
2. A table of the patient's TDM data, in a format similar to the data for NONMEM
```{r}
patient_data <- data.frame(ID=1,
TIME=c(0.0,1.0,11.0),
DV=c(NA,9,2),
AMT=c(180,0,0),
DUR=c(0.5,NA,NA),
EVID=c(1,0,0),
ClCr=38,
WT=63)
patient_data
```
### Individual PK profile
With these two elements, you can estimate and plot and the individual concentrations over time.
```{r}
library("posologyr")
```
```{r map_plot}
#| fig.alt: >
#| Plot of the individual profile
patient_map <- poso_estim_map(patient_data,mod_gentamicin_Xuan2003)
plot(patient_map$model,Cc)
```
### Dose optimization
We will optimize the gentamicin dosage for this patient to meet two criteria:
+ A peak concentration of 12 mg/L, 30 minutes after a 30-minute infusion.
+ A trough concentration of less than 0.5 mg/L.
The time required to reach a residual concentration of 0.5 mg/L can be estimated as follows:
```{r}
poso_time_cmin(patient_data,mod_gentamicin_Xuan2003,tdm=TRUE,
target_cmin = 0.5)
```
The dose required to achieve our target concentration can then be determined for an infusion at H48.
```{r}
poso_dose_conc(patient_data,mod_gentamicin_Xuan2003,tdm=TRUE,
target_conc = 12,duration=0.5,time_dose = 48,time_c = 49)
```
In conclusion a dose of 240 mg 48 h after the first injection would be appropriate to meet our 2 criteria.
More examples can be found at: https://levenc.github.io/posologyr/
## Performance of the MAP-BE algorithm in posologyr
`posologyr` showed comparable performance to NONMEM MAP estimation with option `MAXEVAL=0`:
* Pharmaceutics **2022**, 14(2), 442; [doi:10.3390/pharmaceutics14020442](https://doi.org/10.3390/pharmaceutics14020442)
* Supporting data: [https://github.com/levenc/posologyr-pharmaceutics](https://github.com/levenc/posologyr-pharmaceutics)
Owner
- Name: Cyril Leven
- Login: levenc
- Kind: user
- Location: Brest, France
- Website: https://levenc.github.io/posologyr
- Repositories: 1
- Profile: https://github.com/levenc
GitHub Events
Total
- Issues event: 7
- Watch event: 2
- Issue comment event: 8
- Push event: 5
- Pull request event: 4
Last Year
- Issues event: 7
- Watch event: 2
- Issue comment event: 8
- Push event: 5
- Pull request event: 4
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 3
- Total pull requests: 1
- Average time to close issues: 3 months
- Average time to close pull requests: 4 days
- Total issue authors: 3
- Total pull request authors: 1
- Average comments per issue: 2.33
- Average comments per pull request: 1.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 1
- Average time to close issues: 7 days
- Average time to close pull requests: 4 days
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 1.0
- Average comments per pull request: 1.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- levenc (3)
- mattfidler (2)
- crgfn (1)
- andreasmeid (1)
- mat194 (1)
- Theodore-Loach (1)
- Martin-Umpierrez (1)
Pull Request Authors
- mattfidler (4)
Top Labels
Issue Labels
bug (2)
enhancement (2)
documentation (1)
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cran 288 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 6
- Total maintainers: 1
cran.r-project.org: posologyr
Individual Dose Optimization using Population Pharmacokinetics
- Homepage: https://levenc.github.io/posologyr/
- Documentation: http://cran.r-project.org/web/packages/posologyr/posologyr.pdf
- License: AGPL-3
-
Latest release: 1.2.8
published about 1 year ago
Rankings
Stargazers count: 17.5%
Forks count: 21.5%
Dependent packages count: 28.3%
Average: 29.8%
Dependent repos count: 36.9%
Downloads: 44.8%
Maintainers (1)
Last synced:
6 months ago
Dependencies
DESCRIPTION
cran
- R >= 3.5.0 depends
- data.table * imports
- mvtnorm * imports
- rxode2 * imports
- stats * imports
- ggplot2 * suggests
- knitr * suggests
- lotri * suggests
- magrittr * suggests
- rmarkdown * suggests
- testthat >= 3.0.0 suggests
- tidyr * suggests
.github/workflows/R-CMD-check.yaml
actions
- actions/checkout v3 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite