Skip to main content

RAGulateRAGulate logo

Retrieval-Augmented Generation for Post-hoc Literature-Grounded Assessment of Gene Regulatory Interaction

GitHub issues PyPI - Project Conda Docs DOI

Introduction

RAGulate is a Retrieval-Augmented Generation (RAG) pipeline that integrates domain-specific large language models (LLM) with curated literature to identify, score, and assess inferred regulatory (transcription factor-target gene) interactions in their biological context.

RAGulate pipeline

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

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

Requirements

RAGulate is implemented in the LlamaIndex framework. Running RAGulate on CUDA is highly recommended if available.

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

  • PyTorch (version 2.0 or higher)
    Install with the exact command from the PyTorch “Get Started” page for your OS, Python version and (optionally) CUDA toolkit.
  • NumPy (version 1.23 or higher)
  • bm-25 (version 0.2.2 or higher)

You can install these dependencies using pip:

pip install torch numpy

Installation

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

pip install ragulate-bio

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/RAGulate.git

Import

import ragulate_bio as ragulate  # recommended alias

Note: The PyPI distribution is named ragulate-bio to avoid a name conflict with an unrelated project called ragulate. Always import ragulate_bio in Python (you may alias it to ragulate for convenience)

Option 3 (Coming soon):
For users who prefer Conda or Mamba for environment management, you can install RAGulate along with extra dependencies:

Conda:

conda install -c zandigohar RAGulate

Mamba:

mamba create -n RAGulate -c zandigohar RAGulate

Reproducibility

Large reproducibility resources for RAGulate (including prior regulatory databases, serialized artifacts, and precomputed resources) are hosted separately on Zenodo due to size constraints:

https://doi.org/10.5281/zenodo.18498382

To reproduce the tutorial and experimental results, download the Zenodo dataset and place the files in the expected locations (see config.py), then run the notebooks in docs/ in order:

  1. NCBI-contextualization_Final.ipynb (generates the context-specific pickle)
  2. RAGulate_Modular_Rep.ipynb (full reproducibility run)

FAQ

Q1: Do I need a GPU to run RAGulate?
No, a GPU is not required. However, using a CUDA-enabled GPU is strongly recommended for faster runs, especially with large queries.

Q2: How do I know if I can use a GPU with RAGulate?
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 RAGulate with R-based tools?
RAGulate is written in Python and works directly with Numpy objects.

Q4: What if I also have another package called ragulate installed? RAGulate will warn you if it detects a conflicting installation. We recommend using a clean virtual environment to avoid import clashes.

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

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

Citation

This repository is under active development. Please cite as:
Zandigohar M. and Dai Y. RAGulate: RAGulate: Retrieval-Augmented Generation for Post-hoc Literature-Grounded Regulatory Assessment. 2026. https://doi.org/10.64898/2026.01.20.700704

Development & Contact

RAGulate was developed and is actively maintained by Mehrdad Zandigohar as part of his PhD research at the University of Illinois Chicago (UIC), in the lab of Dr. Yang Dai.

📬 For private questions, please email: mzandi2@uic.edu

🤝 For collaboration inquiries, please contact PI: Dr. Yang Dai (yangdai@uic.edu)

Contributions, feature suggestions, and feedback are always welcome!

License

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

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

Metadata

Release files for ragulate-bio 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ragulate-bio 1.1.2
File Size Uploaded
ragulate_bio-1.1.2.tar.gz 562.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ragulate-bio 1.1.2
File Interpreter ABI Platform
ragulate_bio-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 639.5 kB

Release files / ragulate_bio-1.1.2.tar.gz

Download URL ragulate_bio-1.1.2.tar.gz
Size 562.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b71e033e24a1ccde4fd1dc39d24bc589377853234665c6ce3a5314e3591b2466
BLAKE2b-256 checksum
How to use checksums
95cd1b8fb6839652e41be1eb34c9e76f38ba6549da9d919b390d1dd8efee6564
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 6, 2026.

Transparency log

Release files / ragulate_bio-1.1.2-py3-none-any.whl

Download URL ragulate_bio-1.1.2-py3-none-any.whl
Size 77.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09e3825ed2fb01ff2e12ee0b3ce66fb0ae405efa33ad60b0b8cf950d1a5322a3
BLAKE2b-256 checksum
How to use checksums
a831a311e986abc3c2a769a44cb9a446734b56777f76ee24844e81a7d4d7bc4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page