Giter Club home page Giter Club logo

hyperg-vae's Introduction

HyperG-VAE

Code for the paper named "Inferring gene regulatory networks by hypergraph variational autoencoder".

Abstract

In constructing Gene Regulatory Networks (GRN), it is vital to account for both differential gene module regulation and the diversity stemming from cellular heterogeneity. Here we present HyperG-VAE, a Bayesian deep generative model that utilizes a hypergraph for analyzing single-cell RNA sequencing (scRNA- seq) data. HyperG-VAE employs a cell encoder with a Structural Equation Model for GRN construction and cellular heterogeneity analysis, alongside a gene encoder using hypergraph self-attention for gene module identification, cohesively optimized by a decoder. HyperG-VAE excels in GRN inference and scRNA-seq visualization, confirmed by benchmarks. It effectively reveals gene regulation in bone marrow B cell development and shows robustness in varied downstream analyses. The model’s cell encoder identifies distinct cell clusters and maps B cell progression. As another key contribution, gene set enrichment analysis (GSEA) validates the gene encoder’s module associations with specific cellular contexts, demonstrating its comprehensive analytical capabilities. demo

Requirements

  • Pytorch 1.12.1
  • Python 3
  • CUDA 11.6
  • Different environment setting may make very subtle difference

Usage

Command to run HyperG-VAE

  • Gene Regulation Inference (including cell type specific GRN and cell type non-specific GRN).
      python mainspec.py --task celltype_GRN --data_file <scGNA-seq path> --save_name <output path> --setting test
      python main.py --task non_celltype_GRN --data_file <scGNA-seq path> --save_name <output path> --setting test
    use --setting test to infer GRN instead of benchmarking.
  • Embedding
      python mainumap.py --task non_celltype_GRN --data_file <scGNA-seq path> --save_name <output path>

Hyperparameters tuned in the paper can be found in the Supplementary.

Supporting tools

  • The basic setting and datasets used in the scRNA-seq GRN inference benchmark part could be found in "BEELINE".
  • EPR and AUPRC calculation tutorial could be found in "DeepSEM".
  • SCENIC tutorial can be found in "SCENIC".
  • GSEA analysis tool can be found "here".
  • Chip-Atlas dataset can be found "here".
  • scRNA-seq data with clustering label annotation preprocess tutorial can be found "here".
  • GRN networks are drawn by Cytoscape.

hyperg-vae's People

Contributors

guangxinsuuu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

imahabub

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.