<figure><img src="image_1.png" /></figure>

HAL
open science

# Mechanistic learning to predict response and survival in immuno-oncology: A modeling journey in immuno-oncology

Sébastien Benzekry

► To cite this version:

Sébastien Benzekry. Mechanistic learning to predict response and survival in immuno-oncology: A modeling journey in immuno-oncology. Doctoral. BIOMAT 2024 - 19th International Summer School, Granada (Spain), Spain. 2024. hal-04990482

HAL Id: hal-04990482

https://inria.hal.science/hal-04990482v1

Submitted on 13 Mar 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Mechanistic learning to predict response and survival in immuno-oncology:
## A modeling journey in immuno-oncology

Sébastien Benzekry

Inria - Inserm team COMPO
COMPutational pharmacology and clinical Oncology
Centre Inria Sophia Antipolis - Méditerranée
Centre de Recherches en Cancérologie de Marseille
# Team composition

## MATHEMATICAL MODELING

* Pr D. Barbolosi
* Dr S. Benzekry
* Dr F. Gattacceca
* Pr. Iliadis (emeritus)

<figure><img src="image_3.png" /></figure>

<figure><img src="image_4.png" /></figure>

## PHARMACOLOGY

* Pr J. Ciccolini
* Dr R. Fanciullino
* Dr A. Rodallec

<figure><img src="image_5.png" /></figure>

## MEDICINE

* Dr D. Boulate (thoracic surgery)
* Pr L. Greillier (thoracic oncology)
* Dr X. Muracciole (radiotherapy)
* Pr S. Salas (medical oncology)

<figure><img src="image_6.png" /></figure>

<figure><img src="image_7.png" /></figure>

## Postdoctoral fellows

* Patricia Piris (CNRS/Inserm, sup. A. Rodallec)

## PhD students

* Anastasiia Bakhmach (Inria, sup. S. Benzekry, R. Fanciullino, S. Garciaz (IPC))

* Salih Benamara (Cifre Sanofi, FG)

* Célestin Bigarré (Inria - Inserm, sup. S. Benzekry and X. Muracciole)

* Mohamed Boussena (Institut Laënnec, sup. S. Benzekry, J. Josse and L. Greillier)

* Mathilde Dacos (APHM, sup. R. Fanciullino)

* Anthéa Deschamps (APHM, sup. F. Gattacceca)

* Hafida Hamdache (Inria - Inserm, sup. S. Benzekry and V. Pancaldi)

* Clémence Marin (AMU, sup. J. Ciccolini)

* Linh Nguyen Phuong (ICI - Laënnec, AMU, sup. S. Benzekry and S. Salas)

* Loic Osanno (APHM, sup. R. Fanciullino)

* Jessica Ou (AMU, sup. F. Gattacceca)

* Dorian Protzenko (sup. J. Ciccolini)

* Antonin Ronda (sup. J. Ciccolini)

## Engineers

* Andrea Vaglio (AMU, sup. S. Benzekry)
# Mechanistic learning

<figure><img src="image_8.png" /></figure>
# Table of contents

1. Background and objectives

2. Studies, patients and data

3. Exploratory data analysis – baseline data

4. Analysis of high-dimensional transcriptomic and mutational data

* Transcriptomic data (RNAseq)

* Mutation data (FMI and tumor mutational burden)

5. Longitudinal data

* Tumor kinetics: NLME modeling

* Blood markers kinetics

* Exploratory data analysis

* Nonlinear mixed-effects modeling

6. Machine learning

* Methods

* Variable selection

* Individual predictions

* Study (trial)-level predictions

7. Mechanistic modeling

* kML 2.0

* cfDNA – SChISM

8. Advanced biomarkers: PIONeeR and QUANTIC
<figure><img src="image_9.png" /></figure>

# Background and objectives
# Clinical challenge

* Lung cancer is the **leading cause** of cancer-related death (25.3 % of all cancer deaths, 13.6 % of new cancer cases)

* 57 % are metastatic at diagnosis (stage IV), 5-year overall survival rate is poor (18.6 %)

* Introduction of new immunotherapies (immune checkpoint inhibitors) in the 2010's has **revolutionized** treatment of advanced lung cancer

* 20–30 % of patients have long term response (> 10 years)

* Prediction of overall survival from baseline or early data could help

* guide treatment decision during clinical **drug development** (e.g., combo trials, predict OS from tumor phase I/II data)

* inform **personalized health care**

* Current state of the art

* Only predictive biomarker used in the clinic: PDL1 expression from immunohistochemistry<fnref n="1" /> (AUC = 0.601)

* Predictive model from **baseline** clinical and biological data: ROPRO score<fnref n="2" />

* 27 variables

* Developed on 120k+ patients over multiple cancer types

* C-index = 0.69 on OAK as independent test set

* Predictive value of **transcriptomic and mutation** data is unclear

* **Tumor kinetics** model parameter growth rate (KG) has important predictive power of hazard ratio (HR)<fnref n="3" />

* Predictive value of kinetics of **blood markers** (lab tests) is unclear

<figure><img src="image_10.png" /></figure>

Brahmer et al., NEJM 2015

<footnote n="1">¹ Rizvi, H. et al., J Clin Oncol Molecular Determinants of Response to Anti-Programmed Cell Death (PD)-1 and Anti-Programmed Death-Ligand 1 (PD-L1) Blockade in Patients with Non-Small-Cell Lung Cancer Profiled with Targeted Next-Generation Sequencing. J. Clin. Oncol. 2018, 36, 633–641.</footnote>

<footnote n="2">² Becker, T. et al. An enhanced prognostic score for overall survival of patients with cancer derived from a large real-world cohort. Ann Oncol 31, 1561–1568 (2020).</footnote>

<footnote n="3">³ Claret, L. et al. A Model of Overall Survival Predicts Treatment Outcomes with Atezolizumab versus Chemotherapy in Non-Small Cell Lung Cancer Based on Early Tumor Kinetics. Clin Cancer Res 24, 3292–3298 (2018).</footnote>
Objectives

Digital predictive tools in immuno-oncology for

1. **Personalized** health care: assist oncologist in their therapeutic decisions

2. **Drug development:** anticipate the outcome of late-phase trials
# kinetics – Machine learning (kML) for prediction of OS

## Raw longitudinal data

Tumor Kinetics (TK)
k = 8,635

Blood markers Kinetics (BK)
k = 108,551
Albumin, CRP, Neutrophils, LDH

<figure><img src="image_11.png" /></figure>

Mixed-effects

<figure><img src="image_12.png" /></figure>

## Model-based
individual parameters

TK

BK

<figure><img src="image_13.png" /></figure>

## Survival
outputs

### Individual prognosis

* C-index

* Survival

## Raw baseline data

Clinical characteristics
p = 73

Genomic and Transcriptomic
p = 395 and 58,311

Feature
selection

## Minimal signature

Clinical
characteristics

Genomic and
Transcriptomic

## Machine
Learning

### Clinical trial

* Survival curve

* Hazard ratio
Model development and validation

Model development

<figure><img src="image_14.png" /></figure>

Model validation

<figure><img src="image_15.png" /></figure>
# Objectives – blood markers kinetics (BKs)

* To select BKs of particular interest for kinetics/dynamical modeling

* To investigate whether significant changes are observed on-treatment

* To establish and validate dynamical models able to describe individual kinetics

* To compute individual BK model parameters for further use as features in machine learning (ML) algorithms
# Objectives – Machine Learning (ML)

* To establish preprocess pipelines for each feature type (TK, BK, clinical, RNAseq, mutations)

* To investigate and establish feature selection methods for each feature type

* To train, evaluate, test and select machine learning (ML) survival models

* To establish a minimal model with a reduced number of features

* To evaluate the predictive power of the model at the individual level from early (truncated) data

* To evaluate the predictive power of the model at the study level from early (truncated) data
Studies, patients and data
# Data for model development (Train set) and external validation (Test set)

## Baseline data

* Patients' and disease characteristics
  **p = 73 parameters**

* Transcriptomic and mutational data
  **p = 58,311 and 395**

## Longitudinal data

* Tumor kinetics (TK, SLD)
  **5,570/3,065 observations**

* 4 BK markers (Albumin, CRP, LDH and Neutrophils)
  **61,296/47,255 observations**

<table><thead><tr><th>Study</th><th>Description</th><th>N</th></tr></thead><tbody><tr><td>FIR<br>GO28625</td><td>Phase 2 study for the efficacy and safety of ATZ in advanced NSCLC</td><td>133</td></tr><tr><td>POPLAR<br>GO28753</td><td>Phase 2 randomised controlled trial of ATZ versus docetaxel in NSCLC</td><td>134</td></tr><tr><td>BIRCH<br>GO28754</td><td>Phase 2 study of ATZ in advanced or metastatic NSCLC</td><td>595</td></tr><tr><td>Train</td><td></td><td>862</td></tr><tr><td>Test - OAK<br>GO28915</td><td>Phase 3 RCT of ATZ versus docetaxel (DTX) in patients with previously treated NSCLC</td><td>553 (ATZ)<br>521 (DTX)</td></tr><tr><td>Train + Test</td><td></td><td>1936</td></tr></tbody></table>

Train

Test

NSCLC: Non-Small Cell Lung Cancer; p = number of parameters, N: number of patients treated with atezolizumab (patients from French centers were excluded for legal reasons (N=118)); In total, data from 1074 patients from OAK were used as Test set (553 from the ATZ arm, 521 from the DTX arm); PD: Pharmacodynamic; SLD: Sum of the Largest Diameters. CRP: C Reactive Protein; LDH: Lactate Dehydrogenase.

1. Fehrenbacher L *et al.* Atezolizumab versus docetaxel for patients with previously treated non-small-cell lung cancer (POPLAR): a multicentre, open-label, phase 2 randomised controlled trial. Lancet (2016)

2. Fehrenbacher L *et al.* Updated Efficacy Analysis Including Secondary Population Results for OAK: A Randomized Phase III Study of Atezolizumab versus Docetaxel in Patients with Previously Treated Advanced Non-Small Cell Lung Cancer. Journal of Thoracic Oncology (2018)

3. Solange Peters *et al.* Phase II Trial of Atezolizumab As First-Line or Subsequent Therapy for Patients With Programmed Death-Ligand 1-Selected Advanced Non-Small-Cell Lung Cancer (BIRCH). JCO (2017)

4. Spigel D.R *et al.* FIR: Efficacy, Safety, and Biomarker Analysis of a Phase II Open-Label Study of Atezolizumab in PD-L1-Selected Patients With NSCLC. Journal of Thoracic Oncology (2018)
## Combotherapy studies (test)

<table><thead><tr><th>Studies</th><th>Study Description</th><th>Population</th><th>Arms</th><th>N</th></tr></thead><tbody><tr><td rowspan="3">IMPOWER150<br>GO29436</td><td rowspan="3">Phase 3 randomized controlled trial that evaluated the efficacy and safety of anti-programmed death-ligand 1 (PD-L1) atezolizumab in combination with bevacizumab and chemotherapy</td><td rowspan="3">First line advanced non-squamous NSCLC</td><td>Atezolizumab + Bevacizumab + Carboplatin + Paclitaxel (ABCP)</td><td rowspan="3">1,115</td></tr><tr><td>Bevacizumab + Carboplatin + Paclitaxel (BCP)</td></tr><tr><td>Atezolizumab + Carboplatin + Paclitaxel (ACP)</td></tr><tr><td rowspan="3">IMPOWER131<br>GO29437</td><td rowspan="3">Phase 3 randomised controlled trial of atezolizumab in combination with carboplatin and (nab)-paclitaxel</td><td rowspan="3">First line advanced squamous NSCLC</td><td>Atezolizumab + Carboplatin + Paclitaxel (ACP)</td><td rowspan="3">967</td></tr><tr><td>Atezolizumab + Carboplatin + nab-Paclitaxel (ACnP)</td></tr><tr><td>Carboplatin + nab-Paclitaxel (CnP)</td></tr><tr><td>Total</td><td></td><td></td><td></td><td>2,082</td></tr></tbody></table>

### References:

1. Socinski, M. A. et al. Atezolizumab for First-Line Treatment of Metastatic Nonsquamous NSCLC. New England Journal of Medicine 378, 2288-2301 (2018)

2. Jotte, R. et al. Atezolizumab in Combination With Carboplatin and Nab-Paclitaxel in Advanced Squamous NSCLC (IMpower131): Results From a Randomized Phase III Trial. J Thorac Oncol 15, 1351-1360 (2020).
State of the art: PDL1 and tumor mutational burden (TMB)

<figure><img src="image_16.png" /></figure>

<figure><img src="image_17.png" /></figure>

<figure><img src="image_18.png" /></figure>
# Data (monotherapy)

5 sources of data:

## Baseline

- clinical and biological characteristics
  73 variables

- RNAseq
  ~ 58k variables

- FMI (mutation data on 395 genes) and tumor mutational burden (TMB)
  385 variables

## Longitudinal

