% Supplementary material template generated for the Springer Nature sn-jnl format.
% Main manuscript: Comparative Evaluation of Pathology Foundation Models and Transcriptomic Integration
% for Glioblastoma Survival Prediction.

\documentclass[pdflatex,sn-mathphys-num]{sn-jnl}

% ============================================================
% Packages
% ============================================================
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{amsthm}
\usepackage{mathrsfs}
\usepackage[title]{appendix}
\usepackage[table]{xcolor}
\usepackage{textcomp}
\usepackage{manyfoot}
\usepackage{booktabs}
\usepackage{array}
\usepackage{makecell}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{rotating}
\usepackage{url}
\usepackage{placeins}
\usepackage{float}
% ============================================================
% Supplementary numbering and helper macros
% ============================================================
\renewcommand{\thetable}{S\arabic{table}}
\renewcommand{\thefigure}{S\arabic{figure}}
\setcounter{table}{0}
\setcounter{figure}{0}

\newcommand{\sig}{\(\checkmark\)}
\newcommand{\nonsig}{\(\times\)}
\newcommand{\best}[1]{{\bfseries\boldmath #1\unboldmath}}
\newcommand{\secondbest}[1]{\underline{#1}}

\raggedbottom

\begin{document}

\title[Supplementary information]{Supplementary Information: Comparative Evaluation of Pathology Foundation Models and Transcriptomic Integration for Glioblastoma Survival Prediction}


\author*[1,4]{\fnm{Federica} \sur{Rignanese}}\email{frignanese@fbk.eu}
\author[2]{\fnm{Gianmarco} \sur{Sabbatini}}\email{gianmarco.sabbatini@aizoongroup.com}
\author[1]{\fnm{Lisa} \sur{Novello}}\email{lnovello@fbk.eu}
\author[1]{\fnm{Stefano} \sur{Bovo}}\email{sbovo@fbk.eu}
\author[1]{\fnm{Flavio} \sur{Ragni}}\email{fragni@fbk.eu}
\author[1,4]{\fnm{Annarita} \sur{Barone}}\email{abarone@fbk.eu}
\author[2]{\fnm{Lorenzo} \sur{Manganaro}}\email{lorenzo.manganaro@aizoongroup.com}
\author[1]{\fnm{Shahryar} \sur{Noei}}\email{snoei@fbk.eu}
\author[1]{\fnm{Matteo} \sur{Pozzi}}\email{mat.poz96@gmail.com}
\author[1]{\fnm{Marco} \sur{Chierici}}\email{chierici@fbk.eu}
\author[2]{\fnm{Paolo} \sur{Falco}}\email{paolo.falco@aizoongroup.com}
\author[1,3]{\fnm{Giuseppe} \sur{Jurman}}\email{giuseppe.jurman@fbk.eu}

\affil*[1]{\orgname{Fondazione Bruno Kessler}, \orgaddress{\city{Trento}, \country{Italy}}}
\affil[2]{\orgname{aizoOn}, \orgaddress{\city{Torino}, \state{TO}, \country{Italy}}}
\affil[3]{\orgdiv{Department of Biomedical Sciences}, \orgname{Humanitas University}, \orgaddress{\city{Pieve Emanuele}, \state{MI}, \country{Italy}}}
\affil[4]{\orgdiv{Department of Mathematics}, \orgname{Universit\`a di Pavia}, \orgaddress{\city{Pavia}, \state{PV}, \country{Italy}}}


\maketitle

% ============================================================
\section*{Supplementary Methods}
% ============================================================
All WSI and multimodal experiments were conducted on FBK’s high-performance computing cluster (Abacus), using NVIDIA H100 (80GB) and L40s (48GB) GPUs. Nodes were equipped with Intel Xeon Platinum 8470 CPUs and had access to at least 200GB of system RAM. RNA-seq-only analyses were performed on the aizoOn server (defapp01), equipped with 10 CPU cores, 96 GB of RAM, and 1 TB of encrypted disk storage. 

\clearpage

% ============================================================
\section*{Supplementary Figures\newline}
% ============================================================

\begin{figure}[H]
    \centering
    \includegraphics[width=.95\linewidth]{mrna_val_cindex_dist_by_dim_5CV_page-0001.jpg}
    \caption{Distribution of C-index of RNA-only model on validation sets of 5 cross-validation folds, for each available dimensionality of the RNA embeddings. The best validation performance (dim=500) was selected for further analysis\textbf{.}
}
    \label{fig:placeholder}
\end{figure}

\clearpage



% ============================================================

\section*{Supplementary Tables}
% ============================================================


\begin{table}[htbp]
\centering
\caption{Software dependencies and computational environment.}
\label{tab:supp_software}
\small
\setlength{\tabcolsep}{5pt}
\renewcommand{\arraystretch}{1.15}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}p{4.0cm} p{2.0cm} p{7.0cm}}
\toprule
\textbf{Component} & \textbf{Version} & \textbf{Purpose} \\
\midrule
Python & 3.10 & - \\
PyTorch & 2.6.0 & Deep-learning model implementation. \\
CUDA & 12.4 & GPU acceleration. \\
TorchSurv & 0.1.4 & C-index computation. \\
Weights \& Biases & 0.19.6 & Hyperparam. track and experiment logging. \\
Trident & - & WSI pre-processing and feature extraction. \\
MIL-Lab & - & ABMIL implementation. \\
\bottomrule
\end{tabular*}
\end{table}


\begin{table}[ht]
\centering
\small
\renewcommand{\arraystretch}{1.25}
\begin{tabular}{|p{0.18\textwidth}|p{0.48\textwidth}|p{0.15\textwidth}|p{0.13\textwidth}|}
\hline
\textbf{Model} & \textbf{Pre-train data} & \textbf{Embedding Type} & \textbf{Embedding Dim.} \\
\hline

ResNet-50 
& ImageNet-1K: $\sim$1.28M natural images, 1,000 classes. No pathology data. 
& Patch 
& 1024 \\
\hline

\multicolumn{4}{|l|}{\textbf{Foundation Models}} \\
\hline

UNI2-h 
& Mass-200K+: $>$200M tiles from $>$350K H\&E and IHC WSIs sourced from Mass General Brigham (MGH/BWH). No TCGA used. 
& Patch 
& 1536 \\
\hline

CONCH v1.5 
& Private pathology dataset, larger than CONCH v1's 1.17M image-caption pairs. No TCGA/PAIP/GTEx used. Released as part of TITAN. 
& Patch 
& 768 \\
\hline

Prov-GigaPath
& Providence Health Network: 1.3B tiles from 171K WSIs,
28 cancer centers, and 31 tissue types.
& \begin{tabular}[t]{@{}l@{}}Patch\\Slide\end{tabular}
& \begin{tabular}[t]{@{}l@{}}1536\\768\end{tabular} \\
\hline

TITAN 
& Mass-340K: 335K WSIs from BWH/MGH + GTEx, 20 organs, 90.9\% H\&E + 9.1\% IHC, paired with 182K pathology reports + 423K synthetic captions (PathChat). No TCGA used. 
& Slide 
& 768 \\
\hline

\end{tabular}
\caption{Summary of visual encoders and embedding characteristics used in this study.}
\label{tab:encoder_summary}
\end{table}




\begin{table}[htbp]
\centering
\caption{Hyperparameter search space for WSI-only and multimodal models.}
\label{tab:supp_hyperparameter_search_space}
\small
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
\toprule
\textbf{Hyperparameter} & \textbf{Values} \\
\midrule
RNA last hidden layer dimension & \{10, 100, 200, 500, 1000\} \\
WSI projection layer dimension & \{256, 512\} \\
DeepHazard hidden layer units & \{None, 64, [64, 32]\} \\
Dropout & \{0.2, 0.4\} \\
Activation function & \{ReLU, tanh\} \\
Learning rate & \{$5 \times 10^{-4}$, $1 \times 10^{-4}$\} \\
Learning rate scheduler & \{None, cosine\} \\
\bottomrule
\end{tabular*}
\end{table}

\begin{sidewaystable}
\centering
\caption{Best cross-validated hyperparameter configuration per WSI encoder, stratified by modality and training-set size.}
\label{tab:supp_best_hparams}
\scriptsize
\setlength{\tabcolsep}{4pt}
\renewcommand{\arraystretch}{1.15}

\begin{tabular*}{\textheight}{@{\extracolsep{\fill}}llcccccccc}
\toprule
\textbf{WSI encoder} &
\textbf{Setting} &
\textbf{\makecell{N patients\\tot.}} &
\textbf{\makecell{N patients\\train}} &
\textbf{\makecell{Projection\\dim.}} &
\textbf{\makecell{Hidden\\layers}} &
\textbf{Dropout} &
\textbf{Activation} &
\textbf{LR} &
\textbf{Scheduler} \\
\midrule

\multirow{3}{*}{CONCH v1.5}
& Unimodal -- full  & 356 & 340 & 512 & None & 0.2 & tanh & 1e-4 & None \\
& Unimodal -- small & 80  & 64  & 512 & None & 0.2 & tanh & 1e-4 & None \\
& Multimodal        & 80  & 64  & 512 & 64   & 0.4 & relu & 5e-4 & None \\
\midrule

\multirow{3}{*}{UNI2-h}
& Unimodal -- full  & 356 & 340 & 256 & None & 0.2 & relu & 5e-4 & Cosine \\
& Unimodal -- small & 80  & 64  & 256 & None & 0.2 & relu & 5e-4 & Cosine \\
& Multimodal        & 80  & 64  & 256 & 64   & 0.2 & relu & 5e-4 & Cosine \\
\midrule

\multirow{3}{*}{\makecell[l]{Prov-GigaPath\\(patch)}}
& Unimodal -- full  & 356 & 340 & 512 & None & 0.4 & relu & 5e-4 & None \\
& Unimodal -- small & 80  & 64  & 512 & None & 0.4 & relu & 5e-4 & None \\
& Multimodal        & 80  & 64  & 256 & {[}64, 32{]} & 0.2 & tanh & 5e-4 & Cosine \\
\midrule

\multirow{3}{*}{\makecell[l]{Prov-GigaPath\\(slide)}}
& Unimodal -- full  & 356 & 340 & 512 & None & 0.4 & tanh & 1e-4 & Cosine \\
& Unimodal -- small & 80  & 64  & 512 & None & 0.4 & tanh & 1e-4 & Cosine \\
& Multimodal        & 80  & 64  & 256 & 64   & 0.4 & relu & 5e-4 & Cosine \\
\midrule

\multirow{3}{*}{TITAN (slide)}
& Unimodal -- full  & 356 & 340 & 512 & 64 & 0.2 & relu & 5e-4 & Cosine \\
& Unimodal -- small & 80  & 64  & 512 & 64 & 0.2 & relu & 5e-4 & Cosine \\
& Multimodal        & 80  & 64  & 512 & {[}64, 32{]} & 0.4 & tanh & 5e-4 & None \\
\midrule

\multirow{3}{*}{ResNet50}
& Unimodal -- full  & 356 & 340 & 256 & None & 0.2 & relu & 5e-4 & Cosine \\
& Unimodal -- small & 80  & 64  & 256 & None & 0.2 & relu & 5e-4 & Cosine \\
& Multimodal        & 80  & 64  & 256 & 64   & 0.4 & relu & 5e-4 & None \\

\bottomrule
\end{tabular*}
\end{sidewaystable}



\begin{sidewaystable}
\caption{Cross-validation training and validation C-index values for the selected
WSI-only and multimodal configurations. Mean, standard deviation, and
fold-level C-index values are reported across five folds.}
\label{tab:cv_train_val_results}
\centering

\tiny
\setlength{\tabcolsep}{1.5pt}
\renewcommand{\arraystretch}{1.08}

\begin{tabular*}{\textheight}{@{\extracolsep\fill}lllc*{14}{c}}
\toprule

\multirow{2}{*}{\textbf{Modality}} &
\multirow{2}{*}{\textbf{WSI encoder}} &
\multirow{2}{*}{\textbf{Embed.}} &
\multirow{2}{*}{$N_{\mathrm{train}}$} &
\multicolumn{2}{c}{\textbf{Average}} &
\multicolumn{2}{c}{\textbf{SD}} &
\multicolumn{2}{c}{\textbf{Fold 0}} &
\multicolumn{2}{c}{\textbf{Fold 1}} &
\multicolumn{2}{c}{\textbf{Fold 2}} &
\multicolumn{2}{c}{\textbf{Fold 3}} &
\multicolumn{2}{c}{\textbf{Fold 4}} \\

\cmidrule(lr){5-6}
\cmidrule(lr){7-8}
\cmidrule(lr){9-10}
\cmidrule(lr){11-12}
\cmidrule(lr){13-14}
\cmidrule(lr){15-16}
\cmidrule(lr){17-18}

& & & &
\textbf{Train} & \textbf{Val.} &
\textbf{Train} & \textbf{Val.} &
\textbf{Train} & \textbf{Val.} &
\textbf{Train} & \textbf{Val.} &
\textbf{Train} & \textbf{Val.} &
\textbf{Train} & \textbf{Val.} &
\textbf{Train} & \textbf{Val.} \\

\midrule

\multirow{6}{*}{\makecell[l]{WSI+\\RNA-seq}}
& CONCH v1.5
& Patch
& 64
& 0.9481 & 0.7296
& 0.0132 & 0.0369
& 0.9364 & 0.7365
& 0.9602 & 0.6570
& 0.9510 & 0.7524
& 0.9633 & 0.7469
& 0.9296 & 0.7554 \\

& Prov-GigaPath
& Slide
& 64
& 0.9711 & 0.7278
& 0.0092 & 0.0454
& 0.9796 & 0.8023
& 0.9744 & 0.6667
& 0.9562 & 0.7466
& 0.9651 & 0.7037
& 0.9802 & 0.7194 \\

& TITAN
& Slide
& 64
& 0.9593 & 0.7215
& 0.0137 & 0.0486
& 0.9327 & 0.7804
& 0.9632 & 0.6358
& 0.9646 & 0.7140
& 0.9724 & 0.7253
& 0.9635 & 0.7518 \\

& ResNet50
& Patch
& 64
& 0.9426 & 0.7428
& 0.0083 & 0.0667
& 0.9274 & 0.7994
& 0.9493 & 0.6166
& 0.9446 & 0.7409
& 0.9507 & 0.7623
& 0.9412 & 0.7950 \\

& UNI2-h
& Patch
& 64
& 0.9635 & 0.7061
& 0.0074 & 0.0543
& 0.9558 & 0.7877
& 0.9743 & 0.6320
& 0.9662 & 0.6871
& 0.9669 & 0.6790
& 0.9546 & 0.7446 \\

& Prov-GigaPath
& Patch
& 64
& 0.9674 & 0.7162
& 0.0096 & 0.0631
& 0.9655 & 0.8199
& 0.9570 & 0.6513
& 0.9576 & 0.7562
& 0.9801 & 0.6667
& 0.9768 & 0.6871 \\

\midrule

\multirow{6}{*}{WSI}
& UNI2-h
& Patch
& 338
& 0.8462 & 0.6934
& 0.0421 & 0.0956
& 0.8431 & 0.6955
& 0.9255 & 0.7457
& 0.8370 & 0.8349
& 0.8015 & 0.6389
& 0.8240 & 0.5522 \\

& TITAN
& Slide
& 340
& 0.7075 & 0.6974
& 0.0360 & 0.1090
& 0.6743 & 0.7789
& 0.7048 & 0.6724
& 0.7544 & 0.8618
& 0.6627 & 0.5679
& 0.7413 & 0.6061 \\

& CONCH v1.5
& Patch
& 340
& 0.7305 & 0.6736
& 0.0268 & 0.0901
& 0.7831 & 0.7540
& 0.7232 & 0.7476
& 0.7150 & 0.7370
& 0.7227 & 0.5864
& 0.7087 & 0.5432 \\

& ResNet50
& Patch
& 340
& 0.7013 & 0.7097
& 0.0220 & 0.0821
& 0.6726 & 0.7130
& 0.6795 & 0.7630
& 0.7052 & 0.8234
& 0.7262 & 0.5833
& 0.7232 & 0.6655 \\

& Prov-GigaPath
& Slide
& 340
& 0.7469 & 0.6740
& 0.0201 & 0.1405
& 0.7452 & 0.6969
& 0.7797 & 0.7380
& 0.7537 & 0.8868
& 0.7187 & 0.5679
& 0.7371 & 0.4802 \\

& Prov-GigaPath
& Patch
& 340
& 0.8246 & 0.6814
& 0.0112 & 0.1129
& 0.8447 & 0.7613
& 0.8172 & 0.7245
& 0.8294 & 0.8234
& 0.8158 & 0.5401
& 0.8161 & 0.5576 \\

\botrule
\end{tabular*}
\end{sidewaystable}





\providecommand{\sig}{\(\checkmark\)}
\providecommand{\nonsig}{\(\times\)}
% Required package:
% \usepackage{multirow}

\begin{sidewaystable}[p]
\centering
\caption{Shapiro--Wilk normality tests for held-out C-index distributions used in the repeated-measures analyses.}
\label{tab:supp_normality_stats}
\scriptsize
\setlength{\tabcolsep}{4pt}
\renewcommand{\arraystretch}{1.12}

\begin{tabular*}{\textheight}{
    @{\extracolsep{\fill}}
    p{0.8cm}
    p{4.1cm}
    p{5.2cm}
    c c c
}
\toprule
\textbf{RQ} &
\textbf{Analysis} &
\textbf{Condition} &
\textbf{$W$} &
\textbf{$p$} &
\textbf{Normal} \\
\midrule

\multirow{6}{*}{RQ1a} &
\multirow{6}{4.1cm}{WSI-only, full budget}
& ResNet50 (patch)
& 0.962032 & 0.585203 & \sig \\

& & CONCH v1.5 (patch)
& 0.826428 & 0.002201 & \nonsig \\

& & UNI2-h (patch)
& 0.962791 & 0.600977 & \sig \\

& & Prov-GigaPath (slide)
& 0.961932 & 0.583131 & \sig \\

& & Prov-GigaPath (patch)
& 0.898558 & 0.038753 & \nonsig \\

& & TITAN (slide)
& 0.927941 & 0.140943 & \sig \\

\midrule

\multirow{6}{*}{RQ1b} &
\multirow{6}{4.1cm}{WSI+RNA-seq, matched budget}
& CONCH v1.5 (patch)
& 0.950031 & 0.367553 & \sig \\

& & ResNet50 (patch)
& 0.934750 & 0.190502 & \sig \\

& & Prov-GigaPath (patch)
& 0.965568 & 0.659914 & \sig \\

& & Prov-GigaPath (slide)
& 0.935089 & 0.193363 & \sig \\

& & UNI2-h (patch)
& 0.925010 & 0.123749 & \sig \\

& & TITAN (slide)
& 0.967725 & 0.706295 & \sig \\

\midrule

\multirow{3}{*}{RQ3a} &
\multirow{3}{4.1cm}{Best configurations}
& RNA-seq only (full)
& 0.940854 & 0.248851 & \sig \\

& & CONCH v1.5 WSI-only (full)
& 0.826428 & 0.002201 & \nonsig \\

& & CONCH v1.5 WSI+RNA-seq (matched)
& 0.950031 & 0.367553 & \sig \\

\midrule

\multirow{3}{*}{RQ3b} &
\multirow{3}{4.1cm}{Best modalities, matched budget}
& RNA-seq only (matched)
& 0.939508 & 0.234695 & \sig \\

& & TITAN WSI-only (matched)
& 0.917422 & 0.088396 & \sig \\

& & CONCH v1.5 WSI+RNA-seq (matched)
& 0.950031 & 0.367553 & \sig \\

\bottomrule
\end{tabular*}

\vspace{0.5em}
\parbox{\textheight}{\footnotesize
\textit{Note.} \sig\ indicates that normality was not rejected at $\alpha=0.05$; \nonsig\ indicates a statistically significant departure from normality.
}
\end{sidewaystable}


% Required package:
% \usepackage{multirow}

\begin{sidewaystable}[p]
\centering
\caption{Overall repeated-measures ANOVA results for held-out C-index comparisons.}
\label{tab:supp_omnibus_stats}
\scriptsize
\setlength{\tabcolsep}{3.2pt}
\renewcommand{\arraystretch}{1.15}

\begin{tabular*}{\textheight}{
    @{\extracolsep{\fill}}
    p{0.7cm}
    p{3.2cm}
    p{3.2cm}
    c c c c c c c
}
\toprule
\textbf{RQ} &
\textbf{Comparison} &
\textbf{Effect tested} &
\textbf{GG $\epsilon$} &
\textbf{df} &
\textbf{$F$} &
\textbf{$p_{\mathrm{unc}}$} &
\textbf{$p_{\mathrm{GG}}$} &
\textbf{$\eta_G^2$} &
\textbf{Sig.} \\
\midrule

RQ1a &
WSI-only (full) &
WSI encoder &
0.7770 &
5, 95 &
1.065 &
0.384579 &
0.378864 &
0.047 &
\nonsig \\

\midrule

RQ1b &
WSI+RNA-seq (matched) &
WSI encoder &
0.6919 &
5, 95 &
5.413 &
$2.005 \times 10^{-4}$ &
0.001347 &
0.116 &
\sig \\

\midrule

\multirow{3}{*}{RQ2} &
\multirow{3}{3.2cm}{WSI-only vs WSI+RNA-seq (matched)}
&
Modality &
1.0000 &
1, 19 &
123.736 &
$9.222 \times 10^{-10}$ &
$9.222 \times 10^{-10}$ &
0.490 &
\sig \\

& &
WSI encoder &
0.6638 &
5, 95 &
2.329 &
0.048383 &
0.076847 &
0.040 &
\nonsig \\

& &
Modality $\times$ WSI encoder &
0.7074 &
5, 95 &
2.499 &
0.035905 &
0.057569 &
0.036 &
\nonsig \\

\midrule

RQ3a &
Best configurations &
Configuration &
0.7474 &
2, 38 &
29.992 &
$1.528 \times 10^{-8}$ &
$6.675 \times 10^{-7}$ &
0.478 &
\sig \\

\midrule

RQ3b &
Best modalities (matched) &
Modality &
0.9220 &
2, 38 &
54.225 &
$7.375 \times 10^{-12}$ &
$4.225 \times 10^{-11}$ &
0.589 &
\sig \\

\bottomrule
\end{tabular*}

\vspace{0.5em}
\parbox{\textheight}{\footnotesize
\textit{Note.} df reports the uncorrected numerator and denominator degrees of freedom. $p_{\mathrm{GG}}$ is the Greenhouse--Geisser-corrected value; $\eta_G^2$ denotes generalized eta squared.  \sig\ indicates $p<0.05$; \nonsig\ indicates $p\geq0.05$.
}
\end{sidewaystable}



\begin{sidewaystable}[p]
\centering
\caption{Post-hoc Nadeau--Bengio corrected paired $t$-tests for all research questions.}
\label{tab:supp_posthoc_all}
\scriptsize
\setlength{\tabcolsep}{3.0pt}
\renewcommand{\arraystretch}{1.06}
\begin{tabular*}{\textheight}{@{\extracolsep{\fill}}p{0.65cm} p{2.65cm} p{7.4cm} c c c c c c}
\toprule
\textbf{RQ} &
\textbf{Analysis} &
\textbf{Contrast (A vs B)} &
\textbf{$\Delta$} &
\textbf{$N_{\mathrm{train}}$} &
\textbf{$t(19)$} &
\textbf{$p_{\mathrm{unc}}$} &
\textbf{$p_{\mathrm{Holm}}$} &
\textbf{Sig.} \\
\midrule

\multirow{15}{*}{RQ1b} &
\multirow{15}{2.65cm}{WSI encoder effect in WSI+RNA-seq models (matched budget)}
& CONCH v1.5 (patch) vs Prov-GigaPath (patch) & 0.0374 & 64 & 1.0189 & 0.321100 & 1.000000 & \nonsig \\
& & CONCH v1.5 (patch) vs Prov-GigaPath (slide) & 0.0320 & 64 & 1.0079 & 0.326200 & 1.000000 & \nonsig \\
& & CONCH v1.5 (patch) vs ResNet50 (patch) & 0.0104 & 64 & 0.3633 & 0.720400 & 1.000000 & \nonsig \\
& & CONCH v1.5 (patch) vs TITAN (slide) & 0.0662 & 64 & 1.9220 & 0.069700 & 1.000000 & \nonsig \\
& & CONCH v1.5 (patch) vs UNI2-h (patch) & 0.0599 & 64 & 1.2523 & 0.225600 & 1.000000 & \nonsig \\
& & Prov-GigaPath (patch) vs Prov-GigaPath (slide) & -0.0054 & 64 & -0.1433 & 0.887500 & 1.000000 & \nonsig \\
& & Prov-GigaPath (patch) vs ResNet50 (patch) & -0.0270 & 64 & -0.8563 & 0.402500 & 1.000000 & \nonsig \\
& & Prov-GigaPath (patch) vs TITAN (slide) & 0.0289 & 64 & 0.6751 & 0.507700 & 1.000000 & \nonsig \\
& & Prov-GigaPath (patch) vs UNI2-h (patch) & 0.0226 & 64 & 0.4757 & 0.639700 & 1.000000 & \nonsig \\
& & Prov-GigaPath (slide) vs ResNet50 (patch) & -0.0216 & 64 & -0.7651 & 0.453600 & 1.000000 & \nonsig \\
& & Prov-GigaPath (slide) vs TITAN (slide) & 0.0342 & 64 & 0.9751 & 0.341800 & 1.000000 & \nonsig \\
& & Prov-GigaPath (slide) vs UNI2-h (patch) & 0.0279 & 64 & 0.5527 & 0.586900 & 1.000000 & \nonsig \\
& & ResNet50 (patch) vs TITAN (slide) & 0.0558 & 64 & 1.7929 & 0.088900 & 1.000000 & \nonsig \\
& & ResNet50 (patch) vs UNI2-h (patch) & 0.0496 & 64 & 1.0634 & 0.300900 & 1.000000 & \nonsig \\
& & TITAN (slide) vs UNI2-h (patch) & -0.0063 & 64 & -0.1112 & 0.912600 & 1.000000 & \nonsig \\

\midrule
\multirow{6}{*}{RQ2} &
\multirow{6}{2.65cm}{WSI+RNA-seq vs WSI-only within encoder (matched budget)}
& WSI+RNA-seq vs WSI-only (ResNet50, patch) & 0.14315 & 64 & 3.9162 & $9.278 \times 10^{-4}$ & 0.005567 & \sig \\
& & WSI+RNA-seq vs WSI-only (Prov-GigaPath, slide) & 0.14480 & 64 & 3.7717 & 0.001290 & 0.006452 & \sig \\
& & WSI+RNA-seq vs WSI-only (CONCH v1.5, patch) & 0.15970 & 64 & 3.5904 & 0.001951 & 0.007803 & \sig \\
& & WSI+RNA-seq vs WSI-only (UNI2-h, patch) & 0.10980 & 64 & 1.6816 & 0.109019 & 0.170827 & \nonsig \\
& & WSI+RNA-seq vs WSI-only (Prov-GigaPath, patch) & 0.11765 & 64 & 2.0269 & 0.056942 & 0.170827 & \nonsig \\
& & WSI+RNA-seq vs WSI-only (TITAN, slide) & 0.08595 & 64 & 1.9774 & 0.062684 & 0.170827 & \nonsig \\

\midrule
\multirow{3}{*}{RQ3a} &
\multirow{3}{2.65cm}{Best configurations using the available budget for each modality}
& RNA-seq only (full) vs CONCH v1.5 WSI-only (full) & 0.064806 & 121 & 2.132780 & 0.046205 & 0.092411 & \nonsig \\
& & RNA-seq only (full) vs CONCH v1.5 WSI+RNA-seq (matched) & -0.059344 & 64 & -2.027687 & 0.056852 & 0.092411 & \nonsig \\
& & CONCH v1.5 WSI-only (full) vs CONCH v1.5 WSI+RNA-seq (matched) & -0.124150 & 64 & -2.491495 & 0.022133 & 0.066400 & \nonsig \\

\midrule
\multirow{3}{*}{RQ3b} &
\multirow{3}{2.65cm}{Best modality configurations at matched budget}
& RNA-seq only (matched) vs TITAN WSI-only (matched) & 0.087341 & 64 & 2.088173 & 0.050480 & 0.100964 & \nonsig \\
& & RNA-seq only (matched) vs CONCH v1.5 WSI+RNA-seq (matched) & -0.064859 & 64 & -1.941587 & 0.067170 & 0.100964 & \nonsig \\
& & TITAN WSI-only (matched) vs CONCH v1.5 WSI+RNA-seq (matched) & -0.152200 & 64 & -4.377137 & $3.200 \times 10^{-4}$ & $9.720 \times 10^{-4}$ & \sig \\

\bottomrule
\end{tabular*}

\vspace{0.45em}
\parbox{\textheight}{\footnotesize
\textit{Note.} $\Delta$ is the mean held-out C-index difference, computed as condition A minus condition B in the stated contrast. All tests used the Nadeau--Bengio variance correction for repeated cross-validation dependency. Holm adjustment was applied (\textit{\(p_{Holm}\)}). For comparisons involving models trained on different sample sizes, the smaller effective training size was used conservatively. \sig\ indicates significance at $\alpha=0.05$ after Holm correction; \nonsig\ indicates non-significance. 
}
\end{sidewaystable}




\end{document}



