zjupgx / modig

MODIG: Integrating Multi-Omics and Multi-Dimensional Gene Network for Cancer Driver Gene Identification based on Graph Attention Network Model
9 stars 2 forks source link

MODIG v1.0

MODIG: Integrating Multi-Omics and Multi-Dimensional Gene Network for Cancer Driver Gene Identification based on Graph Attention Network Model

MODIG is a GAT-based model designed for generating gene repre-sentation from a multi-dimensional gene network for the identifica-tion of cancer driver genes, which mainly performed three steps to integrate multi-omics data and multiple gene associations.

Firstly, it generates multiple gene association profiles based on PPI, gene sequence similarity, gene tissue-specific expression profiles, gene pathway membership, and GO annotation information.

Secondly, a multi-dimensional gene network is constructed using these gene association profiles as multiple edges and multi-omics features as node attributes.

Thirdly, to learn knowledge from the multi-dimensional graph, instead of fusing different edges into a single edge to form a homogeneous graph, MODIG applies a GAT block for within-dimension interactions to get the dimension-specific gene representations and a joint learning module to adapta-tively learn the importance of different dimensional representa-tions and fuse them by an attention mechanism for downstream cancer driver gene prediction.

Overview

Here we provide an implementation of MODIG in Pytorch and PyTorch Geometric. The repository is organised as follows:

You can download the necessary dataset file from here, which contains labels for training, omics feature matrix, ppi network, gene association profiles. Please Download the datasets, unzip and put the data folder in the same path as thee modig folder.

Requirements

Implementation

Step 1: Download and decompress data files

You can unzip the datasets by unzip data.zip.

Step 2: Run the model

You can run python main.py -t output -ppi CPDB

Note there are several parameters can be tuned: --thr_go, --thr_seq, --thr_exp, --thr_path, etc. Please refer to the main.py file for detailed description of all parameters.