- kinetics of tumor size (investigators' assessed sum of largest diameters)

- kinetics of 10 pharmacodynamic markers
  (neutrophils, lymphocytes, nlr, albumin, CRP, LDH, CD4, CD8, CD19)

<figure><img src="image_19.png" /></figure>

⇒ drop mutations and TMB
# Preprocess rules for the clinical data

Steps

Data characteristics

<figure><img src="image_20.png" /></figure>
Clinical: features marginal distributions

<figure><img src="image_21.png" /></figure>

* Overall, distributions were visually similar for each continuous feature

* Small differences can be seen in these features.

* A noticeable shift in the distributions of hemoglobin, chloride and age is observable.
# Clinical: statistical testing

## Boxplot and t-test of each continuous feature, grouped by their progression status

* t-tests confirm the importance of the features mentioned in the previous slide (except weight and platelets).

<figure><img src="image_22.png" /></figure>

<figure><img src="image_23.png" /></figure>

<figure><img src="image_24.png" /></figure>

* Significant variables : neutrophils, NLR (Neutro./Lymph.), Erythrocytes, T3FR, Lymphocytes and eGFR (e-Glomerular filtration Rate).

<figure><img src="image_25.png" /></figure>

<figure><img src="image_26.png" /></figure>

<figure><img src="image_27.png" /></figure>

<figure><img src="image_28.png" /></figure>

* In total, 15 out of the 40 numerical features were classified as significant by the t-tests.

<figure><img src="image_29.png" /></figure>

<figure><img src="image_30.png" /></figure>

<figure><img src="image_31.png" /></figure>
# Clinical: statistical testing

## Barplot and chi2-test of each categorical feature, grouped by their progression status

<figure><img src="image_32.png" /><figcaption>* 4 / 13 categorical features significant</figcaption></figure>
# Logistic regression

$$p = \mathbb{P}(Y = 1) \in (0,1) \xrightarrow{?} \mathbb{R}$$

$$\frac{p}{1-p} \in (0, +\infty) = \frac{\mathbb{P}(Y = 1)}{\mathbb{P}(Y = 0)} = \text{odds} \approx \text{chance}$$

$$\ln\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 x_1 + \dots + \beta_L x_L$$

**Why not linear regression?**

$$\Leftrightarrow p = \frac{e^{\beta_0 + \beta_1 x_1 + \dots + \beta_L x_L}}{1 + e^{\beta_0 + \beta_1 x_1 + \dots + \beta_L x_L}} = \pi(x)$$

Estimation: likelihood maximization $\rightarrow (\hat{\beta}_0, \hat{\beta}_1)$

Interpretation: for one variable $x$, odds($x$) = $e^{\hat{\beta}_0 + \hat{\beta}_1 x}$

$$\Rightarrow e^{\hat{\beta}} = \frac{\text{odds}(x + 1)}{\text{odds}(x)} = \text{odds ratio} = OR$$

<figure><img src="image_33.png" /></figure>

if $OR = 1.5$ there is a 50% increase of chance of having $Y = 1$ for an increase of $x$ of one unit
# Clinical: univariate tests

## Logistic regression for classification of progression status

<table><thead><tr><th>biomarker</th><th>odds.ratio</th><th>conf.low</th><th>conf.high</th><th>p.value</th><th>signif</th></tr></thead><tbody><tr><td>age</td><td>0.736</td><td>0.594</td><td>0.912</td><td>0.00501</td><td>**</td></tr><tr><td>eGFR</td><td>1.24</td><td>1.01</td><td>1.52</td><td>0.0421</td><td>*</td></tr><tr><td>smokhis_3</td><td>3.04</td><td>1.44</td><td>6.43</td><td>0.00368</td><td>**</td></tr><tr><td>line_2</td><td>2.29</td><td>1.29</td><td>4.06</td><td>0.00466</td><td>**</td></tr></tbody></table>

All features also found significant by the t-tests and chi2 tests previously performed.
Outcome = survival = time-to-event data

<figure><img src="image_34.png" /></figure>
# Methods to analyze survival data

$$S(t) = \mathbb{P}(T \geq t), T \text{ r.v. of death}$$

$$\hat{S}(t) = \prod_{i: t_i \leq t} \left(1 - \frac{d_i}{n_i}\right)$$

$t_i$ = times of events

$d_i$ = nb of deaths at $t_i$

$n_i$ = nb of survivors up to $t_i$

$$S^i(t) = \mathbb{P}(T \geq t | X = x^i) = e^{-\int_0^t h^i(t)}$$

$x^i$ vector of covariates of subject i

$$h^i(t) = h_0(t)e^{\beta^T x^i}$$

## Kaplan-Meier estimation

<figure><img src="image_35.png" /></figure>

log-rank test
p = 0.001

## Cox proportional hazards regression

<figure><img src="image_36.png" /></figure>
# Clinical: univariate tests

## Cox regression for survival analysis

<table><thead><tr><th>biomarker</th><th>hazard.ratio</th><th>conf.low</th><th>conf.high</th><th>p.value</th><th>signif</th></tr></thead><tbody><tr><td>wgt</td><td>0.919</td><td>0.847</td><td>0.996</td><td>0.0393</td><td>*</td></tr><tr><td>bmi</td><td>0.867</td><td>0.799</td><td>0.94</td><td>0.000522</td><td>***</td></tr><tr><td>timediag</td><td>0.831</td><td>0.753</td><td>0.916</td><td>0.000213</td><td>***</td></tr><tr><td>hgb</td><td>0.7</td><td>0.643</td><td>0.761</td><td>8.54e-17</td><td>***</td></tr><tr><td>hct</td><td>0.819</td><td>0.765</td><td>0.877</td><td>1.02e-08</td><td>***</td></tr><tr><td>rbc</td><td>0.857</td><td>0.803</td><td>0.914</td><td>2.93e-06</td><td>***</td></tr><tr><td>gluc</td><td>1.12</td><td>1.04</td><td>1.21</td><td>0.00179</td><td>**</td></tr><tr><td>wbc</td><td>1.43</td><td>1.33</td><td>1.55</td><td>1.95e-20</td><td>***</td></tr><tr><td>alp</td><td>1.29</td><td>1.2</td><td>1.39</td><td>2.09e-11</td><td>***</td></tr><tr><td>sodium</td><td>0.817</td><td>0.754</td><td>0.885</td><td>6.64e-07</td><td>***</td></tr><tr><td>cl</td><td>0.801</td><td>0.742</td><td>0.866</td><td>1.86e-08</td><td>***</td></tr><tr><td>mono</td><td>1.22</td><td>1.14</td><td>1.31</td><td>2.95e-08</td><td>***</td></tr><tr><td>eGFR</td><td>1.18</td><td>1.1</td><td>1.27</td><td>1.38e-05</td><td>***</td></tr><tr><td>hr</td><td>1.52</td><td>1.4</td><td>1.65</td><td>5.75e-23</td><td>***</td></tr><tr><td>sbp</td><td>0.864</td><td>0.796</td><td>0.938</td><td>0.000515</td><td>***</td></tr><tr><td>albumin</td><td>0.646</td><td>0.596</td><td>0.701</td><td>3.18e-26</td><td>***</td></tr><tr><td>cd19</td><td>0.79</td><td>0.717</td><td>0.872</td><td>2.48e-06</td><td>***</td></tr><tr><td>cd4</td><td>0.779</td><td>0.713</td><td>0.852</td><td>3.71e-08</td><td>***</td></tr><tr><td>crp</td><td>1.64</td><td>1.53</td><td>1.76</td><td>5.81e-42</td><td>***</td></tr><tr><td>ldh</td><td>1.23</td><td>1.15</td><td>1.33</td><td>1.49e-08</td><td>***</td></tr><tr><td>lymphocytes</td><td>0.787</td><td>0.721</td><td>0.859</td><td>8.07e-08</td><td>***</td></tr><tr><td>neutrophils</td><td>1.48</td><td>1.38</td><td>1.59</td><td>1.51e-27</td><td>***</td></tr></tbody></table>

<table><thead><tr><th>biomarker</th><th>hazard.ratio</th><th>conf.low</th><th>conf.high</th><th>p.value</th><th>signif</th></tr></thead><tbody><tr><td>nlr</td><td>1.19</td><td>1.15</td><td>1.24</td><td>2.78e-20</td><td>***</td></tr><tr><td>line_3</td><td>1.11</td><td>1.03</td><td>1.2</td><td>0.00956</td><td>**</td></tr><tr><td>histyp_1</td><td>1.1</td><td>1.01</td><td>1.19</td><td>0.0205</td><td>*</td></tr><tr><td>stage_4</td><td>1.13</td><td>1.05</td><td>1.23</td><td>0.00208</td><td>**</td></tr><tr><td>nbmetabsl_1</td><td>0.831</td><td>0.768</td><td>0.9</td><td>4.92e-06</td><td>***</td></tr><tr><td>nbmetabsl_2</td><td>1.16</td><td>1.07</td><td>1.25</td><td>0.000177</td><td>***</td></tr><tr><td>livermet_1</td><td>1.29</td><td>1.2</td><td>1.39</td><td>1.34e-11</td><td>***</td></tr><tr><td>lesloc_1</td><td>0.887</td><td>0.817</td><td>0.964</td><td>0.00461</td><td>**</td></tr><tr><td>lesloc_2</td><td>1.11</td><td>1.03</td><td>1.19</td><td>0.00821</td><td>**</td></tr><tr><td>lesloc_13</td><td>0.872</td><td>0.805</td><td>0.946</td><td>0.000925</td><td>***</td></tr><tr><td>lesloc_23</td><td>1.08</td><td>1.01</td><td>1.16</td><td>0.0309</td><td>*</td></tr><tr><td>lesloc_34</td><td>1.09</td><td>1.01</td><td>1.17</td><td>0.0227</td><td>*</td></tr><tr><td>lesloc_123</td><td>1.09</td><td>1.01</td><td>1.17</td><td>0.0299</td><td>*</td></tr><tr><td>lesloc_124</td><td>1.08</td><td>1.01</td><td>1.15</td><td>0.0283</td><td>*</td></tr><tr><td>lesloc_135</td><td>1.16</td><td>1.08</td><td>1.24</td><td>4.22e-05</td><td>***</td></tr><tr><td>lesloc_234</td><td>1.1</td><td>1.03</td><td>1.18</td><td>0.00369</td><td>**</td></tr><tr><td>lesloc_1234</td><td>1.16</td><td>1.08</td><td>1.25</td><td>4.05e-05</td><td>***</td></tr><tr><td>lesloc_1235</td><td>1.09</td><td>1.02</td><td>1.17</td><td>0.00849</td><td>**</td></tr><tr><td>lesloc_2345</td><td>1.09</td><td>1.02</td><td>1.16</td><td>0.0129</td><td>*</td></tr><tr><td>pdl1expic_2</td><td>1.1</td><td>1.01</td><td>1.19</td><td>0.0231</td><td>*</td></tr><tr><td>pdl1expic_3</td><td>0.899</td><td>0.827</td><td>0.978</td><td>0.0127</td><td>*</td></tr><tr><td>ecog_1</td><td>1.3</td><td>1.2</td><td>1.42</td><td>3.4e-10</td><td>***</td></tr></tbody></table>
Tumor size kinetics (TK)
Data

<figure><img src="image_37.png" /></figure>

<figure><img src="image_38.png" /></figure>
# Methods

## NonLinear Mixed-Effects modeling
<figure><img src="image_39.png" /></figure>

# Concept

## Population data

<figure><img src="image_40.png" /></figure>

## Individual structural model

<figure><img src="image_41.png" /></figure>

<figure><img src="image_42.png" /></figure>

## Population fit (MLE)

<figure><img src="image_43.png" /></figure>

## Individual fit

<figure><img src="image_44.png" /></figure>
* Classical approaches consider each **subject independently**

Subject $1 \le i \le N$, Time $t_j^i$

Likelihood maximization

<figure><img src="image_45.png" /></figure>

$$y_j^i = M(t_j^i, \theta^i) + \sigma\varepsilon_j^i, \quad \varepsilon_j^i \sim \mathcal{N}(0, 1)$$

$$\hat{\theta}^i = \min_{\theta^i} \sum (y_j^i - M(t_i, \theta^i))^2$$

* **Population approach = mixed-effects**

$$y_j^i = M(t_j^i, \theta^i) + \sigma\varepsilon_j^i, \quad \varepsilon_j^i \sim \mathcal{N}(0, 1)$$

<figure><img src="image_46.png" /></figure>

$$\ln(\theta^i) = \ln(\theta_{pop}) + \eta^i, \quad \eta_i \sim \mathcal{N}(0, \omega^2)$$

<figure><img src="image_47.png" /></figure>

fixed-effects

<figure><img src="image_48.png" /></figure>

random-effects

* Parameters to be estimated = $\theta_{pop}(p), \omega(\frac{p(p+1)}{2})$ and $\sigma$

* Likelihood maximization more complex ⇒ **SAEM algorithm**

<figure><img src="image_49.png" /></figure>

Mixed Effects Models for the Population Approach
Models, Tasks, Methods and Tools

<figure><img src="image_50.png" /></figure>

All different, all equal
Individual Bayesian estimates

<figure><img src="image_51.png" /></figure>
# Double-exponential structural model for TK

* Double (sum of two) exponential model

$$S^i(t) = \begin{cases} S0^i e^{KG^i t}, & t \le 0 \\ S0^i (e^{-KS^i t} + e^{KG^i t} - 1), & t > 0 \end{cases}$$

* $S(t)$ = sum of largest diameters from RECIST (mm) at time $t$

* $KS$ = shrinkage rate (time$^{-1}$)

* $KG$ = regrowth rate (time$^{-1}$)

* $S0$ = baseline SLD at treatment start (mm)

<figure><img src="image_52.png" /></figure>

Previously published, classical for TK

* Initially introduced for PSA dynamics
  *Stein, Oncologist, 2008*

* Used for TK under atezolizumab
  *Claret et al., Clin Cancer Res, 2019*
# The double exponential model was able to describe individual TK

<figure><img src="image_53.png" /><figcaption>## Individual goodness-of-fit (GOF) plots</figcaption></figure>

IWRES = Individual Weighted RESiduals

<figure><img src="image_54.png" /><figcaption>## 20 randomly selected individual fits</figcaption></figure>

Goodness-of-fit quantitatively assessed with residuals-based metric (see methods)
<figure><img src="image_55.png" /></figure>

# Population parameter estimates are well estimated but there is important η - shrinkage

* Good parametric identifiability of the population parameters

## Population parameters

<table><thead><tr><th></th><th>VALUE</th><th>RSE (%)</th></tr></thead><tbody><tr><td colspan="3">Fixed Effects</td></tr><tr><td>KG_pop</td><td>0.005</td><td>6.80</td></tr><tr><td>KS_pop</td><td>0.008</td><td>8.64</td></tr><tr><td>S0_pop</td><td>59.7</td><td>2.58</td></tr><tr><td colspan="3">Standard Deviation of the Random Effects</td></tr><tr><td>omega_KG</td><td>1.36</td><td>3.79</td></tr><tr><td>omega_KS</td><td>1.41</td><td>4.91</td></tr><tr><td>omega_S0</td><td>0.7</td><td>2.77</td></tr><tr><td colspan="3">Error Model Parameters</td></tr><tr><td>a</td><td>6.77</td><td>1.13</td></tr></tbody></table>

* Important η - shrinkage

## Distribution of EBEs for each model parameter

<figure><img src="image_56.png" /></figure>

* Resulting in imprecise individual parameter estimates

## Median of individual RSEs (%) estimated from posteriors

<table><thead><tr><th>Data</th><th>KG</th><th>KS</th></tr></thead><tbody><tr><td>Train all</td><td>43</td><td>82</td></tr></tbody></table>

RSE = relative standard errors

EBE = empirical Bayes estimates
# Table of contents

1. Background and objectives

2. Studies, patients and data

3. Exploratory data analysis – baseline data

4. Analysis of high-dimensional transcriptomic and mutational data

* Transcriptomic data (RNAseq)

* Mutation data (FMI and tumor mutational burden)

5. Longitudinal data

* Tumor kinetics: NLME modeling

* Blood markers kinetics

* Exploratory data analysis

* Nonlinear mixed-effects modeling

6. Machine learning

* Methods

* Variable selection

* Individual predictions

* Study (trial)-level predictions

7. Mechanistic modeling

* kML 2.0

* cfDNA – SChISM

8. Advanced biomarkers: PIONeeR and QUANTIC
# Blood markers kinetics (BK)

## Exploratory data analysis
# Methods

* Exploration of individual variation of each marker compared to baseline (ratio over baseline) at multiple cycle cuts

* Use of survival analysis tools to explore association of these ratios with OS:

* univariate and multivariate Cox regression analysis<fnref n="1" />. Note: all variables were centered and scaled prior to these analyses.

* log-rank tests on Kaplan-Meier-estimated survival curves stratified by tertiles

* Classification of 1-year survival using survival ROC analysis<fnref n="2" />

* Spaghetti plots of individual longitudinal time courses of each marker, stratified by response

* Raw value

* Normalized by baseline value (to detect dynamical variation)

<footnote n="1">¹Commenges D, Jacqmin-Gadda H. - Survival analysis. Dynamical Biostatistical Models. Chapman and Hall/CRC; 2015</footnote>

<footnote n="2">²Heagerty, P. J., Lumley, T. & Pepe, M. S. Time-Dependent ROC Curves for Censored Survival Data and a Diagnostic Marker. Biometrics 56, 337-344 (2000).</footnote>
# Examples of longitudinal kinetics: LDH

Non - normalized

<figure><img src="image_57.png" /></figure>

Normalized by baseline value – early cycles

<figure><img src="image_58.png" /></figure>

8+8 random patients
<figure><img src="image_59.png" /></figure>

# BK markers show moderate kinetic changes at the population level

Boxplots of the temporal variation of all PD markers. Variation = value at cycle X / baseline value. Cycle = Q3W

<figure><img src="image_60.png" /></figure>

* Median variation is approximately 1 for all biomarkers

* As expected from its narrow physiological range, albumin has markedly smaller range of variation

* CRP, marker of inflammation, has markedly wider range of variation
# Cox regression suggests association between the kinetics of some markers and OS

Association between OS and BK variation at given cycles:
Hazard ratios and p-values of univariate Cox regression models

## CYCLE 2 DAY 1

<table><thead><tr><th>biomarker</th><th>N (% missing)</th><th>hazard.ratio</th><th>conf.low</th><th>conf.high</th><th>p.value</th><th>signif</th></tr></thead><tbody><tr><td>neutrophils</td><td>793 (1.73%)</td><td>1.34</td><td>1.10</td><td>1.63</td><td>0.0035</td><td>**</td></tr><tr><td>lymphocytes</td><td>793 (1.73%)</td><td>1.02</td><td>0.93</td><td>1.11</td><td>0.6979</td><td></td></tr><tr><td>nlr</td><td>792 (1.86%)</td><td>1.16</td><td>0.99</td><td>1.35</td><td>0.0643</td><td>.</td></tr><tr><td>albumin</td><td>777 (3.72%)</td><td>0.33</td><td>0.11</td><td>0.95</td><td>0.0392</td><td>*</td></tr><tr><td>crp</td><td>231 (71.38%)</td><td>0.98</td><td>0.94</td><td>1.03</td><td>0.4441</td><td></td></tr><tr><td>ldh</td><td>770 (4.58%)</td><td>0.96</td><td>0.72</td><td>1.29</td><td>0.8007</td><td></td></tr><tr><td>cd4</td><td>725 (10.16%)</td><td>0.98</td><td>0.72</td><td>1.34</td><td>0.9200</td><td></td></tr><tr><td>cd8</td><td>725 (10.16%)</td><td>1.04</td><td>0.95</td><td>1.15</td><td>0.4009</td><td></td></tr><tr><td>cd19</td><td>725 (10.16%)</td><td>1.21</td><td>1.07</td><td>1.37</td><td>0.0028</td><td>**</td></tr></tbody></table>

## CYCLE 3 DAY 1

<table><thead><tr><th>biomarker</th><th>N (% missing)</th><th>hazard.ratio</th><th>conf.low</th><th>conf.high</th><th>p.value</th><th>signif</th></tr></thead><tbody><tr><td>neutrophils</td><td>677 (2.45%)</td><td>1.00</td><td>1.001</td><td>1.00</td><td>2.6e-03</td><td>**</td></tr><tr><td>lymphocytes</td><td>677 (2.45%)</td><td>1.01</td><td>1.002</td><td>1.01</td><td>3.3e-03</td><td>**</td></tr><tr><td>nlr</td><td>679 (2.16%)</td><td>1.08</td><td>1.040</td><td>1.12</td><td>8.3e-05</td><td>***</td></tr><tr><td>albumin</td><td>664 (4.32%)</td><td>0.20</td><td>0.067</td><td>0.61</td><td>4.6e-03</td><td>**</td></tr><tr><td>crp</td><td>645 (7.06%)</td><td>1.01</td><td>0.999</td><td>1.03</td><td>8.0e-02</td><td>.</td></tr><tr><td>ldh</td><td>653 (5.91%)</td><td>1.89</td><td>1.372</td><td>2.62</td><td>1.0e-04</td><td>***</td></tr><tr><td>cd4</td><td>628 (9.51%)</td><td>0.79</td><td>0.557</td><td>1.11</td><td>1.7e-01</td><td></td></tr><tr><td>cd8</td><td>628 (9.51%)</td><td>1.00</td><td>0.766</td><td>1.30</td><td>9.9e-01</td><td></td></tr><tr><td>cd19</td><td>628 (9.51%)</td><td>1.19</td><td>1.029</td><td>1.38</td><td>1.9e-02</td><td>*</td></tr></tbody></table>

## CYCLE 5 DAY 1

<table><thead><tr><th>biomarker</th><th>N (% missing)</th><th>hazard.ratio</th><th>conf.low</th><th>conf.high</th><th>p.value</th><th>signif</th></tr></thead><tbody><tr><td>neutrophils</td><td>540 (2.88%)</td><td>1.22</td><td>1.0712</td><td>1.4e+00</td><td>0.00270</td><td>**</td></tr><tr><td>lymphocytes</td><td>539 (3.06%)</td><td>1.00</td><td>0.9046</td><td>1.1e+00</td><td>0.97841</td><td></td></tr><tr><td>nlr</td><td>538 (3.24%)</td><td>1.23</td><td>1.0961</td><td>1.4e+00</td><td>0.00038</td><td>***</td></tr><tr><td>albumin</td><td>522 (6.12%)</td><td>0.15</td><td>0.0437</td><td>5.3e-01</td><td>0.00297</td><td>**</td></tr><tr><td>crp</td><td>505 (9.17%)</td><td>1.00</td><td>0.9949</td><td>1.0e+00</td><td>0.85838</td><td></td></tr><tr><td>ldh</td><td>529 (4.86%)</td><td>1.83</td><td>1.2993</td><td>2.6e+00</td><td>0.00055</td><td>***</td></tr><tr><td>cd4</td><td>5 (99.1%)</td><td>6.17</td><td>0.0022</td><td>1.8e+04</td><td>0.65401</td><td></td></tr><tr><td>cd8</td><td>5 (99.1%)</td><td>90.70</td><td>0.0857</td><td>9.6e+04</td><td>0.20462</td><td></td></tr><tr><td>cd19</td><td>5 (99.1%)</td><td>25.31</td><td>0.4000</td><td>1.6e+03</td><td>0.12677</td><td></td></tr></tbody></table>

* Increase/decrease in LDH is associated with worse/better survival (« physiologically » consistent)

* Increase/decrease in albumin is associated with better/worse survival with strong effect size (hazard ratio)

* Increase/decrease in neutrophils is associated with worse/better survival, smaller effect size
# Tertile-stratified Kaplan-Meier curves confirm association between OS and variation of some markers

<figure><img src="image_61.png" /></figure>

<figure><img src="image_62.png" /></figure>

<figure><img src="image_63.png" /></figure>

<figure><img src="image_64.png" /></figure>

<figure><img src="image_65.png" /></figure>

<figure><img src="image_66.png" /></figure>

<figure><img src="image_67.png" /></figure>

<figure><img src="image_68.png" /></figure>

<figure><img src="image_69.png" /></figure>

⇒ Longitudinal variation (at C3D1) of neutrophils, NLR, albumin, CRP and LDH are significantly associated with OS
# ROC curve analysis confirms association between OS and variation of some PD markers

Survival ROC curves for prediction of 1-year OS from variation of PD markers at C3D1. AUC = area under the curve.
Red squares indicate markers predictive in the previous slide (KM analysis)

<figure><img src="image_70.png" /></figure>

<figure><img src="image_71.png" /></figure>

<figure><img src="image_72.png" /></figure>

<figure><img src="image_73.png" /></figure>

<figure><img src="image_74.png" /></figure>

<figure><img src="image_75.png" /></figure>

<figure><img src="image_76.png" /></figure>

<figure><img src="image_77.png" /></figure>

<figure><img src="image_78.png" /></figure>

⇒ Variations of the markers at C3D1 don't exhibit strong predictive power in ROC analysis (AUC < 0.7)

⇒ Neutrophils, NLR, CRP and LDH still have AUC ≈ 0.6, albumin has AUC ≈ 0.4
# Conclusion: selection of 4 PD markers from statistical exploratory analysis and biological rationale

<table><thead><tr><td>PD marker</td><td>Biological rationale</td></tr></thead><tbody><tr><td>Neutrophils</td><td>Role in inflammation by promoting a favorable microenvironment for cancer cell growth and spread, and activation of carcinogenic signaling pathways.</td></tr><tr><td>Albumin</td><td>Association with patients' nutritional status (cachexic state) - Known to evolve with time in responders</td></tr><tr><td>CRP</td><td>Marker of systemic inflammation. Increased CRP, decrease Albumin level, and increases CRP/Alb ratio were associated with poor survival among Chinese patients with NSCLC.</td></tr><tr><td>LDH</td><td>Elevated LDH level as a marker of cancer cells turnover rate - Role of prediction of potential invisible metastases</td></tr></tbody></table>

## References:

* Soyano AE et al. Peripheral blood biomarkers correlate with outcomes in advanced NSCLC patients treated with anti-PD-1 antibodies. J Immunother Cancer (2018);

* Diem S et al. Neutrophil-to-lymphocyte ratio (NLR) and platelet-to-lymphocyte ratio (PLR) as prognostic markers in patients with non-small cell lung cancer (NSCLC) treated with nivolumab. Lung Cancer (2017)

* Gonzales H et al. Roles of the immune system in Cancer: from tumor initiation to metastatic progression. Gene. Dev. (2018)

* Herbst et al. Predictive correlates of response to the anti-PDL1 MPDL3280A in cancer patients. Nature (2014)

* Kaderbhai et al. The role of molecular profiling to predict the response to CPI in lung. Cancer Review (2019)

* Peng et al. Peripheral blood markers predictive of outcome and immune-related adverse events in advanced NSCLC treated with PD-1 inhibitors. Cancer Immunol. ImmunoT (2020)
# Examples of longitudinal kinetics: LDH

Non - normalized

<figure><img src="image_79.png" /></figure>

Normalized by baseline value – early cycles

<figure><img src="image_80.png" /></figure>

8+8 random patients
# Examples of longitudinal kinetics: neutrophils

Non - normalized

<figure><img src="image_81.png" /></figure>

Normalized by baseline value – early cycles

<figure><img src="image_82.png" /></figure>

7+7 random patients
# Examples of longitudinal kinetics: CRP

Non - normalized

<figure><img src="image_83.png" /></figure>

Normalized by baseline value – early cycles

<figure><img src="image_84.png" /></figure>

7+7 random patients
# Examples of longitudinal kinetics: albumin

Non - normalized

<figure><img src="image_85.png" /></figure>

Normalized by baseline value – early cycles

<figure><img src="image_86.png" /></figure>

8+8 random patients
# Longitudinal kinetics: observations

* High level of noise/intra-individual variability

* No clear emergent kinetic pattern in either of these 4 biomarkers

* Is there any kinetics of response at all?

* The clearest pattern seems to be observed in LDH kinetics (decrease followed by increase)

* As expected with normal ranges fluctuating between 30-40 g/L, serum albumin is quite flat

* High inter-individual variability, especially in baseline value

* No clear association with response

* Progressive patients have less data points, during shorter time frame

* Some missing values during early cycles, especially for CRP

* Several data points are clear outliers/report mistakes

<figure><img src="image_87.png" /></figure>

<figure><img src="image_88.png" /></figure>

<figure><img src="image_89.png" /></figure>
<figure><img src="image_90.png" /></figure>

# Blood markers kinetics (BK)

## Modeling
* Tumor kinetics (TK) : double-exponential model<fnref n="1" />,²

* BK time courses : empirical models³

* Is there any significant kinetics?

* Does it carry predictive value?

* constant? linear? hyperbolic? double-exponential?

<figure><img src="image_91.png" /></figure>

<figure><img src="image_92.png" /></figure>

<figure><img src="image_93.png" /></figure>

* Individual TK and PD model parameters = inputs of the Machine Learning (ML) algorithm

* Model-derived baseline parameters were excluded (baseline markers already in clinical category)

<footnote n="1">¹Stein et al., 2008 (PSA), ²Claret et al. 2018 (SLD, atezolizumab), ³Gavrilov et al. 2020 (NLR, durvalumab)</footnote>
# Empirical structural models for PD

Constant

<figure><img src="image_94.png" /></figure>

$$y^i = \alpha\rho\alpha^i$$

Equivalent of no significant kinetics
Used as a benchmark

Linear

<figure><img src="image_95.png" /></figure>

$$y^i = \alpha\rho\alpha^i + \beta\alpha^i$$

Hyperbolic

<figure><img src="image_96.png" /></figure>

<figure><img src="image_97.png" /></figure>

q

$$y^i = p^i + e^{l^i} \frac{q^i - p^i}{t + e^{l^i}}$$

dexp

<figure><img src="image_98.png" /></figure>

$$y^i = \begin{cases} S0^i e^{KG^i t}, & t \le 0 \\ S0^i (e^{-KS^i t} + e^{KG^i t} - 1), & t > 0 \end{cases}$$

Allows change of monotonicity
Individual fits

<figure><img src="image_99.png" /></figure>

<figure><img src="image_100.png" /></figure>

<figure><img src="image_101.png" /></figure>

<figure><img src="image_102.png" /></figure>

<figure><img src="image_103.png" /></figure>

<figure><img src="image_104.png" /></figure>

<figure><img src="image_105.png" /></figure>

<figure><img src="image_106.png" /></figure>

<figure><img src="image_107.png" /></figure>

<figure><img src="image_108.png" /></figure>

<figure><img src="image_109.png" /></figure>

<figure><img src="image_110.png" /></figure>

<figure><img src="image_111.png" /></figure>

<figure><img src="image_112.png" /></figure>

<figure><img src="image_113.png" /></figure>

<figure><img src="image_114.png" /></figure>

<figure><img src="image_115.png" /></figure>

<figure><img src="image_116.png" /></figure>

<figure><img src="image_117.png" /></figure>

<figure><img src="image_118.png" /></figure>

Time (months)
# Is there any kinetic pattern? Yes !

Corrected Bayesian Information Criterion (BICc x 10³) for four empirical kinetic models of BK. b : standard deviation of the proportional error model

<table><thead><tr><th rowspan="2">Model</th><th colspan="2">Albumin</th><th colspan="2">CRP</th><th colspan="2">LDH</th><th colspan="2">Neutrophils</th></tr><tr><th>BICc</th><th>b</th><th>BICc</th><th>b</th><th>BICc</th><th>b</th><th>BICc</th><th>b</th></tr></thead><tbody><tr><td>Double-exponential</td><td>48.4</td><td>0.058</td><td>28.8</td><td>0.21</td><td>39.9</td><td>0.56</td><td>102</td><td>0.14</td></tr><tr><td>Hyperbolic</td><td>48.0</td><td>0.056</td><td>29.7</td><td>0.22</td><td>40.9</td><td>0.62</td><td>103</td><td>0.14</td></tr><tr><td>Linear</td><td>49.4</td><td>0.063</td><td>30.0</td><td>0.23</td><td>42.4</td><td>0.70</td><td>105</td><td>0.17</td></tr><tr><td>Constant</td><td>49.7</td><td>0.065</td><td>31</td><td>0.25</td><td>43.0</td><td>0.74</td><td>106</td><td>0.18</td></tr></tbody></table>

<figure><img src="image_119.png" /></figure>
<figure><img src="image_120.png" /></figure>

# Albumin : hyperbolic individual fits

## Individual residuals

<figure><img src="image_121.png" /></figure>

<figure><img src="image_122.png" /></figure>

<figure><img src="image_123.png" /></figure>

<figure><img src="image_124.png" /></figure>

* Good description of individual kinetics

* No sign of model misspecification at individual level

## Individual fits in patients with at least 10 data points

<figure><img src="image_125.png" /></figure>

<figure><img src="image_126.png" /></figure>

<figure><img src="image_127.png" /></figure>
# Albumin : hyperbolic model population parameters

Population parameters resulting from SAEM maximum likelihood estimation of the mixed-effects model. RSE = relative standard error

<table><thead><tr><td>Parameter</td><td>Value</td><td>RSE (%)</td></tr></thead><tbody><tr><td>KG_pop</td><td>31</td><td>3.13</td></tr><tr><td>KS_pop</td><td>7.66</td><td>2.51</td></tr><tr><td>S0_pop</td><td>38.5</td><td>0.51</td></tr><tr><td>omega_KG</td><td>0.435</td><td>6.75</td></tr><tr><td>omega_KS</td><td>0.329</td><td>5.91</td></tr><tr><td>omega_S0</td><td>0.117</td><td>3.21</td></tr><tr><td>b</td><td>0.056</td><td>0.75</td></tr></tbody></table>

* Excellent **parametric identifiability** for both population parameters and their SDs (all RSE < 7%)

* Estimation of the standard deviation of the residual error (5.6%) **confirms good individual descriptive power**
Does it carry predictive value? Yes !

<figure><img src="image_128.png" /></figure>
Individual fits : conclusions

* Each biomarker exhibits *significant kinetics* beyond noise around average value

* Demonstrated by superiority of other models to a constant model

* Further, kinetics are better characterized by empirical nonlinear models going further than linear and monotonous kinetics

* Best model was a *sum of two exponentials* except for albumin (hyperbolic)

* Overall *good description at the individual level* in terms of assessment of residuals *except for CRP*

* For CRP, the dexp model is able to correctly fit a majority of patients

* Nevertheless, a substantial proportion of patients exhibit inaccurate fits

* A mixture model could be considered to improve GOF

* However, it would add a parameter and might affect identifiability

* Given the project *time constraints*, it was decided to accept the dexp model for CRP

* PD model parameter estimates of baseline were removed to avoid redundancy with observed baseline value (clinical data)

⇒ **individual kinetic parameters (p = 3 x 4 = 12) are carried further to ML analysis**
# Table of contents

1. Background and objectives

2. Studies, patients and data

3. Exploratory data analysis – baseline data

4. Analysis of high-dimensional transcriptomic and mutational data

* Transcriptomic data (RNAseq)

* Mutation data (FMI and tumor mutational burden)

5. Longitudinal data

* Tumor kinetics: NLME modeling

* Blood markers kinetics

* Exploratory data analysis

* Nonlinear mixed-effects modeling

6. Machine learning

* Methods

* Variable selection

* Individual predictions

* Study (trial)-level predictions

7. Mechanistic modeling

* kML 2.0

* cfDNA – SChISM

8. Advanced biomarkers: PIONeeR and QUANTIC
# Machine learning

## Methods
# Statistical Modeling: The Two Cultures

## Leo Breiman

<figure><img src="image_129.png" /><figcaption>The data modeling culture</figcaption></figure>

*Model validation.* Yes–no using **goodness-of-fit** tests and residual examination.

*Estimated culture population.* 98% of all statisticians.

<figure><img src="image_130.png" /><figcaption>The algorithmic modeling culture</figcaption></figure>

*Model validation.* Measured by **predictive accuracy**.

*Estimated culture population.* 2% of statisticians, many in other fields.

<figure><img src="image_131.png" /><figcaption>Machine
learning</figcaption></figure>

<figure><img src="image_132.png" /></figure>
# Link NLME - ML

* Empirical dynamic models (3 parameters each including baseline)

* LDH, neutrophils, CRP : double-exponential (Stein)

* Albumin : hyperbolic

* Baseline parameter removed to avoid redundancy with observed baseline value (clinical data) and focus on assessment of *dynamic* parameters

* Population prior learned on full time courses in *train set*

* Empirical Bayes estimation of *individual* parameters

* Full time course

* *Truncated* data sets : cycles 3, 5, 10 pre-dose (6, 12 and 24 weeks)

* For test set, use of the prior from the train
# Overall ML methods

* Model elaboration and development performed exclusively on train dataset

i. Determination of preprocess steps

ii. Dimension reduction on RNAseq

iii. Analysis of mutation (FMI) and TMB data (led to exclusion of this data)

iv. Feature selection

v. Minimal signature

vi. Choice of algorithm, tuning method, feature engineering

vii. Post-process functions and metrics: c-index, classification at 1 year (AUC, SE, SP, PPV, NPV), survival curves, calibration curves

* For ii) and iv), extensive use of (nested) cross-validation (10 folds, possibility of multiple replicates)

