JacksonFW/transcriptomics-explorer
0
Transcriptomics Explorer
An interactive, browser-based dashboard for exploring RNA-seq differential expression results. Upload your DESeq2 or edgeR output and instantly visualise it across six linked plots. No database required — just upload a CSV and explore.
Demo mode: The app loads 800 simulated genes on startup so you can explore all features immediately without uploading anything.
What It Does
All six tabs update automatically when you upload your data — no page refresh needed.
Key features
- Upload DESeq2 or edgeR output (CSV or TSV) — all tabs update instantly
- Volcano plot thresholds (log₂FC, adjusted p-value) are interactive sliders
- Box-select points on the Volcano plot → linked data table updates instantly
- Export significant genes as CSV with one click
- Data table is searchable, sortable, and filterable
- Pathway enrichment bar chart shows Up vs. Down gene separation per pathway
Files
transcriptomics-explorer/
├── app.py # The entire dashboard (single file)
├── requirements.txt # Python dependencies
├── Dockerfile # For Hugging Face Spaces deployment
├── test_data_1000genes.csv # Sample file to try the upload feature
├── GUIDE.md # Full user guide with interpretation help
├── README.md
└── analysis/ # R scripts for generating de_results.csv
├── fetch_geo.R # Get count matrix (airway dataset or GEO)
├── deseq2_analysis.R # Run DESeq2 → de_results.csv
├── edger_analysis.R # Alternative: run edgeR → de_results.csv
├── counts.csv # Count matrix (generated)
├── metadata.csv # Sample info (generated)
├── de_results.csv # Final output → upload to dashboard
└── README.md # Step-by-step analysis instructionsSetup & Run
Option A — pip (any Python environment)
cd transcriptomics-explorer
pip install -r requirements.txt
python app.pyThen open http://localhost:7860 in your browser.
Option B — conda (recommended if you use Anaconda/Miniconda)
conda create -n transcriptomics python=3.11
conda activate transcriptomics
pip install -r requirements.txt
python app.pyWhy pip inside conda? These packages aren't all onconda-forgewith matching versions, sopipis the safest install method regardless of environment manager.
Press Ctrl + C in the terminal to stop the app.
Uploading Your Own Data
The app accepts DESeq2 or edgeR results as CSV or TSV. Column names are flexible — common variants are auto-detected.
A sample file (test_data_1000genes.csv) is included — upload it to try all features.
Dependency Compatibility
requirements.txt uses minimum version ranges (>=) rather than exact pins, so it works alongside whatever you already have installed.
- Python 3.9 – 3.12
- Dash 2.14+
- Pandas 1.5+
- NumPy 1.23+
- SciPy 1.9+
