⚙️ 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)
| File | Size | Uploaded | |
|---|---|---|---|
| genexpressor-0.1.7.tar.gz | 12.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|