/OmiEmbed

Multi-task deep learning framework for multi-omics data analysis

Primary LanguagePythonMIT LicenseMIT

OmiEmbed

Please also have a look at our brand new omics-to-omics DL freamwork 👀: OmiTrans

DOI Codacy Badge GitHub license Safe GitHub Repo stars GitHub forks

OmiEmbed: A Unified Multi-task Deep Learning Framework for Multi-omics Data

Xiaoyu Zhang (x.zhang18@imperial.ac.uk)

Data Science Institute, Imperial College London

Introduction

OmiEmbed is a unified framework for deep learning-based omics data analysis, which supports:

  1. Multi-omics integration
  2. Dimensionality reduction
  3. Omics embedding learning
  4. Tumour type classification
  5. Phenotypic feature reconstruction
  6. Survival prediction
  7. Multi-task learning for aforementioned tasks

Paper Link: https://doi.org/10.3390/cancers13123047

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/zhangxiaoyu11/OmiEmbed.git
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

Citation

If you use this code in your research, please cite our paper.

@Article{OmiEmbed2021,
    AUTHOR = {Zhang, Xiaoyu and Xing, Yuting and Sun, Kai and Guo, Yike},
    TITLE = {OmiEmbed: A Unified Multi-Task Deep Learning Framework for Multi-Omics Data},
    JOURNAL = {Cancers},
    VOLUME = {13},
    YEAR = {2021},
    NUMBER = {12},
    ARTICLE-NUMBER = {3047},
    ISSN = {2072-6694},
    DOI = {10.3390/cancers13123047}
}

OmiTrans

Please also have a look at our brand new omics-to-omics DL freamwork 👀: OmiTrans

License

This source code is licensed under the MIT license.