Skip to main content

⚙️ GeneXpressor 💡

GeneXpressor is a streamlined, user-friendly tool designed for bulk RNA-seq differential expression analysis, built on the robust DESeq2 framework. It intelligently detects your count and metadata files, automates the entire DESeq2 workflow, and generates publication-quality plots along with a reproducible HTML report—all with a single command. Unlike traditional approaches, GeneXpressor allows you to process multiple datasets simultaneously, eliminating the need to select and analyze each dataset individually, making large-scale analyses faster and more efficient.​

🚀 Key Features

🔍 Auto-discovery of count + metadata files

🧠 End-to-end DESeq2 analysis with rpy2 integration

📊 Publication-ready visualizations (volcano, MA, heatmap, QC plots)

🧾 Optional HTML report summarizing results

⚙️ Cross-platform (Windows, macOS, Linux)

🧩 Supports both AUTO and manual dataset selection

Lightweight setup – no manual R scripting required

Run this in your R console:

if(!requireNamespace("BiocManager", quietly=TRUE)) install.packages("BiocManager", repos="https://cloud.r-project.org")

BiocManager::install(c( "DESeq2", "apeglm", "ashr", "ggplot2", "pheatmap", "rmarkdown", "knitr" ), ask=FALSE)

💾 Installation pip install GeneXpressor

or

To confirm: GeneXpressor --help

🧩 Input Directory Structure Your working directory (--parent_dir) should contain:

MyProject/ ├─ counts.csv # genes × samples, first column = gene IDs ├─ metadata.csv # sample info; must include the condition column └─ (optional extra files)

Example metadata.csv:

sample condition S1 Disease S2 Control S3 Disease S4 Control

⚙️ CLI USE CASE

Example (Windows PowerShell)

genexpressor --parent_dir "C:\Users\<username>\Downloads\Deseq2-pkg" --pick AUTO --case_level Disease --control_level Control --alpha 0.05 --lfc_thr 2.0 --top_labels 20 --top_heatmap 50 --make_report true --debug true ` --threads 2

📊 Output Overview After a successful run, GeneXpressor will create a new results folder inside your working directory containing:

Example output structure:

C:\Users<username>\Downloads\Deseq2-pkg
├─ results/ │ ├─ deseq2_results.csv │ ├─ deseq2_significant.csv │ ├─ volcano_plot.png │ ├─ ma_plot.png │ ├─ heatmap.png │ └─ GeneXpressor_Report.html └─ logs/ └─ run.log

Command Options Flag Description --parent_dir Directory containing counts + metadata --pick Dataset selection (AUTO, ALL, or manual) --case_level / --control_level Condition names --alpha Adjusted p-value cutoff (default 0.05) --lfc_thr log₂ Fold-change threshold --top_labels Genes labeled in volcano plot --top_heatmap Top genes in heatmap --make_report Whether to generate HTML report --threads Parallel worker threads --debug Verbose console logging

🧪 Quick Test python -c "import genexpressor; print(genexpressor.version)" genexpressor --help 0.1.4 genexpressor CLI OK

Troubleshooting

Issue Cause / Fix

ModuleNotFoundError: genexpressor.cli Reinstall the package

(pip install --upgrade GeneXpressor)

rpy2 or R_HOME errors Ensure R is installed and on PATH (R --version)

DESeq2 not found

Install via BiocManager::install("DESeq2")

Permission denied

Run from a directory you own

Missing plots / report Check --make_report true and logs 📘Citation

If you use GeneXpressor in your work, please cite: Malik, S. (2025). GeneXpressor: Automated DESeq2 runner for bulk RNA-seq via rpy2. PyPI. https://pypi.org/project/GeneXpressor

👤 Author Sheryar Malik Bioinformatics Scientist 📧 sheryarmalik1403@gmail.com 🔗 GitHub: shari01 : https://github.com/shari01/GeneXpressor

📄 License MIT License © 2025 Sheryar Malik

Metadata

Release files for GeneXpressor 0.1.7

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

Source distribution (sdist)

Source distribution for GeneXpressor 0.1.7
File Size Uploaded
genexpressor-0.1.7.tar.gz 12.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for GeneXpressor 0.1.7
File Interpreter ABI Platform
genexpressor-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 25.5 kB

Release files / genexpressor-0.1.7.tar.gz

Download URL genexpressor-0.1.7.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c68e06e07fcc37a80c5c53475a7691a604e4a66d3d6960ad09a706892bf9ded1
BLAKE2b-256 checksum
How to use checksums
98b3cb16834fb81acfcba856c05ca2f485b9a82eb3a8a297c69a012f4a06ac22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / genexpressor-0.1.7-py3-none-any.whl

Download URL genexpressor-0.1.7-py3-none-any.whl
Size 13.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca9ca7c47e01bb1596ee327d712fc8ade95069ef6640cc481c46b5a6cb1b283c
BLAKE2b-256 checksum
How to use checksums
562bb05c2818e1801df4db0db1ebb660490ae9c6dbf330ed7c0e0aac7007c720
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

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