* Simplification and code cleaning as a package to ensure verifiability and reproductibility

* Test set opened only with final version of the code and all process clear and established
Methods: survival models

* Semi-parametric classical Cox model (Cox, JR Stat Soc Ser B, 1972).

* Random survival forest (RSF) (Ishwaran et al., The Annals of Applied Statistics, 2008)

* Extreme gradient boosting (Lin, survXgboost R package, 2019).

* With accelerated failure time base model

* With Cox base model
# Methods: ML metrics for individual predictions

* Discrimination: C-index (ubiquitous for survival predictions), eqvt AUC

* Calibration curves at landmark survival time: patients are sorted in ascending order of model-predicted probability. They are then binned in 10 groups. For each group, the mean probability of predicted survival is reported on the x-axis. On the y-axis the Kaplan-Meier estimate of the survival in the data of this group is reported, together with its 95% confidence interval.

* Individual prediction metrics for survival at 12 months: AUC (area under the ROC curve), sensitivity, specificity, positive predictive value, negative predictive value

* 1 = death, 0 = alive, thus for instance
  PPV = P(1|+) = probability of model correctly predicting death

* These classification metrics are adapted to censored data (Heagerty et al., Biometrics, 2000), except for accuracy (no existing method).
# Machine learning

## Feature selection
Variable selection

* 5 methods for sorting variables in order of importance were tested and implemented:

* Cox-based

* Stepwise forward/backward

* Least absolute shrinkage and selection operator (LASSO) (Tibshirani, J Royal Stat Soc Series B, 1996)

