Skip to content

HiGCN: a hierarchical graph convolution network for representation learning of gene expression data

Notifications You must be signed in to change notification settings

SCUT-CCNL/HiGCN

Repository files navigation

HiGCN

HiGCN: a hierarchical graph convolution network for representation learning of gene expression data

CONTACT: For questions or comments about the code please contact: [email protected] / [email protected] / [email protected]

1. Requirements

2. Code Base Structure

train.py: main script for classification

model.py: contains PyTorch model definitions for HiGCN

sparsegcn_layer.py: contains PyTorch definitions for Sparse GCN

featureweightedgcn_layer.py: contains PyTorch definitions for Feature-weighted GCN

until.py: contains definitions for Sample Similarity Graph construction, C-index, data loader, etc

cox/train.py: main script for Cox.

cox/utils.py: contains definitions for Sample Similarity Graph construction, figure plotting, etc

simulation/crimmix: (SimData1). It's generated from Crimmix (ten datasets in total)

simulation/crimmix/omic1: sample-feature matrix of the first dataset

simulation/crimmix/omic1_gene_A: gene interaction graph of the first dataset

simulation/crimmix/omic1_positive: true signals of the first dataset

simulation/gedfn: (SimData2). It's generated based on GEDFN (ten datasets in total)

simulation/gedfn/gedfn1_x: sample-feature matrix of the first dataset

simulation/gedfn/gedfn1_y: labels of the first dataset

simulation/gedfn/gedfn1_gene_A: gene interaction graph of the first dataset

simulation/gedfn/gedfn1_position: true signals of the first dataset

3. Training and Evaluation

Classification

By default, you can directly run python ./train.py to get the result of HiGCN on SimData1. The train_portions in train.py is used to set Training Percentage (Default: 1%).

If you want to classify other dataset (i.e., SimData2). You can directly comment out the loading code of SimData1 and add code to load your own dataset. (The code to load SimData2 can be finded in train.py)

Survival analysis

Run python ./cox/train.py. The survival analysis data we used is too large to upload. If you need them, please contact us by email or you can download Kidney and Pancancer data from:

https://www.cbioportal.org/

https://xenabrowser.net/datapages/?hub=https://tcga.xenahubs.net:443

Acknowledgments

This code is inspired by GEDFN and AffinityNet, code base structure was inspired by GCN

About

HiGCN: a hierarchical graph convolution network for representation learning of gene expression data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages