Skip to main content

Gene Regulatory Networks Inference using diffusion model

Project description

RegDiffusion logo

Downloads Downloads PyPI - Version

RegDiffusion is a very fast unsupervised regulatory network inference algorithm (just like GENIE3 and GRNBoost2), based on probabilistic diffusion model. It works well on genes and is capable to rapidly (<5min) predict biologically verifiable links from large single cell RNA-seq data with 40,000+ genes.

Zhu H, Slonim D. From Noise to Knowledge: Diffusion Probabilistic Model-Based Neural Inference of Gene Regulatory Networks. J Comput Biol. 2024 Nov;31(11):1087-1103. doi: 10.1089/cmb.2024.0607. Epub 2024 Oct 10. PMID: 39387266; PMCID: PMC11698671.

Installation

RegDiffusion is on pypi.

pip install regdiffusion

Check out this tutorial for a quick tour of how to use RegDiffusion! If you would like to integrate results from RegDiffusion into the SCENIC pipeline, checkout this tutorial.

New in v0.2

  • Memory-efficient mode: Set memory_efficient=True in RegDiffusionTrainer to reduce peak GPU memory by ~45%, making it easier to work with large gene sets on consumer GPUs (You can now fit 20k genes on a 16GB GPU).
  • Sparse matrix support: RegDiffusionTrainer now accepts scipy sparse matrices directly (e.g., adata.X), enabling training on datasets with 1M+ cells without excessive memory usage.

Inferred Networks from RegDiffusion

Here are two examples of inferred networks from regdiffusion. The networks are coherent with existing literature and across datasets.

Inference Speed

Inference on networks with 15,000 genes takes under 5 minutes on an A100 GPU. In contrast, previous VAE based models would take more than 4 hours on the same device. Even if you don't have access to those fancy GPU cards, RegDiffusion still works. Inference on the same large network takes roughly 3 hours on a mid-range 12-core CPU.

CLI tool

regdiffusion has a CLI tool now! It takes a count matrix as the input (different from the main API, which needs the data to be log transformed) and returns a table of inferred edges.

usage: regdiffusion [-h] [--output OUTPUT] [--top_gene_percentile TOP_GENE_PERCENTILE] [--k K] [--workers WORKERS] input

Infer a gene regulatory network (GRN) from a single-cell count dataset.

positional arguments:
  input                 Input single-cell count dataset file (CSV or H5AD format).

options:
  -h, --help            show this help message and exit
  --output OUTPUT       Output file path for the edgelist (CSV). Default: rd_grn.csv
  --top_gene_percentile TOP_GENE_PERCENTILE
                        Percentile cutoff to filter weak edges (e.g., 50 for the top 50%). Default: 50
  --k K                 Number of edges per gene to extract (-1 for all edges). Default: -1
  --workers WORKERS     Number of workers to use for edgelist extraction. Default: 4

Citation

If you find our package useful, consider citing our paper! =)

@article{zhu2024noise,
  title={From Noise to Knowledge: Diffusion Probabilistic Model-Based Neural Inference of Gene Regulatory Networks},
  author={Zhu, Hao and Slonim, Donna},
  journal={Journal of Computational Biology},
  volume={31},
  number={11},
  pages={1087--1103},
  year={2024},
  publisher={Mary Ann Liebert, Inc., publishers 140 Huguenot Street, 3rd Floor New~…}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

regdiffusion-0.2.2.tar.gz (13.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

regdiffusion-0.2.2-py2.py3-none-any.whl (40.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file regdiffusion-0.2.2.tar.gz.

File metadata

  • Download URL: regdiffusion-0.2.2.tar.gz
  • Upload date:
  • Size: 13.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for regdiffusion-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3183319c8b573abaee2f23a18d12d952f6eb91ce33d358aef01105f065ec6aff
MD5 db36cabef9ea14e4724824b648752dbd
BLAKE2b-256 51ed80c5085746fd2601595e07f428ed445f5d43aea88ff87ad664ebcce9b30c

See more details on using hashes here.

File details

Details for the file regdiffusion-0.2.2-py2.py3-none-any.whl.

File metadata

  • Download URL: regdiffusion-0.2.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for regdiffusion-0.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b749960bf6efbe4f100669c3ff24ceb885f85adf1c20c18f6379ab3cb8e83572
MD5 4d57108d3f4498e6993bdf4c3f5178b7
BLAKE2b-256 263eedfd28bf5bedbbb5a2c57ce6d967bb58cd5fff29ea5bba18446023a51420

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page