SubOmiEmbed
SubOmiEmbed: Self-supervised Representation Learning of Multi-omics Data for Cancer Type Classification
Paper: https://arxiv.org/abs/2202.01672
This codebase is built upon https://github.com/zhangxiaoyu11/OmiEmbed
Introduction
SubOmiEmbed is an extension of OmiEmbed that supports the SSL technique of feature subsetting for the following tasks.
- Multi-omics integration
- Dimensionality reduction
- Omics embedding learning
- Tumour type classification
- Phenotypic feature reconstruction
- Survival prediction
- Multi-task learning for aforementioned tasks
Getting Started
Prerequisites
- CPU or NVIDIA GPU + CUDA CuDNN
- Python 3.6+
- Python Package Manager
- Python Packages
- PyTorch 1.2+
- TensorBoard 1.10+
- Tables 3.6+
- scikit-survival 0.6+
- prefetch-generator 1.0+
- Git 2.7+
Installation
- Clone the repo
git clone https://github.com/hashimsayed0/OmiEmbed
cd OmiEmbed
- Install the dependencies
- For conda users
conda env create -f environment.yml conda activate omiembed
- For pip users
pip install -r requirements.txt
Try it out
- Train and test using the built-in sample dataset with the default settings
python train_test.py
- Check the output files
cd checkpoints/test/
- Visualise the metrics and losses
tensorboard --logdir=tb_log --bind_all