Multimodal Deep Learning-based pan-cancer Survival prediction
Using the code
•
Repo structure
•
License
This repository contains all code developed for the MultiSurv paper:
Long-term cancer survival prediction using multimodal deep learning | scientific reports
Usability note: This is experimental work, not a directly usable software library. The code was developed in the context of an academic research project, highly exploratory and iterative in nature. It is published here in the spirit of open science and reproducibility values.
This project was built using the Anaconda distribution of Python 3.6.8. To run a fresh copy of the code, clone this repository and use the Anaconda environment manager to create an environment (from the environment.yml
file provided here) to install the MultiSurv code dependencies.
For instructions on how to create and use conda environments, please refer to the docs at conda.io.
The source code is found in the src
directory. Higher-level or exploratory analyses,
as well as paper figures and tables, are typically run using Jupyter notebooks.
Non-exhaustive lists of links to some key parts of the project are found below.
Content | Code source | Description |
---|---|---|
Data preprocessing code | data directory |
Separate Jupyter notebook files for different data modalities |
MultiSurv model | multisurv.py |
Pytorch model |
MultiSurv training | model.py Jupyter notebook |
Python Class handling model training Code to run training |
MultiSurv evaluation | Jupyter notebook | Evaluation of trained models after loading weights |
Baseline model evaluation | Jupyter notebook | Fit and evaluate baseline models |
Content | Files | Description |
---|---|---|
Table 1 - Unimodal data results | Jupyter notebook Jupyter notebook results.csv |
Baseline model evaluation MultiSurv evaluation Result table |
Table 2 - Multimodal data results | Jupyter notebook results.csv |
MultiSurv evaluation Result table |
Table 3 - Data summary | Jupyter notebook | Overview of the different data modalities |
Fig. 1 - Model architecture | MultiSurv.png |
Schematic overview of MultiSurv |
Fig. 2 - Survival curves | Jupyter notebook | Predicted survival curves |
Fig. 3 - Feature representations | Jupyter notebook | Feature representations and patient survival curves |
Code used to generate all additional material for the paper can be found in the figures_and_tables
directory.
This project is licensed under the terms of the MIT license. See LICENSE file for details.