* Variable importance from the RSF algorithm (mean depth at which variable is used for the split)

* Once sorted, RSF- or Cox-based incremental models are built and CV c-indices are computed. The model corresponding to the highest c-index is selected.

* Multiple strategies investigated

* Feature selection with all variables

* Feature selection per feature set

* Feature selection on pooled selected sets
# Variable selection: Cox p-sorted

## Methodology

<figure><img src="image_133.png" /><figcaption>Example of cross-validated c-index with variables sorted by Cox p-value</figcaption></figure>

<figure><img src="image_134.png" /></figure>
<figure><img src="image_135.png" /></figure>

# Feature selection: LASSO

## Methodology

Cox PH model :

$$h^i(t) = h_0(t)e^{\beta_0 + \beta_1 x_1^i + \dots + \beta_p x_p^i}$$

$$S^i(t) = e^{-\int_0^t h^i(s)ds}$$

Likelihood : $L^i(\beta)$

LASSO : $L^1$ regularization
(penalization)

$$\tilde{L}^i(\beta) = L^i(\beta) + \lambda \sum_{k=1}^{p} |\beta_k|$$

Values of the estimated coefficients
as $\lambda$ decreases

<figure><img src="image_136.png" /></figure>

CV c-indices as $\lambda$ decreases

<figure><img src="image_137.png" /></figure>

For a given $\lambda$, only a subset of variables have $\beta_j \neq 0$. This number decreases as $\lambda$ increases.
# Minimal baseline (mBSL) signature kinetics-ML (kML) model

## Minimal baseline signature

<figure><img src="image_138.png" /></figure>

<figure><img src="image_139.png" /></figure>

* All features sorted using LASSO

* Incremental models with increasing number of features

* Minimal set of features that reaches the plateau

⇒ 11 mBSL variables

⇒ easily clinically accessible

⇒ RNAseq does not carry predictive value

⇒ discarded
# Machine learning

## Predicting individual outcome

### Full time course
# Selection of algorithm and tuning method

*Comparative cross-validated predictive performances of the survival ML models.*

<figure><img src="image_140.png" /></figure>

* For each model, tuning of the hyperparameters was investigated

* Using the default hyperparameters (no tune)

* Tuning the hyperparameters using nested cross-validation (see Methods)

⇒ random survival forest is best

⇒ no need to tune hyperparameters
<figure><img src="image_141.png" /></figure>

# Decision tree

* Stratifying or segmenting the predictor/variable space into simple regions

* Classification tree: vote in each branch

* Regression tree: average in each branch

<figure><img src="image_142.png" /></figure>

<figure><img src="image_143.png" /></figure>

<figure><img src="image_144.png" /></figure>

● = Progression

● = Response
Ensemble method: random forest

<figure><img src="image_145.png" /></figure>
# Model-based outperforms data-based relative change

<figure><img src="image_146.png" /><figcaption>Compared CV c-indices between model-based and data-based longitudinal metrics</figcaption></figure>

Note: 10-fold cross-validation on FIR, BIRCH and POPLAR (train data set). Only relative change from baseline (at cycle 3 pre-dose) used as model metric. Other model-based parameters ignored here for fair comparison

**Objective:** what is the **added value** of NLME modeling compared to just observed data-based kinetic metrics?

* We compared, for multiple cycle landmark times, the predictive power of the **data-based** relative change (in TK and PD) versus the **model-based** relative change (learned from data truncated at cycle X)

⇒ Model-based metrics clearly have both **better predictive power** and **narrower uncertainty**

⇒ This illustrates nicely how dynamic modeling allow to **capture the kinetics and correct for intra-individual stochasticity** (noise)
Predictive performances on the test set

<figure><img src="image_147.png" /></figure>

<figure><img src="image_148.png" /></figure>

6 months

<figure><img src="image_149.png" /></figure>

12 months

<figure><img src="image_150.png" /></figure>

24 months

<figure><img src="image_151.png" /></figure>

<figure><img src="image_152.png" /></figure>

c-index = 0.79

AUC-12 months = 0.86

PDL1 : AUC = 0.65

RoPro: c-index = 0.69 AUC-3 months = 0.817

<figure><img src="image_153.png" /></figure>
Learning curve

<figure><img src="image_154.png" /></figure>

⇒ **200-300 patients** are necessary to learn satisfactorily

⇒ already acceptable performances with **N = 50 patients**
# Machine learning

## Predicting individual outcome

## Individualy-truncated time course
# Truncated data sets – CYCLE

* To avoid *time-covariate bias* (predicting a quantity computed from baseline (OS) using data that are not available at baseline), two truncation strategies have been implemented:

* **CYCLE-based truncation** for **individual predictions**

* **study time-based truncation** for **study-level predictions**

* **CYCLE-based truncation:**

* Allows to avoid ITB because all patients have the same information (for early cycles) and OS prediction from CYCLE X is equivalent to OS from baseline up to X-time shift

* Individual patient data are *truncated* at three possible landmarks based on number of *cycles* received:

* CYCLE 3 DAY 1 = 6 weeks

* CYCLE 5 DAY 1 = 12 weeks

* CYCLE 10 DAY 1 = 27 weeks

* For each cycle truncation, new models are *re-trained* from data on the *truncated train sets*, then used for prediction on the *truncated test sets*, based on the rationale that for prediction, model parameters learned from data up to cycle X should be input of models that learned the relationship between OS and model parameters computed on data up to cycle X as well.

* This allows to assess the predictive power of the model on an *individual basis*, from *early data*
# Predictive value when increasing longitudinal data per patient

C-index on test set when using cycle-based truncated data sets combining baseline and either TK, PD or TK + PD model-derived metrics

<figure><img src="image_155.png" /></figure>

⇒ Predictive value **steadily increases** when increasing the longitudinal data used to derive EBEs

⇒ Significant improvement over predictive value using baseline data is observed from C5D1

⇒ TK is better than PD for early cycles but PD is better than TK for later cycles

⇒ Combining **both TK + PD** is better than TK or PD alone
NKs have distinct performances and are better in combination vs alone

<figure><img src="image_156.png" /></figure>
Feature importance vs time window

kML 1.5 months

<figure><img src="image_157.png" /></figure>

kML 3 months

<figure><img src="image_158.png" /></figure>

kML 6.8 months

<figure><img src="image_159.png" /></figure>
Conclusion 1

* User-friendly code working and functional able to perform all steps separately or together

* data wrangling, preprocess

* NLME fit, NLME Bayesian (truncated or not)

* feature selection (5 possible methods)

* machine learning with different tuning modes, cross-validation/train/test

* > 12,000 lines of code

* Results outperform state-of-the art on test set

* Good performances confirmed by all model assessment methods

* Individual level (PHC) : **c-index 0.8, 1-year AUC 0.9, NPV 0.9, SE 0.9, SP 0.7**

* Results a bit worse for PPV (probability of righteously predicting death at one year): 0.6
# Conclusion 2

* **Minimal signature**

* baseline clinical (11 features), by order of importance: CRP, heart rate, neutrophils, lymphocytes-to-leucocytes ratio, neutrophils-to-lymphocytes ratio, presence of liver metastases, ECOG status, PDL1 expression on tumor cells (level 3, i.e. ≥ 50%), hemoglobin, baseline SLD, LDH

* longitudinal TK - 3 model parameters (but 1 data variable needed). Most informative parameter was KG but we kept the 3 TK parameters instead of KG alone because this slightly improved the predictive power

* longitudinal PD: all PD biomarkers selected are required. LDH, CRP, neutrophils, albumin - 12 parameters (but 4 data needed). Similarly to TK, keeping all model parameters instead of only the most informative ones slightly improved predictive power.

* Best single longitudinal PD features for individual predictions: neutrophils and CRP

* Model-based ratio clearly outperforms data-based ratio

* Models allow to disentangle signal from noise and smoothen intra-individual variability

* Good results also for truncated data

* Needs at least data until cycle 5 pre-dose (~ 3 months)

* Using data up to cycle 10 (~ 6 months) reaches almost same performances as full time course

* 200 patients is enough to train the model, 50 patients is sub-optimal but ok
# Discussion

* In the definition of the minimal signature, strict adherence to our variable selection procedure was leading to exclusion of PDL1, hemoglobin, baseline SLD and baseline LDH. We chose to add them to the signature because: i) they are *established clinical markers* of survival and 2) they are *routine* parameters and don't require specific new measurements

* Results using full time course might be biased (Mistry, 2017):

* prediction of OS calculated from baseline using post-baseline data

* information of OS might already be trivially contained in length of time course (although not directly used in the models) - immortal time bias

* addressed when using *truncated data sets*

* Non-mechanistic PD models

* Raw data highly erratic and noised.

* Not obvious at start if contained any significant kinetics and whether kinetics is predictive

* Empirical models ensured robustness

* Poor predictive results of RNAseq:

* timing of sampling?

* 'big data' -> risk of false positives which lose relevance in predictive analysis
# Table of contents

1. Background and objectives

2. Studies, patients and data

3. Exploratory data analysis – baseline data

4. Analysis of high-dimensional transcriptomic and mutational data

* Transcriptomic data (RNAseq)

* Mutation data (FMI and tumor mutational burden)

5. Longitudinal data

* Tumor kinetics: NLME modeling

* Blood markers kinetics

* Exploratory data analysis

* Nonlinear mixed-effects modeling

6. Machine learning

* Methods

* Variable selection

* Individual predictions

* Study (trial)-level predictions

7. Mechanistic modeling

* kML 2.0

* cfDNA – SChISM

8. Advanced biomarkers: PIONeeR and QUANTIC
Machine learning

*Predicting study outcome*
# Truncated data sets – study time

* To mimic real on-study situations, data was truncated using time from *randomization date*, based on the randomization date of the first patient recruited as time origin.

* Time points of TK and PD posterior to the truncated landmark time are ignored

* But also entire data (including baseline clinical) of patients recruited later than the truncated landmark study time were ignored

<figure><img src="image_160.png" /></figure>
# Study-level prediction of survival HR: methods

* Only the *minimal model* is used

* The model was *trained* on train dataset (i.e., no OAK = POPLAR + BIRCH + FIR)

* *Predict each patient* in test dataset, for each arm (e.g. OAK-ATZ and OAK-DTX)

* The random survival forest model *outputs a predicted survival curve for each patient*

* Each *individual* predicted survival curve gives access to the cumulative density function (cdf = $1 - S(t)$) of the time-to-event random variable. This allows to sample *N* virtual patients (from inverting the cdf using a uniform distribution) (N=100), *for each patient, for each arm*, leading thus to *N* virtual trials.

* For each n, the HR was computed between simulated arm 1 and simulated arm 2 (each patient has a relapse time, all censor STATUS = 1)

* Compute mean and 95% prediction interval for i) simulated survival curves in each arm and ii) HR

* Comparisons between survival data and survival predictions is only made using the *predictable patients* (following preprocess and for patients having *all required 26 features*).
# kML for prediction of the outcome of the OAK phase III trial

* The model **predicted well** survival curves of ATZ and **control arm** (docetaxel) from OAK

* The model was able to **predict ATZ survival benefit** over chemotherapy in OAK

<table><thead><tr><th>Observed HR (95%CI)</th><th>kML Prediction HR (95%PI)</th></tr></thead><tbody><tr><td>0.765<br>(0.64 - 0.913)</td><td>0.765<br>(0.692-0.829)</td></tr></tbody></table>

* Note: the **model PI** is **narrower than the data CI** (!!)

* The relationship between TK and PD metrics and survival is **not drug specific**

<figure><img src="image_161.png" /></figure>
Prediction HR OAK two arms: truncated study time

<figure><img src="image_162.png" /></figure>

<table><tr><td>Data HR (95% CI)</td><td>NA (NA - NA)</td><td>0.486 (0.0863 - 2.73)</td><td>0.697 (0.496 - 0.979)</td><td>0.778 (0.65 - 0.931)</td></tr><tr><td>Predicted HR (95% PI)</td><td>0.836 (0.547 - 1.4)</td><td>0.814 (0.64 - 0.994)</td><td>0.849 (0.746 - 0.934)</td><td>0.784 (0.7 - 0.842)</td></tr><tr><td>Number of patients (DTX - ATZ)</td><td>23 - 30</td><td>125 - 127</td><td>342 - 368</td><td>354 - 377</td></tr><tr><td>Data points (TK/Alb/CRP/LDH/ Neutrophils)</td><td>1/3/3/2/2.5 - 1/2/2/2/2</td><td>2/4/4/4/4 - 2/4/4/4/4</td><td>3/6/5/6/7 - 3/7/6/7/7</td><td>4/8/6/7/8 - 4/9.5/9/9/10</td></tr></table>
**Conclusion**

* Prediction of OAK - ATZ survival curve was *very accurate*

* Prediction of the hazard ratio between ATZ and DTX arms was also *very accurate and precise* (small uncertainty/narrow prediction interval)

• Used the full (modeled) time curves

• Suffers from *immortal time bias* (when using full time courses)

• Nevertheless, it still demonstrates that

⑩ There is a **strong link between TK and PD kinetics and OS**

⑩ The minimal model was able to **accurately learn this link**

* Immortal time bias was addressed by using **truncated data** at landmark cuts from date of randomization of first patient

* The minimal signature model predicted a survival benefit of ATZ over DTX from **25 weeks** data

o At this landmark time, data HR 95% CI was very wide: (0.0863 - 2.73) versus (0.641 - 0.943) predicted by the model

o Previous results had demonstrated such result starting at 40 weeks (Claret et al., *Clin Cancer Res*, 2019)

* **Albumin and neutrophils kinetics** seem to carry the most predictive power at the study level

o albumin = marker of cachexia

o neutrophils = marker of inflammation
# Conclusion and future perspectives
# Conclusion

* The **combination of NLME and ML** allowed to take the best of the two approaches in order to predict survival

* NLME to account for **longitudinal** data

* ML and data science methods to build **multivariable** models from a large number of features

* We found **significant added-value of NLME modeling** in comparison to data-derived kinetic metrics

* NLME allows to disentangle signal from intra-individual variability (noise)

* A final model was established based on a **minimal signature**: 11 baseline clinical features + longitudinal TK (1 variable – 3 parameters) + longitudinal PD (4 variables – 12 parameters)

* Two approaches had to be distinguished, each with its own methods and metrics:

* **individual-level** predictions

* **study-level** predictions

* For each of these two approaches corresponds a method to **truncate** data in order to account for immortal time bias

* **cycle-based** truncation (each patient has data from the same observed duration)

* **study-time** truncation (mimics on-study clinical trial situations, where patients have different observed durations)

* Significant results that hold premise for future applications were obtained in both cases

* individual-level predictions: the obtained metrics (c-index, AUC,...) **outperformed current state-of-the-art** based either on baseline data or TK

* study-level predictions: significant **predictions of HR from study data at 30 weeks**
Further avenues

* More **advanced modeling** of the longitudinal data

* Refined **modeling of CRP kinetics** using, e.g., mixture models

* **Mechanistic** modeling

* Modeling of **individual TK lesions** rather SLD

* **Coupled models** among PD markers and between TK and PD

* Modeling of additional PD markers

* **Joint modeling.** Here, modeling of TK/PD – OS was performed in two-steps. This introduces a bias that can be addressed using joint models<fnref n="1" />.

* In-depth further exploration of the biological **link between PD kinetics and OS**: what PD kinetic patterns lead to improved/worse survival?

* Refined modeling of the RNAseq data using, e.g., **network inference**

* Use **ML imputation methods** (e.g., mice, missForest, amelia) to include mutation and TMB data, or CRP when missing

* Explore the potential of further ML models based, on, e.g., **deep learning**<fnref n="2" />

<footnote n="1">¹ Mbogning, C., Bleakley, K. & Lavielle, M. Joint modelling of longitudinal and repeated time-to-event data using nonlinear mixed-effects models and the stochastic approximation expectation-maximization algorithm. J Stat Comput Sim 85, 1512–1528 (2014)</footnote>

<footnote n="2">² Yousefi, S. et al. Predicting clinical outcomes from large scale cancer genomic profiles with deep survival models. Scientific Reports 7, 11707 (2017).</footnote>
# Mechanistic learning to predict response and survival in immuno-oncology

1. Background and objectives

2. Studies, patients and data

3. Exploratory data analysis – baseline data

4. Analysis of high-dimensional transcriptomic and mutational data

* Transcriptomic data (RNAseq)

* Mutation data (FMI and tumor mutational burden)

5. Longitudinal data

* Tumor kinetics: NLME modeling

* Blood markers kinetics

* Exploratory data analysis

* Nonlinear mixed-effects modeling

6. Machine learning

* Methods

* Variable selection

* Individual predictions

* Study (trial)-level predictions

7. Mechanistic modeling

* kML 2.0

* cfDNA – SChISM

8. Advanced biomarkers: PIONeeR and QUANTIC
Mechanistic modeling

Data: phase 3 **combotherapy (COMBO) trial** IMpower150 (1115 patients, 67,507 data points), combinations of Atezolizumab (ATZ), Bevacizumab and Carboplatin + Paclitaxel

<figure><img src="image_163.png" /></figure>

$$ \frac{dS_1}{dt} = (\alpha - d_1) S_1 $$

$$ \frac{dS_2}{dt} = (\alpha - d_2) S_2 $$

$$ S = S_1 + S_2 $$

