Application R/Shiny de pilotage de NONMEM pour la modélisation pharmacocinétique de population (popPK), de bout en bout : générer un control stream, visualiser les données, lancer une estimation, inspecter les GOF et les résultats, produire des rapports, et enchaîner les analyses (sensibilité, bootstrap, jackknife, VPC, comparaison de runs, M3/BQL).
Conçue pour être autonome et sans dépendance fragile : pas de PsN, pas de xpose ; packages CRAN uniquement (base R + ggplot2, tidyverse pour certains scripts d'analyse).
- R ≥ 4.1 (testé sous 4.3).
- NONMEM installé, avec son lanceur
nmfe*.bat— nécessaire pour lancer des runs et les analyses. Le générateur de control stream fonctionne sans. - Windows pour le mode complet (exécution NONMEM, sélecteurs de fichiers natifs).
- Packages R :
install.packages(c("shiny", "DT", "ggplot2", "dplyr", "readr", "purrr", "tibble"))Au démarrage, l'application vérifie ces packages et affiche un message clair avec la commande d'installation si l'un manque.
- Récupérez les fichiers de l'application.
- Respectez impérativement cette disposition :
<dossier de votre choix>/
├── app.R ← à la racine
└── R/ ← TOUS les autres fichiers .R
Shiny source automatiquement le contenu de R/ au démarrage. Ne déplacez pas
app.R dans R/, et ne sortez pas les autres fichiers de R/.
Depuis RStudio : ouvrez app.R puis cliquez Run App.
Depuis la console R :
shiny::runApp("chemin/vers/le/dossier/de/l/app")- Ouvrez l'onglet Étude & runs (le premier, en évidence).
- Renseignez :
- le répertoire de l'étude (où seront stockés runs et sorties) ;
- le lanceur NONMEM (
nmfe*.bat) — pour exécuter des runs. Sous Windows, les boutons Parcourir… ouvrent un sélecteur natif au premier plan.
- Passez au Générateur pour construire un control stream, puis à Lancer, Résultats, Analyses, etc.
Le lanceur NONMEM est mémorisé pour la machine (~/.nmtree/config.rds) ; la base
de runs est propre à chaque étude (dossier .nmtree/ de l'étude).
| Onglet | À quoi il sert |
|---|---|
| Étude & runs | Chemins de l'étude et de NONMEM ; matrice des hypothèses (base de runs). |
| Générateur | Construction du control stream (ADVAN/TRANS, voie, absorption, erreur, M3, TMDD…). |
| Données | Spaghetti plots, visualisation BQL, contrôle qualité. |
| Lancer | Exécution NONMEM non bloquante, avec suivi. |
| Éditer | Édition d'un .ctl et création d'un run enfant. |
| Résultats | Paramètres (RSE/IC/shrinkage), GOF, corrélations, ETA ; rapports HTML et PDF. |
| Covariables | Paramètres individuels (EBE), régressions, effets, Wasserstein. |
| Analyses | Sensibilité, bootstrap, jackknife, VPC, comparaison de runs, M3/BQL. |
app.R— point d'entrée (onglets, état partagé).R/aa_dependencies.R— vérification des packages au démarrage.R/nmtree_core.R,R/nmtree_generator.R,R/nmtree_run.R— moteur.R/mod_*.R— un module par onglet.R/nm_*.R— scripts d'analyse (VPC, bootstrap, jackknife, profiling, M3…).
Pour le détail des rôles et un guide « où modifier quoi », voir
NMtree_architecture.md.
- Le mode complet (exécution NONMEM, sélecteurs natifs) suppose Windows. Sur un autre OS, l'interface reste utilisable pour le générateur ; la navigation de fichiers native n'est pas disponible (saisie du chemin au clavier).
- Les chemins de données/
.ctlsont résolus de façon robuste si l'étude est déplacée ou ouverte depuis une autre racine de synchronisation (Dropbox…). - Rapports produits nativement (aucun pandoc/LaTeX requis).
NMtree_architecture.md— architecture détaillée, rôle de chaque script, mécanismes internes et guide de maintenance.
Open-source. MIT
DOI: 10.5281/zenodo.22258717