Skip to main content

Python Toolkit for Transcription Factor Activity Inference and Clustering of scRNA-seq Data

Project description

scRegulate

Single-Cell Regulatory-Embedded Variational Inference of Transcription Factor Activity from Gene Expression

GitHub issues PyPI - Project Conda Documentation Status

Introduction

scRegulate is a powerful tool designed for the inference of transcription factor activity from single cell/nucleus RNA data using advanced generative modeling techniques. It leverages a unified learning framework to optimize the modeling of cellular regulatory networks, providing researchers with accurate insights into transcriptional regulation. With its efficient clustering capabilities, scRegulate facilitates the analysis of complex biological data, making it an essential resource for studies in genomics and molecular biology.



For further information and example tutorials, please check our documentation.

If you have any questions or concerns, feel free to open an issue.

Requirements

scRegulate is implemented in the PyTorch framework. Running scRegulate on CUDA is highly recommended if available.

Before installing and running scRegulate, ensure you have the following libraries installed:

You can install these dependencies using pip:

pip install torch numpy scanpy anndata

Installation

Option 1:
You can install scRegulate via pip for a lightweight installation:

pip install scregulate

Option 2:
Alternatively, if you want the latest, unreleased version, you can install it directly from the source on GitHub:

pip install git+https://github.com/YDaiLab/scRegulate.git

Option 3:
For users who prefer Conda or Mamba for environment management, you can install scRegulate along with extra dependencies:

Conda:

conda install -c zandigohar scregulate

Mamba:

mamba create -n scRegulate -c zandigohar scregulate

FAQ

Q1: Do I need a GPU to run scRegulate?
No, a GPU is not required. However, using a CUDA-enabled GPU is strongly recommended for faster training and inference, especially with large datasets.

Q2: How do I know if I can use a GPU with scRegulate?
There are two quick checks:

  1. System check
    In your terminal, run nvidia-smi. If you see your GPU listed (model, memory, driver version), your machine has an NVIDIA GPU with the driver installed.

  2. Python check
    In a Python shell, run:

    import torch
    print(torch.cuda.is_available())  # True means PyTorch can see your GPU
    print(torch.cuda.device_count())  # How many GPUs are usable
    

Q3: Can I use scRegulate with Seurat or R-based tools?
scRegulate is written in Python and works directly with AnnData objects (e.g., from Scanpy). You can convert Seurat objects to AnnData using tools like SeuratDisk.

Q4: How can I visualize inferred TF activities?
TF activities inferred by scRegulate are stored in the obsm slot of the AnnData object. You can use scanpy.pl.embedding, scanpy.pl.heatmap, or export the matrix for custom plots.

Q5: What kind of prior networks does scRegulate accept?
scRegulate supports user-provided gene regulatory networks (GRNs) in CSV or matrix format. These can be curated from public databases or inferred from ATAC-seq or motif analysis.

Q6: Can I use scRegulate for multi-omics integration?
Not directly. While scRegulate focuses on TF activity from RNA, you can incorporate priors derived from other omics (e.g., ATAC) to guide the model.

Q7: What file formats are supported?
scRegulate works with .h5ad files (AnnData format). Input files should contain gene expression matrices with proper normalization.

Q8: How do I cite scRegulate?
See the Citation section below for the latest reference and preprint link.

Q9: How can I reproduce the paper’s results?
See our Reproducibility Guide for step-by-step instructions. Then run scregulate.

Citation

scRegulate manuscript is currently under peer review.

If you use scRegulate in your research, please cite:

Mehrdad Zandigohar, Jalees Rehman and Yang Dai (2025). scRegulate: Single-Cell Regulatory-Embedded Variational Inference of Transcription Factor Activity from Gene Expression, Bioinformatics Journal (under review).

📄 Read the preprint on bioRxiv: 10.1101/2025.04.17.649372

License

The code in scRegulate is licensed under the MIT License, which permits academic and commercial use, modification, and distribution.

Please note that any third-party dependencies bundled with scRegulate may have their own respective licenses.

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

scregulate-0.1.21.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

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

scregulate-0.1.21-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file scregulate-0.1.21.tar.gz.

File metadata

  • Download URL: scregulate-0.1.21.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for scregulate-0.1.21.tar.gz
Algorithm Hash digest
SHA256 2aa1c228900b10170207d926624a2f2d5e6f9e73c03934ab5e942e78da69b0fc
MD5 1541188786a4f6cec246393713350045
BLAKE2b-256 6d93de8203cd5af933141f0f2e1bd3fe1a3337971514f2af58f41b715266531a

See more details on using hashes here.

Provenance

The following attestation bundles were made for scregulate-0.1.21.tar.gz:

Publisher: python-publish.yml on YDaiLab/scRegulate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scregulate-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: scregulate-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for scregulate-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 4051b4a3e97d2e75d7dee521469e115cfa58b14b69bd35e267468f2c47dbef66
MD5 10d0d45d79bd55ffac6098bd536193f9
BLAKE2b-256 d5a9acc5d4b025c29c89257b60eede8d699c23e813a8fa6edf0cfb5c1c452bc9

See more details on using hashes here.

Provenance

The following attestation bundles were made for scregulate-0.1.21-py3-none-any.whl:

Publisher: python-publish.yml on YDaiLab/scRegulate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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