$$ A'(t) = \frac{k_A}{1 + p_{\text{INFL}}V} A \left( \frac{A_{\text{eq}}}{A} \right)^{\gamma_A} - k_A \left( 1 + \frac{a_{\text{INFL}}V}{1 + V} \right) A $$

$$ L'(t) = k_L L \left( \frac{L_{eq}}{L} \right)^{\gamma_L} + c(d_1 V_1 + d_2 V_2) + c_0 \mathbf{1}_{V'(t-r)>0} V'(t) - k_L L $$

$$ \frac{dP}{dt} = \frac{k_{\text{PROL}}}{1 + n_{\text{INFL}}} P \left( \frac{N_{\text{eq}}}{N} \right)^{\gamma_N} - k_{\text{TR}} P $$

$$ \frac{dT_i}{dt} = k_{tr} T_{i-1} - k_{tr} T_i $$

$$ \frac{dN}{dt} = k_{TR} T_3 - k_{circ} N $$
Individual fits (Combotherapy)

<figure><img src="image_164.png" /></figure>

Very **heterogenous** BK profiles

The model captures:

- **Early drops** in **albumin** level

- **Early peaks of LDH** level

- **Late sharp increase** of **LDH** level (which usually results in death shortly after)

Identifiability

- All relative standard errors < 34%

- Very small η - shrinkage of the parameters; < 9% (COMBO)
<figure><img src="image_165.png" /></figure>

Beyond classical biomarkers:
PIONeeR – QUANTIC and SChISM
# SChISM
## Size CfDNA Immunotherapies Signature Monitoring

**APHM: S. Salas, Inria / Inserm: S. Benzekry, L. Nguyen, Adelis**

<figure><img src="image_166.png" /></figure>

<figure><img src="image_167.png" /></figure>

<figure><img src="image_168.png" /></figure>

<figure><img src="image_169.png" /></figure>
# A variability of data

APHM: S. Salas, Inria / Inserm: S. Benzekry, L. Nguyen, Adelis

<table><thead><tr><th>Clinical data</th><th>Classic biological data</th><th>cfDNA data</th></tr></thead><tbody><tr><td><strong>Baseline</strong></td><td></td><td><strong>Longitudinal</strong></td></tr><tr><td>81</td><td>87</td><td>15</td><td>11</td></tr><tr><td><ul><li>Clinical assessment</li><li>Comorbidities</li><li>Disease and treatment history</li><li>Genetic mutations</li><li>Immunotherapy type</li></ul></td><td><ul><li>Clinical follow-up</li><li>Tumor kinetics (individual target & non-target lesion kinetics)</li><li>Immunotherapy follow-up</li></ul></td><td><ul><li>Albumin</li><li>LDH</li><li>Eosinophil</li><li>Lymphocytes</li><li>Neutrophils</li></ul></td><td>Fragmentome and its derived metrics</td></tr></tbody></table>

<figure><img src="image_170.png" /></figure>
Predictive value of baseline cfDNA markers

<figure><img src="image_171.png" /></figure>

<figure><img src="image_172.png" /></figure>

<figure><img src="image_173.png" /></figure>

<figure><img src="image_174.png" /></figure>

Relative concentration of
cfDNA >1650 bp (%)

<figure><img src="image_175.png" /></figure>

OVER_1650 = low - OVER_1650 = high

Second peak location
(bp)

<figure><img src="image_176.png" /></figure>

PEAK2 = low - PEAK2 = high
<figure><img src="image_177.png" /></figure>

# Intra-patient variability over time

## Patient 700-13

### Time from first immunotherapy (months): 0

<figure><img src="image_178.png" /></figure>
<figure><img src="image_179.png" /></figure>

Are there kinetics in our cfDNA metrics ?

<table><thead><tr><th rowspan="2">Model</th><th colspan="3">Concentration</th><th colspan="3">Peak 1</th><th colspan="3">Peak 2</th><th colspan="3">Half width</th><th colspan="3">Less than 75</th></tr><tr><th>BICc</th><th>b</th><th>p-value</th><th>BICc</th><th>b</th><th>p-value</th><th>BICc</th><th>b</th><th>p-value</th><th>BICc</th><th>b</th><th>p-value</th><th>BICc</th><th>b</th><th>p-value</th></tr></thead><tbody><tr><td>Double-exponential</td><td>3269</td><td>0.43</td><td>&lt; 0.001</td><td>2225</td><td>0.021</td><td>0.006</td><td>2661</td><td>0.02</td><td>&lt; 0.001</td><td>1807</td><td>0.13</td><td>&lt; 0.001</td><td>-2040</td><td>0.33</td><td>&lt; 0.001</td></tr><tr><td>Hyperbolic</td><td>3306</td><td>0.47</td><td>&lt; 0.001</td><td>2230</td><td>0.021</td><td>0.689</td><td>2664</td><td>0.02</td><td>0.003</td><td>1800</td><td>0.12</td><td>0.5</td><td>-2047</td><td>0.32</td><td>&lt; 0.001</td></tr><tr><td>Linear</td><td>3398</td><td>0.56</td><td>&lt; 0.001</td><td>2222</td><td>0.021</td><td>0.745</td><td>2666</td><td>0.021</td><td>NA</td><td>1807</td><td>0.13</td><td>NA</td><td>-2042</td><td>0.35</td><td>&lt; 0.001</td></tr><tr><td>Constant</td><td>3462</td><td>0.59</td><td></td><td>2216</td><td>0.022</td><td></td><td>2656</td><td>0.021</td><td></td><td>1804</td><td>0.13</td><td></td><td>-2044</td><td>0.35</td><td></td></tr></tbody></table>

<table><thead><tr><th rowspan="2">Model</th><th colspan="3">75-111</th><th colspan="3">111-240</th><th colspan="3">240-370</th><th colspan="3">Tumor kinetic</th></tr><tr><th>BICc</th><th>b</th><th>p-value</th><th>BICc</th><th>b</th><th>p-value</th><th>BICc</th><th>b</th><th>p-value</th><th>BICc</th><th>b</th><th>p-value</th></tr></thead><tbody><tr><td>Double-exponential</td><td>-2040</td><td>0.33</td><td>&lt; 0.001</td><td>-683</td><td>0.15</td><td>&lt; 0.001</td><td>-1577</td><td>0.16</td><td>&lt; 0.001</td><td>882</td><td>0.21</td><td>&lt; 0.001</td></tr><tr><td>Hyperbolic</td><td>-2047</td><td>0.32</td><td>0.004</td><td>-681</td><td>0.15</td><td>&lt; 0.001</td><td>-1580</td><td>0.16</td><td>&lt; 0.001</td><td>875</td><td>0.18</td><td>&lt; 0.001</td></tr><tr><td>Linear</td><td>-2042</td><td>0.35</td><td>NA</td><td>-620</td><td>0.17</td><td>NA</td><td>-1588</td><td>0.16</td><td>&lt; 0.001</td><td>956</td><td>0.42</td><td>NA</td></tr><tr><td>Constant</td><td>-2044</td><td>0.35</td><td></td><td>-631</td><td>0.17</td><td></td><td>-1463</td><td>0.19</td><td></td><td>948</td><td>0.43</td><td></td></tr></tbody></table>

<figure><img src="image_180.png" /></figure>

BICc = corrected Bayesian Information Criterion
<figure><img src="image_181.png" /></figure>

Different processes of cfDNA release

<figure><img src="image_182.png" /></figure>

$$ \frac{dS_S}{dt} = -\epsilon_C \cdot 1_C \cdot S_S - \epsilon_I \cdot I \cdot S_S $$

$$ \frac{dS_R}{dt} = K_G \cdot S_R $$

$$ \frac{dD_S}{dt} = \lambda_X \cdot (\epsilon_C \cdot 1_C \cdot S_S + \epsilon_I \cdot I \cdot S_S) + \lambda_S \cdot S - k_D \cdot D_S + k_n \cdot D_L $$

$$ \frac{dD_L}{dt} = \lambda_L \cdot S' \cdot 1_{S'>0} + \lambda_{AS} \cdot S - k_D \cdot D_L - k_n \cdot D_S $$

$$ \frac{dI}{dt} = \beta \cdot D_L \cdot I - k_I \cdot I $$

<figure><img src="image_183.png" /></figure>

<figure><img src="image_184.png" /></figure>

<figure><img src="image_185.png" /></figure>

<figure><img src="image_186.png" /></figure>

<figure><img src="image_187.png" /></figure>

<figure><img src="image_188.png" /></figure>

<figure><img src="image_189.png" /></figure>

<figure><img src="image_190.png" /></figure>

<figure><img src="image_191.png" /></figure>

<figure><img src="image_192.png" /></figure>

Patient
701-34

Patient
701-1
Inria

<figure><img src="image_193.png" /></figure>

# The PIONeeR and QUANTIC project

Precision Immuno-Oncology for advanced Non-small cell lung cancer patients with PD-1 ICI Resistance

<figure><img src="image_194.png" /></figure>

<figure><img src="image_195.png" /></figure>

INSTITUT
NATIONAL
DU CANCER

<figure><img src="image_196.png" /></figure>

Inserm

Institut national
de la santé et de la recherche médicale

Aviesan

Alliance nationale
pour les sciences de la vie et de la santé
ITMO Cancer

450 pts

<figure><img src="image_197.png" /></figure>

24,287 variables

1,581 markers

<figure><img src="image_198.png" /></figure>

<figure><img src="image_199.png" /></figure>
# 1ST LINE VS ≥2ND LINE PATIENT COHORTS

## ≥2nd line cohort
n=170

Diag
NSCLC Stage <IV
Tumor resection

SoC
EU before 2019
Chemo +/- targeted

Relapse

Anti-PD1/L1 ICI
monotherapy

## 1st line cohort
n=269

Diag
NSCLC Stage IV
Tumor resection or Biopsy

Current SoC EU
Chemo + Anti-PD1

PIONeeR

EU SoC <2019
Chemo +/- targeted

Anti-PD1/L1
+/- Chemo

<figure><img src="image_200.png" /></figure>

<figure><img src="image_201.png" /></figure>

**VS**
FFPE tumor
Blood &
Plasma

V1

<figure><img src="image_202.png" /></figure>

**V2**
R* tumor
Blood &
Plasma

<figure><img src="image_203.png" /></figure>

<figure><img src="image_204.png" /></figure>

<figure><img src="image_205.png" /></figure>

Diag ≥2nd line patients
Diag 1st line patients
Enrollment

<figure><img src="image_206.png" /></figure>

### Blood samples

* Immunoprofiling - 8 panels

* T lymphocytes subsets + targets

* NK cells

* Myeloid subsets

* B lymphocytes subsets

* Soluble markers

* IL6 IL10 TNFα IFNy

* CD25s...

* PK / PD anti-PD1/L1

* Vasculo-monitoring

<figure><img src="image_207.png" /></figure>

<figure><img src="image_208.png" /></figure>

<figure><img src="image_209.png" /></figure>

<figure><img src="image_210.png" /></figure>

<figure><img src="image_211.png" /></figure>

<figure><img src="image_212.png" /></figure>

<figure><img src="image_213.png" /></figure>

<figure><img src="image_214.png" /></figure>

<figure><img src="image_215.png" /></figure>

### FFPE Tumor samples

* Immune infiltration / inhibition

* 7 multiplex IHC tests

* Veracyte, Innate Pharma, CIML

* Whole Exome Sequencing

* Tumor Mutational Burden

<figure><img src="image_216.png" /></figure>

* RNAseq

<figure><img src="image_217.png" /></figure>

<figure><img src="image_218.png" /></figure>

### Additional samples

<figure><img src="image_219.png" /></figure>

Plasma

<figure><img src="image_220.png" /></figure>

Stool sample

* ctDNA
* Microbiome 16S
## 2+ LINE RESULTS (CROSS-VALIDATION ON THE TRAIN SET)
DATA LOCK 2 N = 137 OUTCOME - EARLY PROGRESSION

BUT.... results vanished on the test set !

Predictive markers

selected by LASSO

<figure><img src="image_221.png" /></figure>

Current state of the art:
AUC = 0.64 (PDL 1). 0.65 (PPV)

... partly due to the small number
of patients added at data 3 (28)

Color code

Circulating blood cells

Tumor biomarker

Vascular origin

Routine blood tests

Soluble immune marker
# PIONEER BM
## NARRATIVE

Companion
website

Dashboard

<figure><img src="image_222.png" /></figure>

* 439 patients

* 446 markers

* Outcomes
  Primary resistance (6 mths)
  PFS

<figure><img src="image_223.png" /></figure>

Data VS

<figure><img src="image_224.png" /></figure>

Univariate
Biostats

<figure><img src="image_225.png" /></figure>

Multivariate
Signature

<figure><img src="image_226.png" /></figure>

<figure><img src="image_227.png" /></figure>

Predictive
Model

<figure><img src="image_228.png" /></figure>

<figure><img src="image_229.png" /></figure>

<figure><img src="image_230.png" /></figure>

<figure><img src="image_231.png" /></figure>

<figure><img src="image_232.png" /></figure>

### Selected features at VS

<table><thead><tr><th>label</th><th>partner</th></tr></thead><tbody><tr><td>Line</td><td>basic_clin</td></tr><tr><td>CD4 FOXP3 dens Stroma Tumor</td><td>HDX</td></tr><tr><td>C reactive protein</td><td>clin_bm</td></tr><tr><td>PD-L1 expression 1%</td><td>basic_clin</td></tr><tr><td>Hemoglobin</td><td>clin_bm</td></tr><tr><td>Chlorine</td><td>clin_bm</td></tr><tr><td>Albumin</td><td>clin_bm</td></tr><tr><td>Hematocrit</td><td>clin_bm</td></tr><tr><td>PLR</td><td>clin_bm</td></tr><tr><td>VS CD8 PD1</td><td>InnatePharma</td></tr><tr><td>Red cells</td><td>clin_bm</td></tr><tr><td>VCAM</td><td>MIVBL</td></tr><tr><td>VS CD8 NKG2A</td><td>InnatePharma</td></tr><tr><td>LDH</td><td>clin_bm</td></tr><tr><td>ICAM</td><td>MIVBL</td></tr><tr><td>Quantification perc PD-L1 SG</td><td>ACP</td></tr></tbody></table>

<figure><img src="image_233.png" /></figure>
# CHALLENGES IN PIONEER BM ANALYSIS
## MACHINE LEARNING

<table><thead><tr><td>Difficulties</td><td>Remedies</td></tr></thead><tbody><tr><td>Heterogeneous population</td><td>Outcome definition</td></tr><tr><td>Missing data</td><td>Imputation</td></tr><tr><td>Many, correlated data</td><td>Feature selection</td></tr><tr><td>A priori complex interactions</td><td>Nonlinear models</td></tr><tr><td>Overfitting</td><td>Optimism-correction</td></tr><tr><td>Small n, Large p</td><td>Generative modelling</td></tr></tbody></table>
# WHAT ENDPOINT?
## 2023 SITC GUIDELINES

Progression-free survival

### Second+ line (monotherapy)

<figure><img src="image_234.png" /></figure>

3 months

### Definitions of Primary and Secondary Resistance for ICI Monotherapy²

<table><thead><tr><td>Resistance Phenotype</td><td>Drug Exposure Requirement</td><td>Best response</td></tr></thead><tbody><tr><td>Primary Resistance</td><td>≥ 6 Weeks</td><td>PD; SD for &lt; 6 months*</td></tr></tbody></table>

Tawbi, H. A. et al., Society for Immunotherapy of Cancer (SITC) checkpoint inhibitor resistance definitions: efforts to harmonize terminology and accelerate immuno-oncology drug development, J. Immunother. Cancer 11, e007309 (2023)

### First line (CT + IO)

<figure><img src="image_235.png" /></figure>

### Definitions of Primary Resistance for ICI Combinations

<table><thead><tr><td>Treatment combination</td><td>Exposure requirement</td><td>Best response</td></tr></thead><tbody><tr><td>IO-Chemotherapy³*</td><td>6–8 weeks**</td><td>PD ≤ 6 months***</td></tr></tbody></table>
# DATA
## MISSING VALUES

* **Problem = missing data**

* Solution 1 = basic imputation methods (knn, mice, amelia)

* Not conclusive: don't improve over median / mode imputation

* Solution 2 = low-NA datasets (rm 65%+ NA) for ML

* Solution 3 = rely on univariable as much as possible (stats + FS)

* Solution 4 = optimal transport-based NA imputation

[PhD MB, Muzellec et al., 2020]

<table><tr><td>Basic clinical data</td></tr><tr><td>Basic serum markers</td></tr><tr><td>Immune-monitoring</td></tr><tr><td>Pathology</td></tr><tr><td>Multiplex immunohistochemistry</td></tr></table>

FS = feature selection, ML = machine learning

170 patients, 360 variables, 35% NA

<figure><img src="image_236.png" /></figure>

151 patients, 287 variables, 21% NA

<figure><img src="image_237.png" /></figure>

Variables
# CHALLENGES IN PIONEER BM DATA ANALYSIS
## BIOSTATISTICS

* Problem = multivariable hypothesis testing

* Use multiple statistical tools:

* Model-based: logistic regression, Cox

* Hypothesis testing: t-test, log-rank,...

* Use appropriate tools to control for false discovery rate

<figure><img src="image_238.png" /></figure>

<figure><img src="image_239.png" /></figure>

