Skip to contents

See the Overview vignette for the core idea and a glossary of the terms used below.

Vignettes 1–4 walked through UPN06, a copy-number-mediated (model_name = "CNA") resistance case. This vignette applies the same workflow to a different mechanism — a driver mutation that triggers a hypermutator phenotype — on a second real patient, D9MRCY, bundled with the package alongside UPN06.

Clinical background: patient D9MRCY

Glioblastoma (GBM) is the most aggressive primary brain tumour in adults. Standard of care is maximal safe surgical resection followed by radiotherapy with concomitant and adjuvant temozolomide (TMZ) — itself a mutagenic alkylating agent. Despite treatment, nearly all tumours relapse. A resistance mechanism seen in 10–25% of recurrences is loss of DNA mismatch repair, most often via inactivation of MSH6, which produces a hypermutant lineage strongly enriched for the TMZ-associated mutational signature SBS11.

D9MRCY underwent resection (“Surgery 1”), followed by radiotherapy and five months of adjuvant TMZ delivered in cycles, and relapsed within a year, undergoing a second resection (“Surgery 2”). The relapse lineage was hypermutant: 4,209 mutations shared with the primary tumour, but 74,581 private to the relapse — of which 62,746 carried the SBS11 signature. As with UPN06, the question is one of timing: did the MSH6-disrupting mutation, and the clonal expansion it enabled, predate surgery, or did they emerge afterwards under TMZ exposure?

library(TOSCA)
data("D9MRCY")
D9MRCY$Input$Samples
#>        Name       Date
#> 1     Birth 1957-01-01
#> 2 Surgery 1 2007-09-18
#> 3 Surgery 2 2008-07-11
D9MRCY$Input$Therapies
#>           Name             Class      Start        End
#> 1 Temolozomide Driver responsive 2007-09-18 2007-10-28
#> 2 Temolozomide Driver responsive 2007-11-27 2007-12-02
#> 3 Temolozomide Driver responsive 2007-12-27 2008-01-01
#> 4 Temolozomide Driver responsive 2008-01-26 2008-01-31
#> 5 Temolozomide Driver responsive 2008-02-25 2008-03-01
#> 6 Temolozomide Driver responsive 2008-03-26 2008-03-31
#> 7 Temolozomide Driver responsive 2008-04-25 2008-04-30

This is a "Driver" case (see vignette 2): the Mutations table below carries a driver row (the SBS11-associated mutations accumulated after the MSH6 hit) alongside the clock-like rows, rather than the CNA alpha/beta rows used for UPN06.

D9MRCY$Input$Mutations
#> # A tibble: 3 × 5
#>   Name          Length Karyotype Type                Value
#>   <chr>          <dbl> <chr>     <chr>               <dbl>
#> 1 clock_OP1 2046148612 1:1       clock-like primary    79 
#> 2 clock_OP2 2046148612 1:1       clock-like relapse 11871.
#> 3 m_tmz     2046148612 1:1       driver             62746.

Interpreting an already-fitted result

Fitting this dataset (as in vignette 3, but with model_name = "Driver") populates D9MRCY$Fit exactly as it does for UPN06; here we use the version already bundled with the package. A summary of the inference:

get_fit_summary(D9MRCY)
#> # A tibble: 9 × 7
#>   variable        median      mean              rhat ess_bulk q5           q95  
#>   <chr>           <chr>       <chr>            <dbl>    <dbl> <chr>        <chr>
#> 1 t_eca           2006-12-11  2006-12-9        1.00    17458. 2006-10-9    2007…
#> 2 t_mrca_primary  2006-12-22  2006-12-20       1.00    17424. 2006-10-21   2007…
#> 3 mu_driver       9.80644e-06 1.0663876034e-05 1.00    15859. 5.1973705e-… 1.90…
#> 4 omega           27.8829     27.9941568925    1.00    18061. 24.2202      32.2…
#> 5 t_mrca          2007-10-11  2007-10-13       1.00    17376. 2007-10-2    2007…
#> 6 t_driver        2007-6-16   2007-6-16        1.00    17154. 2007-5-18    2007…
#> 7 m_clock_primary 80          80.291625        1.00    36207. 58           105  
#> 8 m_clock         11909       11937.7646       1.000   39554. 10455        13542
#> 9 m_driver        62593       62819.842        1.00    40134. 55093.95     7123…

And the timeline itself:

plot_timing(D9MRCY)

Two distinct timings are visible here, and the distinction matters clinically. Relative to Surgery 1:

days_from(D9MRCY, from = "2007-09-18", parameter = "t_driver")
#> # A tibble: 1 × 4
#>   median   mean     q5        q95     
#>   <drtn>   <drtn>   <drtn>    <drtn>  
#> 1 -94 days -94 days -123 days -65 days

The MSH6-disrupting driver mutation is timed to roughly three months before surgery — it was already present, pre-existing, well before treatment. But the plot above also shows the relapse lineage’s MRCA emerging right around Surgery 1, inside the first TMZ cycle: the mutation that enabled hypermutation was pre-existing, while the clonal expansion that actually produced the clinically evident relapse took off only once TMZ exposure began. This is consistent with the reference paper’s reported timing (MSH6 ≈83–103 days before surgery; relapse MRCA 19–29 days post-surgery) and with an inferred growth rate corresponding to a doubling time of about two weeks — fast enough to explain a clinically apparent relapse within the observed one-year window.

The takeaway: “pre-existing vs. de novo” is not always a single yes/no answer for the whole resistance phenotype — TOSCA lets you separate when a resistance-conferring mutation arose from when the clone it produced actually expanded, which can (as here) be two different clinical stories.