CoolFace
Apppublic

JacksonFW/transcriptomics-explorer

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
App README

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

TabWhat you seeData needed
Volcano PlotWhich genes are significantly up/down regulatedDESeq2/edgeR CSV
MA PlotExpression magnitude vs. fold change (QC view)DESeq2/edgeR CSV
PCAHow your samples cluster by gene expressionDESeq2/edgeR CSV
Sample CorrelationPearson correlation between samplesDESeq2/edgeR CSV
HeatmapTop variable genes across samples (Z-scored)DESeq2/edgeR CSV
Pathway EnrichmentWhich biological pathways are activated/suppressedDESeq2/edgeR CSV

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 instructions

Setup & Run

Option A — pip (any Python environment)

bash
cd transcriptomics-explorer
pip install -r requirements.txt
python app.py

Then open http://localhost:7860 in your browser.

Option B — conda (recommended if you use Anaconda/Miniconda)

bash
conda create -n transcriptomics python=3.11
conda activate transcriptomics
pip install -r requirements.txt
python app.py
Why pip inside conda? These packages aren't all on conda-forge with matching versions, so pip is 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.

ColumnAccepted namesExample
Gene symbolgene, gene_id, geneId, symbolTP53
Log₂ fold changelog2FoldChange, log2fc, lfc2.41
Raw p-valuepvalue, pval, p.value0.000032
Adjusted p-valuepadj, p.adj, fdr0.0012
Base mean (optional)baseMean, mean_expr, avgExpr340.5

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+