Variables at VS

<table><thead><tr><th>label ↓</th><th>code ↓</th><th>↓ AUC</th><th>↓ na</th><th>↓ N</th><th>↓ OR uv</th><th>level ↓</th><th>reference uv ↓</th><th>p uv ↓</th><th>↓ signif uv</th><th>↓ OR mv</th><th>p mv ↓</th><th>signif ↓ mv</th><th>p adjust ↓</th></tr></thead><tbody><tr><td>Line</td><td>LINE</td><td>0.625</td><td>0.0%</td><td>435</td><td>2.88 (1.93 - 4.31)</td><td>sup_2</td><td>1</td><td>2.41e-07</td><td>****</td><td>2.89 (1.79 - 4.68)</td><td>1.54e-05</td><td>****</td><td>1.06e-04</td></tr><tr><td>CD4 FOXP3 dens Stroma Tumor</td><td>HDX56L</td><td>0.357</td><td>26.4 %</td><td>319</td><td>0.55 (0.428 - 0.705)</td><td></td><td></td><td>2.62e-06</td><td>****</td><td>0.603 (0.462 - 0.785)</td><td>1.77e-04</td><td>***</td><td>5.77e-04</td></tr><tr><td>C reactive protein</td><td>LBORRES13L</td><td>0.63</td><td>23.2 %</td><td>333</td><td>1.63 (1.29 - 2.06)</td><td></td><td></td><td>4.99e-05</td><td>****</td><td>1.82 (1.37 - 2.42)</td><td>3.79e-05</td><td>****</td><td>7.34e-03</td></tr><tr><td>PD-L1 expression 1%</td><td>ACP22</td><td>0.603</td><td>16.6 %</td><td>362</td><td>2.49 (1.58 - 3.93)</td><td>&lt;1%</td><td>≥1%</td><td>7.93e-05</td><td>****</td><td>2.39 (1.49 - 3.83)</td><td>2.81e-04</td><td>***</td><td>8.74e-03</td></tr></tbody></table>

<figure><img src="image_240.png" /></figure>
Reproducibility and
traceability

<figure><img src="image_241.png" /></figure>

Human.months involved: MK (8), KA (2), CB (5), PD (8), SB (8), MB (2) = 28 h.m
# FEATURE SELECTION (FS)
## CHALLENGES

* **Problem = stability – reproductibility**

• report 15+ FS methods, report on only double bootstrap LASSO

• Solution 1 = double bootstrap LASSO = BOBO

<figure><img src="image_242.png" /></figure>

inconclusive

* **Problem = correlation and hierarchical structure**

• Solution 2 = clustering-based and biologically informed dimension reduction

<figure><img src="image_243.png" /></figure>

inconclusive

• Solution 3 = benchmark multiple FS methods (18)

<figure><img src="image_244.png" /></figure>

inconclusive (all fail)

• Solution 4 = (univariable stats + false discovery rate) x (PRIM_RES + PFS)

<figure><img src="image_245.png" /></figure>

interesting results

• Solution 4 = hierarchical neural network

• ongoing

<figure><img src="image_246.png" /></figure>

Solution 5 = hierarchical multifactorial analysis

<figure><img src="image_247.png" /></figure>

ongoing

LASSO

CD4 FOXP3 dens Stroma Tumor
PD-L1+ non classical monocytes
Calcium
C reactive protein
Line
Red cells

<figure><img src="image_248.png" /></figure>

Features with frequency >= 0.2

ILT
Nui

<figure><img src="image_249.png" /><figcaption>Close-up: corrected AUC computed individually for each bootstrap</figcaption></figure>

CD8 NKG2A+ T cells (MFI)
CD16+ T cells
C5aR+ Classical monocytes

Freq of selection

IV
# METHODS ML

## Problem = overfitting in train / test

* Because of small number (N = 269 + 170 = 439, p = 447) ?

* Because of NA imputation ?

* Because of feature selection ?

Collins et al., Evaluation of clinical prediction models (part 1): from development to external validation, BMJ, 2024

Splitting data at the moment of model development should generally be avoided as it discards data leading to a more unreliable model, whilst leaving too few data to reliably evaluate its performance

* Solution = **drop the train / test approach**

⇒ Define a method (FS + ML)

⇒ Apply to the **entire dataset**

⇒ Evaluate and report **optimism** (= overfitting) using bootstrapped sets

CV train

<figure><img src="image_250.png" /></figure>

Test

<figure><img src="image_251.png" /></figure>
## FIRST INTERPRETATION OF THE 8-FEATURES SIGNATURE

<figure><img src="image_252.png" /></figure>

PD-L1++ patients

High PLR or high number of meta
favors early progression
# PREDICTIVE MODEL

## RESULTS

Apparent (full)

<figure><img src="image_253.png" /></figure>

Optimism-corrected

<figure><img src="image_254.png" /></figure>

<table><thead><tr><th>Classifier</th><th>AUC corr</th><th>AUC bias</th><th>SE corr</th><th>SE bias</th><th>PPV corr</th><th>PPV bias</th></tr></thead><tbody><tr><td>RandomForestClassifier</td><td>0.721</td><td>0.06</td><td>0.669</td><td>0.121</td><td>0.553</td><td>0.035</td></tr><tr><td>HistGradientBoostingClassifier</td><td>0.72</td><td>0.17</td><td>0.557</td><td>0.211</td><td>0.593</td><td>0.193</td></tr><tr><td>ExtraTreesClassifier</td><td>0.718</td><td>0.028</td><td>0.737</td><td>0.007</td><td>0.544</td><td>0.049</td></tr><tr><td>LinearDiscriminantAnalysis</td><td>0.715</td><td>0.055</td><td>0.7</td><td>0.079</td><td>0.536</td><td>0.034</td></tr><tr><td>MLPClassifier</td><td>0.714</td><td>0.154</td><td>0.611</td><td>0.296</td><td>0.564</td><td>0.073</td></tr><tr><td>LogisticRegression</td><td>0.713</td><td>0.057</td><td>0.691</td><td>0.111</td><td>0.533</td><td>0.023</td></tr><tr><td>GradientBoostingClassifier</td><td>0.712</td><td>0.224</td><td>0.538</td><td>0.299</td><td>0.596</td><td>0.246</td></tr><tr><td>ExtraTreesClassifier</td><td>0.709</td><td>0.087</td><td>0.643</td><td>0.14</td><td>0.546</td><td>0.079</td></tr><tr><td>BaggingClassifier</td><td>0.707</td><td>0.293</td><td>0.289</td><td>0.711</td><td>0.68</td><td>0.32</td></tr></tbody></table>

* 14 ML models tested (linear, tree ensembles, neural networks)

* **Best = random forest**
RESULTS

<figure><img src="image_255.png" /></figure>

$$F1 = \frac{2}{\frac{1}{SE} + \frac{1}{PPV}}$$

single markers

only potentially actionable markers (5)
# PREDICTIVE MODEL
## RESULTS

Train

<figure><img src="image_256.png" /></figure>

Test

<figure><img src="image_257.png" /></figure>
# Acknowledgments

* René Bruno

Roche

* Candice Jamois

* François Mercier

* Pascal Chanu

COMPO
COMPUTATIONAL ONCOLOGY

* A. Bakhmach

* M. Boussena

* Célestin Bigarré

* Mélanie Karlsen

* Linh Nguyen

* A Vaglio

<figure><img src="image_258.png" /></figure>

Thank you for your attention! PSSST..... attractive junior chair position and looking for postdocs!
# Appendix
# Data structure

* **Tumor kinetics dataset:** it must be a NONMEM/Monolix formatted (i.e., long format) .csv file containing the following headers: "STUD" (study ID), "ID" (subject ID), "TIMEPK" (time since first drug administration), "DV" (value of SLD), "EVID" (indicator with 0 when measurement corresponds to SLD > 0) see DRF file ATEZOLIZUMAB_TK_DRF_INRIA_17NOV20.docx

* **Pharmacodynamic markers and efficacy dataset:** it must be a NONMEM/Monolix formatted (i.e., long format) .csv file containing the following headers: "STUD" (study ID), "ID" (subject ID), "TIME" (time since first drug administration), "DV" (value of SLD), "EVCD" (index of PD markers, response and survival) see DRF file ATEZOLIZUMAB_EFFICACY_PD_DRF_INRIA_19JAN21.docx for PD markers EVCD codes

* **Baseline clinical dataset:** a .csv file with headers: "STUD" (study ID), "ID" (subject ID) and then one header per clinical/biological variable see DRF file ATEZOLIZUMAB_PATIENTS_CHARACTERISTICS_DRF_09July21.docx

* **Randomization dates dataset:** a .csv file with headers "Study Identifier", "ID", "Date/Time of First Study Treatment", "Date of Randomization"
# NLME TK, LDH, neutrophils and CRP model – mlxtran file

For TK, LDH, neutrophils and CRP, the same structural model is used (double exponential). Consequently, all mlxtran files are identical except for the data path

## <DATAFILE>

## [FILEINFO]

file='../files/no_oak/tk_mlx.csv'

delimiter = comma

header = {ID, TIME, DV, EVID}

## [CONTENT]

ID = {use=identifier}

TIME = {use=time}

DV = {use=observation, name=DV, type=continuous}

EVID = {use event identifier}

## <MODEL>

## [INDIVIDUAL]

input = {KG_pop, omega_KG, KS_pop, omega_KS, S0_pop, omega_S0}

## DEFINITION:

KG = {distribution=logNormal, typical=KG_pop, sd=omega_KG}

KS = {distribution=logNormal, typical=KS_pop, sd=omega_KS}

S0 = {distribution=logNormal, typical=S0_pop, sd=omega_S0}

## [LONGITUDINAL]

input = {a}

file = '../models/double_exponential_tlag_week.txt'

## DEFINITION:

DV = {distribution=normal, prediction=S, errorModel=constant(a)}

## <FIT>

data = DV

model = DV

## <PARAMETER>

KG_pop = {value=1, method=MLE}

KS_pop = {value=1, method=MLE}

S0_pop = {value=1, method=MLE}

a = {value=1, method=MLE}

omega_KG = {value=1, method=MLE}

omega_KS = {value=1, method=MLE}

omega_S0 = {value=1, method=MLE}

## <MONOLIX>

## [TASKS]

populationParameters()

individualParameters(method = {conditionalMean, conditionalMode })

fim(run = false, method = StochasticApproximation)

logLikelihood(run = false, method = ImportanceSampling)

plotResult(method = indfits)

## [SETTINGS]

GLOBAL:

exportpath = 'project'
# NLME TK, LDH, neutrophils and CRP model – model file

For TK, LDH, neutrophils and CRP, the same structural model is used (double exponential)

**DESCRIPTION:**

Tumor growth inhibition model (no PK or exposure).

**[LONGITUDINAL]**

input = {KG, KS, S0}

**EQUATION:**

KG\_day = KG/7

KS\_day = KS/7

tlag = 0

if t<=0

$$S = S0 \cdot \exp(KG\_day \cdot (t-tlag))$$

else

$$S = S0 \cdot (\exp(-KS\_day \cdot (t-tlag)) + \exp(KG\_day \cdot (t-tlag)) - 1)$$

end

**OUTPUT:**

output={S}
# NLME albumin model – mlxtran file

## <DATAFILE>

## [FILEINFO]

file='../../../files/no_oak/albumin.csv'
delimiter = comma
header = {ID, TIME, DV, EVCD}

## [CONTENT]

ID = {use=identifier}
TIME = {use=time}
DV = {use=observation, name=DV, type=continuous}

## <MODEL>

## [INDIVIDUAL]

input = {l_pop, omega_l, p_pop, omega_p, q_pop, omega_q}

## DEFINITION:

l = {distribution=logNormal, typical=l_pop, sd=omega_l}
p = {distribution=logNormal, typical=p_pop, sd=omega_p}
q = {distribution=logNormal, typical=q_pop, sd=omega_q}

## [LONGITUDINAL]

input = {b}

file = '../../../models/hyperbolic.txt'

## DEFINITION:

DV = {distribution=normal, prediction=y, errorModel=proportional(b)}

## <FIT>

data = DV
model = DV

## <PARAMETER>

b = {value=0.3, method=MLE}
l_pop = {value=1, method=MLE}
omega_l = {value=1, method=MLE}
omega_p = {value=1, method=MLE}
omega_q = {value=1, method=MLE}
p_pop = {value=1, method=MLE}
q_pop = {value=1, method=MLE}

## <MONOLIX>

## [TASKS]

populationParameters()
individualParameters(method = {conditionalMean, conditionalMode})
fim(run = false, method = StochasticApproximation)
logLikelihood(run = false, method = ImportanceSampling)
plotResult(method = indfits)

## [SETTINGS]

GLOBAL:
exportpath = 'project'
<figure><img src="image_259.png" /></figure>

# NLME albumin model – model file

**DESCRIPTION:**
Hyperbolic model from Gavrilov et al., CPT:PSP, 2020

[LONGITUDINAL]

input = {p, l, q}

**EQUATION:**

$$y = p + \exp(l) * (q - p)/(t + \exp(l))$$

**OUTPUT:**

output={y}
ML code – main script 1/2

#
# libraries and functions -----
#
setwd(dimame(rstudioapi::getActiveDocumentContext()$path))
source("load_libraries.R")
source("load_setsings.R")
# Place yourself in the package folder before installing overall analysis.
# You might want to read the package README for installation instructions.
# library("overall_analysis")
devtools::load_all("../overall_analysis/")
#
# settings -----
#
dataset_name = "oak" # "oak" # "GO28754_GO28625" "GO28753"
dataset_name_train = "no_oak"
dataset_name_prior_tk = "no_oak" # "GO28754_GO28625"
dataset_name_prior pd = "no_oak" # "GO28754_GO28625"
build_dataset = F # to select the study(ies) or dataset of interest
# NLME
## TK
tasks_tk = c(
  # "preprocess",
  # "fit",
  # "fit_bayesian",
  # "fit_bayesian_truncated",
  # "fit_bayesian_study_times",
  # "export",
  NULL
)
## PD
tasks pd = c(
  # "preprocess",
  # "fit_nlme",
  # "fit_bayesian",
  # "fit_bayesian_truncated",
  # "fit_bayesian_study_times",
  # "export",
  NULL
)

# Clinical
preprocess_clinical_bool = F
# RNAseq
preprocess_rnaseq_bool = F
# Machine learning
tasks_ml = list(
  build_dataset = F,
  run_ml = F,
  job = c("predict"),
  post_process = T,
  NULL
)
features labels = c(
  "clinical",
  "tk",
  "pd_model",
  NULL
)

feature_selection_methods = c(
  list(
    "clinical" = "minimal",
    "ropro" = "no_select",
    "tk" = "no_select",
    "pd_model" = "no_select",
    "pd_data" = "no_select",
    "rnaseq_cox_lasso" = "no_select"),
  map(varibles, function(variable) {
    l_data = list("no_select")
    names(l_data) = variable
    l_model = list("no_select")
    names(l_model) = paste0(varible, "_model")
    return(c(l_data, l_model))) %>% flatten,
    map(pd_data, function(variable) {
      l = list("no_select")
      names(l) = variable
      return(l)) %>% flatten,
      map(cycle horizons, function(.x) {
        l_tk = list("no_select")
        names(l_tk) = paste0("tk_", .x)
        l pd = list("no_select")
        names(l pd) = paste0("pd_model_", .x)
        return(c(l_tk, l pd))) %>% flatten,
        map(study_times, function(.x) {
          l_clin = list("minimal")
          names(l_clin) = paste0("clinical_st_", .x)
          l_tk = list("no_select")
          names(l_tk) = paste0("tk_st_", .x)
          l pd = list("no_select")
          names(l pd) = paste0("pd_model_st_", .x)
          return(c(l_clin, l_tk, l pd))) %>% flatten)
      }
    }
  )
)
ML code – main function 1/2

```R
run_all_analysis = function(
  dataset_name,
  dataset_name_train = NULL,
  dir_features_glob,
  data_paths,
  dir_globTK,
  tk_model_path,
  tasks_tk,
  dataset_name prior_tk = NULL,
  dir_globpd,
  variable_names,
  variables,
  min_nb_few_data = 2,
  model
  tasks pd,
  dataset_name prior pd = NULL,
  cycle_horizons = c(3, 5, 10),
  cycle_length = 21,
  study_times = NULL,
  preprocess_clinicalbool,
  preprocess rnaseq bool,
  preprocess ropro bool = F,
  selected transcripts path,
  tasks ml,
  features labels,
  feature selection methods,
  feature selection options,
  ml models,
  ml models options,
  dir out ml,
  roc survival time = c(365)
)
```

```R
{
  #
  # Runs entire analysis : NLME (TK + PD) then ML (feature selection + modeling)
  #
  #
  # TK -----
  #
  output_dir_files_tk = file.path(d1glob_tk, "files")
  dir.create(output_dir_files_tk, showWarnings = F, recursive = T)
  #
  # Analysis -----
  #
  cat("")
  cat("TK analysis ")
  cat("""")
  generate_tk(
    dataset_name,
    data_tk_path = data_paths$tk,
    output_dir_files_tk = file.path(output_dir_files_tk, dataset_name),
    output_dir_features = file.path(d1features_glob, dataset_name, "tk"),
    tasks = tasks_tk,
    mlx_path = file.path(d1glob_tk, dataset_name),
    model_path = tk_model_path,
    cycle_horizons = cycle_horizons,
    cycle_length = cycle_length,
    bayesianbool = T,
    bayesian prior = file.path(d1glob_tk,
                             dataset_name prior tk,
                             "project.mlxtran"),
    study_times = study_times
  )
  #
  # PD -----
  #
  cat("""")
  cat("PD analysis ")
  cat("""")
  output_dir_files_pd = file.path(d1globPD, "files")
  dir_features_pd = file.path(d1features_glob, dataset_name, "pd_model")
  dir.create(output_dir_files_pd, showWarnings = F, recursive = T)
}
```

