Implementation of lasso in SAMBA relies on sharp package [1], containing lasso enhanced by stability selection algorithm, and Rsmlx package [2], containing SAMBA algorithm [3]. For lasso, categorical covariates need to be numerical and no missing values in the covariates table.
::install_github("aurianegbt/LSAMBA") devtools
For the example dataset contain in the demo projet in inst/data folder, we simulate for 100 individuals the antibody production by considering two Antibodies secreting cells (ASC), denoted by S -- and L -- (at rates \(\varphi_S\) and \(\varphi_L\) resp.) and characterized by their half-life (\(\delta_S\) and \(\delta_L\) resp.), [4], [5]. Antibodies are supposed to decay at rate \(\delta_{Ab}\). We add significant covariates on \(\varphi_S\), \(\varphi_L\) and \(\delta_{Ab}\) parameters. The mechanistic model is then :
\forall i\leq N,j\leq n_i, \left\{\begin{array}{rcl}
\frac{d}{dt} Ab_i(t_{ij}) &=& {\varphi_S}_i e^{-\delta_S t_{ij}} + {\varphi_L}_i e^{-\delta_L t_{ij}} - {\delta_{Ab}}_i Ab_i(t_{ij}) \\
Ab_i(t_{i0}=0) &=& {Ab_0}
\end{array}\right.
with
\displaystyle\left\{
\begin{array}{rcl}
\log({\varphi_S}_i) &=& \log({\varphi_S}_{pop}) + \eta^{\varphi_S}_i \\
\log({\varphi_L}_i) &=& \log({\varphi_L}_{pop}) + \eta^L_i \\
\log({\delta_{Ab}}_i) &=& \log({\delta_{Ab}}_{pop}) +\eta^{Ab}_i
\end{array}\right.
where
\displaystyle\left\{
\begin{array}{rcl}
\eta^{\varphi_S}_i&\overset{iid}{\sim}&\mathcal N(0,\omega_{\varphi_S}^2) \\
\eta^L_i&\overset{iid}{\sim}&\mathcal N(0,\omega_L^2) \\
\eta^{Ab}_i&\overset{iid}{\sim}&\mathcal N(0,\omega_{Ab}^2)
\end{array}\right.
The observation are the defined as \(Y_{ij} = log_{10}(Ab_i(t_{ij}))+\varepsilon_{ij}\) where
\varepsilon_i\overset{iid}{\sim}\mathcal N(0,\Sigma=\sigma^2_{Ab}I_{n_i})
We then add to the dataset noisy genes in order to have finally 200 covariates. These covariates are correlated gaussian covariates.
To build the model, we will use Monolix software [4] and the Rsmlx package [2] (containing implemented SAMBA algorithm [3]) from which we had several other function to enable our lasso approach.
library(LSAMBA)
<- getMLXdir()
project
= buildmlx(project = project,
res buildMethod = "lasso",
model='covariate',
test=FALSE)
getIndividualParameterModel()
[1] Bodinier B (2024). sharp: Stability-enHanced Approaches using Resampling Procedures. R package version 1.4.6, https://CRAN.R-project.org/package=sharp.
[2] Mihaljevic F, Lavielle M (2024). Rsmlx: R Speaks ‘Monolix’. R package version 2024.1.0, https://CRAN.R-project.org/package=Rsmlx.
[3] Prague M, Lavielle M. SAMBA: A novel method for fast automatic model building in nonlinear mixed-effects models. CPT Pharmacometrics Syst Pharmacol. 2022; 11: 161-172. doi:10.1002/psp4.12742
[4] Pasin CBalelli IVan Effelterre T, Bockstal V, Solforosi L, Prague MDouoguih M, Thiébaut R2019. Dynamics of the Humoral Immune Response to a Prime-Boost Ebola Vaccine: Quantification and Sources of Variation. J Virol93:10.1128/jvi.00579-19.https://doi.org/10.1128/jvi.00579-19
[5] Alexandre M, Prague M, McLean C, Bockstal V, Douoguih M, Thiébaut R; EBOVAC 1 and EBOVAC 2 Consortia. Prediction of long-term humoral response induced by the two-dose heterologous Ad26.ZEBOV, MVA-BN-Filo vaccine against Ebola. NPJ Vaccines. 2023 Nov 8;8(1):174. doi: 10.1038/s41541-023-00767-y. PMID: 37940656; PMCID: PMC10632397.
[6] Monolix, Lixoft SAS, a Simulations Plus company, Version 2024R1, https://lixoft.com/products/monolix/