Dynamic Fusion and Semantic Scanning for Multimodal Survival Analysis
AdaSurvMamba combines WSI patch features with six genomic signature groups for multimodal survival analysis.
- Dual-Scale Importance-Aware Reconstruction (DSIR) adapts cross-modal interactions at both patient and token levels.
- Semantic Aggregation Scanning (SAS) organizes related tokens through learned prototypes and modulates the Mamba state-transition step size.
- Reproducible release includes BRCA/UCEC genomic profiles, five-fold splits, WSI feature downloads, and ready-to-run training scripts.
git clone https://github.com/zjlGO/AdaSurvMamba.git
cd AdaSurvMamba
conda env create -f environment.yml
conda activate AdaSurvMambaThe environment uses Python 3.10, PyTorch 2.0.1, and CUDA 11.8. If
causal-conv1d or mamba-ssm must be built from source, CUDA 11.8 with nvcc
is required.
Installation note: Mamba dependencies are sensitive to CUDA, compiler, and PyTorch versions. If setup fails, we recommend using Codex to diagnose and install the environment.
The TCGA-BRCA and TCGA-UCEC genomic profiles are already included in
dataset/gene/. Download the matching UNI WSI features:
| Cohort | WSI features | Access code |
|---|---|---|
| TCGA-BRCA | Baidu Netdisk | a1e3 |
| TCGA-UCEC | Baidu Netdisk | wi7w |
Extract both downloaded archives without renaming their cohort directories:
unzip /path/to/tcga_brca.zip -d dataset/WSI
unzip /path/to/tcga_ucec.zip -d dataset/WSIKeep the genomic ZIP files compressed. The completed data directory must be:
dataset/
├── gene/
│ ├── signatures.csv
│ ├── tcga_brca_all_clean.csv.zip
│ └── tcga_ucec_all_clean.csv.zip
└── WSI/
├── tcga_brca/uni_20x/pt_files/*.pt
└── tcga_ucec/uni_20x/pt_files/*.pt
After preparing the data, run both cohorts and all five folds directly:
bash train.shSelect cohorts or a GPU when needed:
bash train.sh brca
bash train.sh ucec
CUDA_VISIBLE_DEVICES=1 bash train.sh brca ucecAn external dataset root with the same gene/ and WSI/ layout is also
supported:
bash train.sh --data-root /path/to/dataset brcaFor a single fold, use the Python entry point:
python main.py --cohort brca --folds 0AdaSurvMamba/
├── data_loading/ # Survival data loading code
├── dataset/ # Genomic data and downloaded WSI features
├── mamba_ssm/ # Semantic Mamba implementation
├── models/ # AdaSurvMamba architecture
├── splits/5foldcv/ # BRCA and UCEC cross-validation splits
├── utils/ # Training and evaluation utilities
├── environment.yml
├── main.py
└── train.sh
If this work is useful in your research, please cite:
@inproceedings{zhong2026adasurvmamba,
title={AdaSurvMamba: Dynamic Fusion and Semantic Scanning for Multimodal Survival Analysis},
author={Zhong, Jialong and Liu, Tingwei and Yue, Baokun and Li, Jingjing and Piao, Yongri and Zhang, Miao and Liu, Leiye and Jiang, Jiahong and Ji, Wei and Lu, Huchuan},
booktitle={Medical Image Computing and Computer Assisted Intervention -- MICCAI},
year={2026}
}The survival preprocessing and evaluation protocol builds on MCAT. The modality-wise mean aggregation and bottleneck survival head follow SurvPath. The selective scan implementation is adapted from Mamba.
This project is released under the GPL-3.0 License.
If you have any queries, please contact us at jialongzhong@mail.dlut.edu.cn.