```R
#
# Preprocess PD ----
#
if ("preprocess" %in% tasksPD) {
  cat("Preprocess pd... ")
  df PD = preprocessPD(
    file.path(output_dir_filesPD,
    dataset_name),
    name_filePD no ext =
  tools::file_path_sans_ext(basename(data_paths$PD)),
    variable_names = variable_names,
    variables selected = variables,
    cycle horizons = cycle horizons,
    cycle_length = cycle_length,
    study_times = study_times,
    remove_oak = F,
    min_nb_few_data = min_nb_few_data,
    job_mI = tasks_mI$job) %>%
  select(ID, TIME, DV, EVCD)
}
```
ML code – main function 2/2

```python
#
# Analysis -----
#
variables %>% purrr::walk(~ generatepd(
  dataset_name,
  variable = .x,
  dir_glob = dir_globpd,
  tasks = taskspd,
  model_path = file.path(dir_globpd,
                        "models",
                        paste0(model[[.x]], ".txt")
  error_model = "proportional",
  cycle_horizons = cycle_horizons,
  bayesian_p Prior = file.path(d1globpd,
                             dataset_name_p1or_p1d,
                             paste0(.x),
                             "project.mlxtran")
))
#
# Export -----
#
if ("export" %in% taskspd) {
  print("Export the PD model-based parameters")
  export_featurespd(
    dataset_name = dataset_name,
    dir_glob = dir_globpd,
    variables = variables,
    model = model1pds,
    dir_features = dir_featurespd,
    cycle_horizons = cycle_horizons,
    cycle_length = cycle_length,
    study_times = study_times
  )
}
#
# Preprocess clinical -----
#
if (preprocess_clinicalbool == T) {
  cat("Preprocess clinical...\n")
  tmp = preprocess_clinical(
    clinical_path = data_paths$clinical,
    output_dir = file.path(d1features_glob,
                          dataset_name,
                          "clinical"),
    tk_path = data_paths$tk,
    dates_path = data_paths$dates,
    study_times = study_times
  )
}
```

```python
#
# Preprocess ropro -----
#
if (preprocess_ropro_bool == T) {
  cat("Preprocess ropro\n")
  tmp = preprocess_ropro(
    ropro_path = data_paths$ropro,
    output_dir = file.path(d1features_glob,
                          dataset_name,
                          "ropro"))
}
#
# Preprocess RNAseq -----
#
if (preprocess rnaseq bool == T) {
  cat("Preprocess RNAseq and select transcripts from dimension reduction...\n")
  tmp = preprocess_select rnaseq(
    rnaseq_path = data_paths$rnaseq,
    selected_transcripts_path = selected_transcripts_path,
    output_file = file.path(d1features_glob,
                            dataset_name,
                            "rnaseq",
                            "rnaseq_cox class.csv"))
}
#
# Machine learning -----
#
cat("{}")
cat("{}")
#
# Build dataset -----
#
if (tasks ml$build_dataset) {
  cat("Build datasets for ML... \n")
  build Datasets_ML(
    dataset_name = dataset_name,
    dir_features_glob = dir_features_glob,
    output_dir_files pd = output_dir_files pd,
    cycle_horizons = cycle_horizons,
    study_times = study_times,
    variables = variables)
}
```

```python
#
# Train/predict -----
#
if (tasks ml$run_ml) {
  run_ml_analysis(
    df = read csv(file.path(d1features_glob,
                               dataset_name,
                               "survival.csv"), show_col_types =
F),
    path_all_features = file.path(d1features_glob,
                                 dataset_name,
                                 "all_features.csv"),
    dir_features_glob = dir_features_glob,
    dataset_name = dataset_name,
    dataset_name train = dataset_name train,
    features labels = features labels,
    job = tasks ml job,
    feature_selection_methods = feature_selection_methods,
    feature_selection_options = feature_selection_options,
    models = ml models,
    models_options = ml models options,
    roc = roc survival time,
    dir out ml = dir out ml,
    suffix = ml models options$action)
}
```
ML code – main function 2/2

if/tasks_ml$post_process & (tasks_ml$job == "predict"){
    dir.create(file.path(disk_out_ml,
        dataset_name,
        "test_results",
        ml_models,
        "post_processd_results"),
    recursive = T,
    showWarnings = F)
    dir_features = file.path(disk_features_glob,
        dataset_name_train,
        "features_names")
    file_name = paste(
        paste(
            paste(
                features labels,
                "_",
                sep = ""),
                feature_selection_methods[features labels],
                collapse = "_",
                sep = ""),
                ml_models_options@action,
                sep = ""))
    df_survival = read_csv(file.path(disk_features_glob,
        dataset_name,
        "survival.csv"), show_col_types = F)
    file_name_out = file_name # for now, used to output results of predict.
    # changes for study times analysis
    predict_obj = readRDS(file.path(
        dir_out_ml,
        dataset_name,
        "test_results",
        ml_models,
        paste0(file_name_out,
                ".rds")
        ))

#
# Post-process predict -----
#
for (model_label in ml_models){
    post_processPredict(
        df_features_outcome = predict_obj$df %>%
        inner_join(df_survival, by = "ID"),
        predict_res = predict_obj$results,
        file_path_opt_cut_value = file.path(
            dir_out_ml,
            dataset_name_train,
            "cross_validation_no_tune",
            model_label,
            paste0(file_name, ".rds")),
        roc_survival_times = roc_survival_time) %>%
        saveRDS(file.path(
            dir_out_ml,
            dataset_name,
            "test_results",
            model_label,
            "post_processd_results",
            paste0(file_name_out,
                    ".rds")))
}
}
cat("ANALYSIS COMPLETE :) \n")
}
<figure><img src="image_260.png" /></figure>

Supplement
# Multimodal data integration for prediction of early progression from baseline variables through supervised ML: 2nd line monotherapy

## Predictive metrics (logistic regression)

<figure><img src="image_261.png" /></figure>

**Current state of the art:**
AUC = 0.64 (PDL1), 0.65 (TMB)

Early progressors signature = 37 biomarkers selected by LASSO

<figure><img src="image_262.png" /></figure>

**Color code**

Circulating blood cells

Tumor biomarker

Vascular origin

Routine blood tests

Soluble immune marker
# Methods

## Analysis of high-dimensional transcriptomic and mutational data

### i. Transcriptomic data (RNAseq)
<figure><img src="image_263.png" /></figure>

# Analysis workflow for RNAseq

<figure><img src="image_264.png" /></figure>

Differential analysis
on BOR data

Univariate Cox
regression on OS data
<figure><img src="image_265.png" /></figure>

# Analysis workflow for RNAseq
## Differential expression (DE) analysis for BOR

<figure><img src="image_266.png" /></figure>

However, for the rest of the project, we focused on **prediction of OS** and not BOR
GSEA determines whether a defined set of genes shows statistically
significant, concordant differences between two biological states

Gene set enrichment analysis

The peaks based on ranked genes show where the gene sets related to a given pathway
are located in the ranked list

Genes with highest ES
(enrichment score) show a
**positive** correlation with the
biologicale state, here progressive
disease

<figure><img src="image_267.png" /></figure>

In this case, most of genes
involved in this pathway are
upregulated in PD patients →
the pathway is up regulated in
PD

Genes with lowest ES
are negatively
associated with PD

Gene sets with a distinct peak at the beginning or end of the ranked list are generally the most interesting.
<figure><img src="image_268.png" /></figure>

# RNAseq – dimensionality reduction for OS prediction

*Schematic workflow for survival analysis and dimensionality reduction using Cox regression and Cox lasso*

<figure><img src="image_269.png" /></figure>
# Methods

Analysis of high-dimensional transcriptomic and
mutational data

ii. Mutation data (FMI and tumor mutational burden)
# Mutation data (FMI)

*Schematic workflow for summarizing and analyzing FMI data*

<figure><img src="image_270.png" /></figure>

Focus of the project was **prediction of OS** and not BOR
# Results

## Analysis of high-dimensional transcriptomic and
mutational data

### i. Transcriptomic data
# Removal of stable disease patients from DE analysis

Volcano plots showing results of differential expression analysis with or without including SD patients

<figure><img src="image_271.png" /></figure>

⇒ We obtain **more DE genes** when we remove SD patients from analysis

⇒ Higher number of up regulated genes were obtained

All genes in the dataset were ranked from **highest** (up regulated) to **lowest** (down-regulated) log2 FC and resulted ranks were used to perform enrichment analysis (GSEA)
<figure><img src="image_272.png" /></figure>

# Functional enrichment of differential genes

## Examples of Gene set enrichment analysis (GSEA) results based on the ranked list of genes according to the log2FC

The green plot shows the running **Enrichment Score (ES)** for the gene set as the analysis walks down the ranked list.

The score at the peak of the plot (the score furthest from 0.0) is the ES for the gene set.

The vertical bars indicate the position of the corresponding genes in the ranked list.

<figure><img src="image_273.png" /></figure>

The chemical reactions and pathways resulting in the **breakdown of a drug** that has originated externally to the cell or organism

<figure><img src="image_274.png" /></figure>

Cytochrome P450 epoxygenase (GO:0019373), up regulated in PD patients, **promotes cancer metastasis**

* GSEA results indicate that many **biological processes could be altered in the PD patients** compared to responder patients

* For example Cytochrome P450 epoxygenase, up regulated in PD patients, **promotes cancer metastasis**
# Feature selection on univariate Cox analysis

<figure><img src="image_275.png" /><figcaption>Snapshot of result table including most significant genes
(See full table in appendices for all selected genes)</figcaption></figure>

<table><thead><tr><th>SYMBOL</th><th>Ensembl ID</th><th>Z</th><th>HR</th><th>HRlower</th><th>HRupper</th><th>P adjustable</th><th>LogRank adjustable</th></tr></thead><tbody><tr><td>YPEL1</td><td>ENSG00000100027</td><td>-5.8988</td><td>0.739</td><td>0.669</td><td>0.817</td><td>3.15E-05</td><td>3.20E-05</td></tr><tr><td>SMOX</td><td>ENSG00000088826</td><td>5.8763</td><td>1.321</td><td>1.204</td><td>1.449</td><td>3.15E-05</td><td>3.20E-05</td></tr><tr><td>EHBP1</td><td>ENSG00000115504</td><td>5.7456</td><td>1.370</td><td>1.231</td><td>1.526</td><td>4.58E-05</td><td>6.12E-05</td></tr><tr><td>ST3GAL5</td><td>ENSG00000115525</td><td>-5.5948</td><td>0.811</td><td>0.753</td><td>0.873</td><td>6.62E-05</td><td>6.12E-05</td></tr><tr><td>SH3TC2</td><td>ENSG00000169247</td><td>5.5400</td><td>1.167</td><td>1.105</td><td>1.232</td><td>7.56E-05</td><td>6.47E-05</td></tr><tr><td>FAM184A</td><td>ENSG00000111879</td><td>-5.3448</td><td>0.840</td><td>0.788</td><td>0.895</td><td>0.00014</td><td>0.00014</td></tr><tr><td>RFTN1</td><td>ENSG00000131378</td><td>-5.2508</td><td>0.744</td><td>0.666</td><td>0.831</td><td>0.00014</td><td>0.00014</td></tr><tr><td>IKZF3</td><td>ENSG00000161405</td><td>-5.2519</td><td>0.801</td><td>0.737</td><td>0.870</td><td>0.00014</td><td>0.00014</td></tr><tr><td>NPC2</td><td>ENSG00000119655</td><td>-5.2519</td><td>0.804</td><td>0.741</td><td>0.872</td><td>0.00014</td><td>0.00014</td></tr><tr><td>ASAP2</td><td>ENSG00000151693</td><td>5.1924</td><td>1.303</td><td>1.179</td><td>1.441</td><td>0.00015</td><td>0.00014</td></tr><tr><td>MBIP</td><td>ENSG00000151332</td><td>-5.1689</td><td>0.799</td><td>0.734</td><td>0.870</td><td>0.00015</td><td>0.00014</td></tr><tr><td>IPCEF1</td><td>ENSG00000074706</td><td>-5.1877</td><td>0.807</td><td>0.744</td><td>0.875</td><td>0.00015</td><td>0.00015</td></tr><tr><td>SRGAP1</td><td>ENSG00000196935</td><td>5.1130</td><td>1.330</td><td>1.192</td><td>1.484</td><td>0.00018</td><td>0.00018</td></tr><tr><td>CD74</td><td>ENSG00000019582</td><td>-5.0864</td><td>0.803</td><td>0.737</td><td>0.874</td><td>0.00020</td><td>0.00018</td></tr><tr><td>HLA-DRA</td><td>ENSG00000204287</td><td>-5.0499</td><td>0.809</td><td>0.745</td><td>0.878</td><td>0.00021</td><td>0.00021</td></tr><tr><td>CDIP1</td><td>ENSG00000089486</td><td>-5.0761</td><td>0.749</td><td>0.670</td><td>0.837</td><td>0.00020</td><td>0.00021</td></tr><tr><td>PELI1</td><td>ENSG00000197329</td><td>-5.0680</td><td>0.728</td><td>0.644</td><td>0.823</td><td>0.00020</td><td>0.00021</td></tr><tr><td>NUDT2</td><td>ENSG00000164978</td><td>5.0221</td><td>1.305</td><td>1.176</td><td>1.448</td><td>0.00023</td><td>0.00023</td></tr><tr><td>GRID2IP</td><td>ENSG00000215045</td><td>-5.0236</td><td>0.815</td><td>0.753</td><td>0.883</td><td>0.00023</td><td>0.00023</td></tr><tr><td>PRRG1</td><td>ENSG00000130962</td><td>5.0151</td><td>1.286</td><td>1.166</td><td>1.420</td><td>0.00023</td><td>0.00023</td></tr><tr><td>CA11</td><td>ENSG00000063180</td><td>-4.9792</td><td>0.800</td><td>0.732</td><td>0.873</td><td>0.00024</td><td>0.00024</td></tr><tr><td>TEAD4</td><td>ENSG00000197905</td><td>4.9725</td><td>1.323</td><td>1.185</td><td>1.477</td><td>0.00024</td><td>0.00024</td></tr><tr><td>HLA-DPA1</td><td>ENSG00000231389</td><td>-4.9620</td><td>0.816</td><td>0.753</td><td>0.884</td><td>0.00024</td><td>0.00024</td></tr></tbody></table>

Selection criteria :

1. logRankadjust < 0.01

2. Hazard Ratio: 0.85 > HR > 1.15
<figure><img src="image_276.png" /></figure>

# Dimensionality reduction – univariate Cox survival analysis

Volcano plots showing results of survival analysis

Only names of the selected genes (183) are shown

Genes with HR > 1 are associated with bad prognosis (red color, right)

Genes with HR < 1 are associated with better outcome (green color, left)

Increased expression
associated with **better outcome**

<figure><img src="image_277.png" /></figure>

Increased expression associated
with **worst outcome**

⇒ 183 genes highly associated with survival were selected for further analysis
# Feature selection on univariate Cox analysis

Example of Kaplan Meier (KM) curve comparing survival of two groups of patients (high vs low) based on SMOX gene expression level

<figure><img src="image_278.png" /></figure>

* Patients with **high expression** of SMOX gene are characterized by **worst clinical outcome**

* Patients with **low expression** of SMOX gene are characterized by **better clinical outcome**
# Feature selection on univariate Cox analysis

*KM curve comparing survival based on YPEL1 gene expression level*

<figure><img src="image_279.png" /></figure>

⇒ Increasing the expression of **YPEL1** gene is associated with better survival
# Multivariate cox regression

Forest plot showing the result of multivariate cox regression analysis including two genes with opposite association to survival

<figure><img src="image_280.png" /></figure>

⇒ The prognostic value of **SMOX and YPEL1** genes still highly significant in multivariate analysis
# Visualization of combined results: DE (BOR) and OS

Heatmap showing **hierarchical clustering** of patients and DE genes, based on expression

Patients were split based on BOR status

Genes were split into up and down regulated

Multiple annotation were used to compare with response and survival data

<figure><img src="image_281.png" /></figure>

⇒ **No clear association pattern of RNAseq with response or survival**

⇒ Possible bias on DE genes by the presence of a small subset of patients that present a high expression values for these genes

⇒ Only selected genes based on **survival** will be considered for machine learning analysis
# RNAseq – dimensionality reduction

Visualization of feature selection using Cox LASSO regression model.

183 genes candidates were included initially in the model

The concordance index (c-index) indicates the performance of the model

<figure><img src="image_282.png" /></figure>

<figure><img src="image_283.png" /></figure>

⇒ Out of **183 genes**, the Cox Lasso model allowed the selection of **46 genes** for the optimal performance of the model was reached with highest **C-index ~0.65**
# Conclusions & discussion
## RNA-seq

* RNAseq data analysis allowed to identify a sets of genes associated to BOR and survival of patients

* Deep exploration of the differential expression results showed that identified genes could be associated to a small subset of patients in PD group

* Comparison of DE genes to survival and BOR data showed that there is no evident link between them suggesting that for final selection of features, the DE genes are not taken into account

* Cox univariate analysis followed by Cox lasso allowed the identification of a set of genes with a highest prediction performance of 0.65 (c-index). This value still low compared to other predictors included in the whole study.

⇒ **Final selection of 46 transcripts from RNAseq data**
# Results

Analysis of high-dimensional transcriptomic and
mutational data

ii. Mutation data (FMI and tumor mutational burden (TMB))
# Summary of the FMI dataset (mutations)

*Pie charts summarizing the FMI dataset of the mutational profiles of patients*

<figure><img src="image_284.png" /><figcaption>Distribution of the mutation types in patients
wildtype (Wt) indicates absence of mutation</figcaption></figure>

567 patients in total

<figure><img src="image_285.png" /><figcaption>Distribution of the mutation data according to the biopsy
site</figcaption></figure>

Summary of biopsy site

Others
# Summary of FMI dataset

*Barplot showing the distribution of the number of mutations per patient*

<figure><img src="image_286.png" /></figure>

* The majority of patients in the dataset have no mutation (Wt)

* A small subset of patients have **several mutations**
# Gene selection based on mutational status

## Example

Survival probability

Strata

<figure><img src="image_287.png" /></figure>

395 genes
With mutational status

87 genes
genes mutated in at least in 1 patient

15 genes
genes mutated in at least 10 patient

CCND1, CCNE1, EGFR, FGF12, FGF19, FGF3, MDM2, , MYC
NFKBIA NKX2_1 PIK3CA, PRKCI
RICTOR, SOX2, TERC

Predictive value is not significant using Univariate cox regression
(after adjustment)
Group of patient with mutation is too small

## Use the mutational status:

- Wt vs Mutated

- Wt vs multi-mutated
# Mutational status on 87 genes

Heatmap showing the clustering of patients and genes according to the mutational status and BOR group

The rows were grouped by BOR

Only genes that showed a mutation in at least 1 patient were included (87 genes)

<figure><img src="image_288.png" /></figure>

* The majority of patients in the dataset have no mutation (Wt)

* The mutations are quasi-exclusively of amplification nature

* Only a tiny number of loss mutations were observed in some patients

* Mutations seem to be **distributed randomly among BOR groups**
# Mutational status on 15 genes

Heatmap showing the clustering of patients and genes according to the mutational status and BOR group

The rows were grouped by BOR

Only genes that showed a mutation in **at least 10 patient** were included (15 genes)

<figure><img src="image_289.png" /></figure>

⇒ There is **no relationship between highly mutation genes and the groups of BOR**
# Distribution of number of mutation by BOR

Boxplots comparing the number of mutations in a patient according to the BOR
Kruskal-Wallis test was performed for the statistical comparison between multiple groups

Total mutation

<figure><img src="image_290.png" /></figure>

Amplification

<figure><img src="image_291.png" /></figure>

Loss

<figure><img src="image_292.png" /></figure>

BOR

1: CR

2: PR

3: SD

5: PD

⇒ No significant link between number/type of mutation and BOR
# Survival analysis using mutational status

KM curve comparing survival of patients with at least one mutation (Mutated=Yes) or without mutation (No)

<figure><img src="image_293.png" /></figure>

⇒ The clinical outcome of the patients is **not associated with presence or absence of mutation,**
there is no significant difference between the two groups of patients in terms of survival
# Survival analysis using mutational status

## KM curve comparing survival of patients based on number of mutations

* "high" group contains patients with more than 5 mutations

* "low" group contains patients with at least 5 mutations

* "Wt" group contains patients with no mutation

<figure><img src="image_294.png" /></figure>

* Patients in group "high" have improved survival compared with other groups, especially compared with the "low" group

* Patients in Wt group show better survival compared to "high" group and worst survival compared with "low" group

* Although these differences are shown, interpretations are difficult due to the **global p-value which still higher than 0.05 threshold**
# TMB exploration

<figure><img src="image_295.png" /><figcaption>KM curve comparing survival of two groups of patients: "high" and "low" MUTATIONPERMB</figcaption></figure>

<figure><img src="image_296.png" /></figure>

⇒ Patients in group "high" MUTATIONPERMB have improved clinical outcome compared to "low" group
# Conclusions & discussion
## Mutational data (FMI)

* FMI data allowed establishment of mutational profiles on 395 genes with the type of mutation

* Survival analysis using mutational data showed that overall there were no significant differences between patients with mutation and patients without mutation

* Although some differences were observed between patients with different number of mutations (high vs low), a clear conclusion could not be reached due to underpowered statistical results

* The results could be improved by completing the mutational data with deeper characterization of the mutations in patients by performing whole genome sequencing (WGS) or at least whole exome sequencing (WES).

* TMB was discontinued due to low number of patients with available data

⇒ **The current mutational data did not support a clear association with overall survival**
# Results

## Machine learning for study outcome

### ii. Combination therapy – study level
Data combo

IMPOWER150

Clinical

N = 1,115
p = 73

N = 1,115
p = 65

minimal

N = 1,115
p = 11

TK

N = 1,114
k = 8,972

preprocess

N = 1,040
k = 8,898

Bayesian

N = 1,040
p = 3

PD

N = 1,115
k = 100,239

N = 1,115
k = 92,923

N = 1,040
p = 9

N = 1,040, p = 23

IMPOWER150

IMPOWER131

Clinical

N = 967
p = 73

N = 967
p = 65

minimal

N = 967, p = 11

TK

N = 967
k = 6,978

preprocess

N = 894
k = 6,903

Bayesian

N = 894
p = 3

PD

N = 967
k = 102,346

N = 967
k = 93,954

N = 967
p = 9

N = 894, p = 26

IMPOWER131
# IMPOWER150 truncated study time

## Methods

* No CRP longitudinal data available => removed from model (i.e. model now only has albumin, Idh and neutrophils), model is re-trained

* Due to few data during early cycles, the preprocess step of removal of patients with < 2 data points is relaxed. This is thought to be fine as this only affects the prediction step (training is still performed only on patients with sufficient data).

* There is a complex design in IMPOWER150 with 3 arms and drug combinations among 4 agents with multiple mechanisms of action (chemotherapy, anti-angiogenic, immunotherapy)

* To simplify, it was decided to test the ability of the model to predict the contribution of one drug (bevacizumab) to a backbone of atezolizumab and chemotherapy
# IMPOWER150 prediction of survival curves

Survival curve model predictions of Atezo + Bev + Cisplatin + Pemetrexed (ABCP) vs Atezo + Cisplatin + Pemetrexed (ACP), using TK and PD full time courses. Only model prediction intervals are shown.

<figure><img src="image_297.png" /></figure>

* The model predicts **similar survival** between ABCP and ACP

* The **predicted HR is the same as the observed one** (absence of benefit)

Survival curve model predictions of all arms of IMPOWER150

<figure><img src="image_298.png" /></figure>

* The BCP (bevacizumab + chemotherapy) arm is **not well predicted** by the model
<figure><img src="image_299.png" /></figure>

# Prediction of the HR between other arms of IMPOWER150

*Survival curve model predictions and comparisons for arms ABCP vs BCP and ACP vs BCP*

<figure><img src="image_300.png" /></figure>

* The **predicted HR is significantly < 1**, consistently with the data HR

* The atezolizumab-containing arms are well captured by the model, in contrast to the bevacizumab-containing arms
IMPOWER150: truncated study time

<figure><img src="image_301.png" /></figure>

<table><tr><td>Data HR (95% CI)</td><td>1.29e+09 (0 - Inf)</td><td>3.38e+09 (0 - Inf)</td><td>0.862 (0.514 - 1.45)</td><td>1.08 (0.905 - 1.29)</td><td>1.07 (0.897 - 1.28)</td></tr><tr><td>Predicted HR (95% PI)</td><td>0.707 (2.4e-10 - 1.29e+09)</td><td>1.32 (4.74e-10 - 3.38e+09)</td><td>0.884 (0.532 - 1.41)</td><td>0.982 (0.884 - 1.14)</td><td>1.04 (0.91 - 1.16)</td></tr><tr><td>Number of patients (ABCP - ACP)</td><td>1 - 2</td><td>3 - 3</td><td>34 - 36</td><td>333 - 348</td><td>337 - 355</td></tr><tr><td>Median nb of data points TK/alb/CRP/LDH/neutro</td><td>1/1/NA/1/1 - 1/1/NA/1.5/1</td><td>1/1/NA/1/1 - 2/3/NA/3/3</td><td>1/2/NA/2/2 - 1/2/NA/2/2</td><td>4/7/NA/7/8 - 4/6/NA/6/7</td><td>5/9/NA/8/10 - 4/8/NA/8/8</td></tr></table>

⇒ The model predicts absence of benefit and simulated predictions are **consistent with the final study data** from **30 weeks of observations onwards**
# IMPOWER 131

Survival curve model predictions of the three arms of IMPOWER131

$$CnP = \text{Carboplatin} + \text{nab-Paclitaxel}, ACnP = \text{Atezolizumab} + \text{Carboplatin} + \text{nab-Paclitaxel},$$

$$ACP = \text{Atezolizumab} + \text{Carboplatin} + \text{Paclitaxel}$$

<figure><img src="image_302.png" /></figure>

* The model predictions are **substantially worse** than for OAK or IMPOWER150

* The model **over-estimates** survival in all arms

* Still, predicted hazard ratios are not too far from the observed ones

## Hazard ratios

### ACnP vs CnP

Data: 0.818 (0.679 - 0.986)

Model: 0.893 (0.794 - 1.03)

### ACP vs CnP

Data: 0.915 (0.745 - 1.12)

Model: 0.868 (0.767 - 1.02)

### ACnP vs ACP

Data: 0.887 (0.734 - 1.07)

Model: 1.03 (0.922 - 1.18)
# IMPOWER131 ACnP vs CnP: truncated study time

<figure><img src="image_303.png" /></figure>

<table><tr><td>Data HR (95% CI)</td><td>1.62e+09 (0 - Inf)</td><td>0.497 (0.155 - 1.6)</td><td>0.826 (0.512 - 1.33)</td><td>0.83 (0.686 - 1)</td><td>0.818 (0.679 - 0.986)</td></tr><tr><td>Predicted HR (95% PI)</td><td>6.19e-10 (6.19e-10 - 1.62e+09)</td><td>1.11 (0.378 - 3.49)</td><td>0.989 (0.706 - 1.37)</td><td>0.951 (0.798 - 1.08)</td><td>0.947 (0.834 - 1.07)</td></tr><tr><td>Number of patients (CnP - ACnP)</td><td>1 - 1</td><td>12 - 6</td><td>44 - 49</td><td>285 - 284</td><td>301 - 300</td></tr><tr><td>Median nb of data points TK/alb/CRP/LDH/neutro</td><td>1/2/NA/2/4 - 1/2/NA/2/4</td><td>1/1/NA/1/1.5 - 1/1.5/NA/1.5/5</td><td>2/3/NA/3/6 - 2/4/NA/4/7</td><td>3/5/NA/5/11 - 4/8/NA/8/16</td><td>4/5/NA/5/14 - 5/9/NA/8/18</td></tr></table>

⇒ The model **stabilizes at 30 weeks**, being then consistently off the data

Study time truncation cut-off based on the time since randomisation date of the first recruited patient. Data HR = hazard ratio computed using survival data only available at truncation cut-off.
# Results

## Machine learning for study outcome

### ii. Combination therapy – individual level
# Contingency table – 12 months survival

## IMPOWER150 – ABCP arm

*Contingency table comparing predicted vs observed survival at 12 months in IMPOWER150 (ABCP arm)*

<table><thead><tr><th rowspan="2">MODEL</th><th colspan="2">TRUTH</th></tr><tr><th>Alive (0)</th><th>Dead (1)</th></tr></thead><tbody><tr><th>Alive (-)</th><td>207</td><td>37</td></tr><tr><th>Dead (+)</th><td>34</td><td>55</td></tr></tbody></table>

Note: 4/337 censored patients with survival time ≤ 12 months removed

Accuracy 78.7 %
Specificity 85.9 %
Sensitivity 60.1 %
PPV 61.8 %
NPV 85 %
AUC 0.831

* The model predictions are **accurate at the individual level** (using full time courses), although slightly worse than in OAK atezolizumab arm

* Similar observation as for the monotherapy case: moderate PPV despite high AUC
# Truncated data (CYCLE) – ROC curves
## IMPOWER150 – ABCP arm

<figure><img src="image_304.png" /><figcaption>CYCLE 3 – 6 weeks</figcaption></figure>

6 months

<figure><img src="image_305.png" /><figcaption>CYCLE 5 – 12 weeks</figcaption></figure>

CYCLE 10 – 27 weeks

<figure><img src="image_306.png" /></figure>

12 months

24 months
# Contingency table – 12 months survival
## Truncated cycle 3 pre-dose (6 weeks)
### IMPOWER150 – ABCP arm

Contingency table comparing predicted vs observed survival at 12 months in IMPOWER150 (ABCP arm) using individual data up to cycle 3

<table><thead><tr><th rowspan="2">MODEL</th><th colspan="2">TRUTH</th></tr><tr><th>Alive (0)</th><th>Dead (1)</th></tr></thead><tbody><tr><td>Alive (-)</td><td>194</td><td>56</td></tr><tr><td>Dead (+)</td><td>46</td><td>35</td></tr></tbody></table>

Note: 4/335 censored patients with survival time ≤ 12 months removed

Accuracy 69.2 %

Specificity 80.9 %

Sensitivity 38.7 %

PPV 43.2 %

NPV 77.8 %

AUC 0.681

* Similar trend as for OAK ATZ

* Worse predictions than when using full time courses

* Similar accuracy as OAK ATZ cycle 3
# Contingency table – 12 months survival
## Truncated cycle 5 pre-dose (12 weeks)
### IMPOWER150 – ABCP arm

Contingency table comparing predicted vs observed survival at 12 months in IMPOWER150 (ABCP arm) using individual data up to cycle 5

<table><thead><tr><th rowspan="2">MODEL</th><th colspan="3">TRUTH</th></tr><tr><th>Alive (0)</th><th>Dead (1)</th><th>Alive (-)</th><th>Dead (+)</th></tr></thead><tbody><tr><td>Alive (-)</td><td>197</td><td>46</td><td>Alive (-)</td><td>197</td></tr><tr><td>Dead (+)</td><td>44</td><td>46</td><td>Dead (+)</td><td>44</td></tr></tbody></table>

Note: 4/337 censored patients with survival time ≤ 12 months removed

Accuracy 73 %
Specificity 81.8 %
Sensitivity 50.2 %
PPV 51.1 %
NPV 81.3 %
AUC 0.723

* Similar trend as for OAK ATZ

* Prediction metrics improve compared to the previous that used data up to cycle 3
# Contingency table – 12 months survival
## Truncated cycle 10 pre-dose (~ 6 months)
### IMPOWER150 – ABCP arm

Contingency table comparing predicted vs observed survival at 12 months in IMPOWER150 (ABCP arm) using individual data up to cycle 10

<table><thead><tr><th rowspan="2">MODEL</th><th colspan="2">TRUTH</th></tr><tr><th>Alive (0)</th><th>Dead (1)</th></tr></thead><tbody><tr><td>Alive (-)</td><td>216</td><td>46</td></tr><tr><td>Dead (+)</td><td>25</td><td>46</td></tr></tbody></table>

Note: 4/337 censored patients with survival time ≤ 12 months removed

<table><tr><td>Accuracy</td><td>78.7 %</td></tr><tr><td>Specificity</td><td>89.6 %</td></tr><tr><td>Sensitivity</td><td>50.4 %</td></tr><tr><td>PPV</td><td>64.8 %</td></tr><tr><td>NPV</td><td>82.7 %</td></tr><tr><td>AUC</td><td>0.809</td></tr></table>

* Similar trend as for OAK ATZ

* The metrics get very close to what is obtained when using the full TK and PD time courses

* Suprisingly, PPV is better than for OAK (6 months, 58.5%)
# Conclusion/Discussion

* Although trained on monotherapy data, the model could correctly predict the ABCP arm

* The model could also predict accurately the hazard ratio between ABCP and ACP (no benefit)

* Absence of benefit was also predicted from early on-study data

* Although narrow prediction interval starts to be observed from 30 weeks on

* Predictions were worse for the BCP arm

* Different mechanism of action not captured by the model?

* Absence of CRP longitudinal data?

* Line? IMPOWER150 was conducted in the first line setting. The model was trained on a population with a majority (81%) of ≥ 2^nd^ line patients.

* Results were generally worse for IMPOWER131

* Histology? IMPOWER131 is squamous whereas the model was trained on an imbalanced dataset 30/70 squamous/non-squamous

* Line? Similar to IMPOWER150, IMPOWER131 was in the first line setting

* Different mechanism of action?

* Learning curves showed that 50 patients are sufficient to train the model. A possible way to improve would be to train the model on the first-line monotherapy patients only (160 patients)

* Individual predictions were almost as accurate as in the monotherapy case (AUC 0.83 vs 0.87)

* Needs at least 4 completed cycles to start to be powerful