Gene Expression Pipeline — a Shiny application for high-throughput genomic analysis of bulk RNA-seq and microarray data (e.g. from GEO).
| Resource | Link |
|---|---|
| Bioconductor | bioconductor.org/packages/GExPipe |
| GitHub | github.com/safarafique/GExPipe |
| Bug reports | Bioconductor Support · tag GExPipe |
GExPipe provides a single workflow for:
- Download — GEO datasets (GEOquery)
- QC — sample and gene filtering
- Normalization — count/microarray normalization
- Batch correction — ComBat, limma
- Differential expression — limma / DESeq2 / edgeR
- WGCNA — co-expression modules and module–trait correlation
- Pathway enrichment — GO, KEGG (clusterProfiler)
- PPI — protein–protein interaction (STRINGdb)
- Machine learning — LASSO, RF, SVM-RFE, XGBoost, etc.
- Optional — immune deconvolution, GSEA, nomogram, ROC
Dependencies are from CRAN and Bioconductor only.
| R version | Bioconductor | Supported |
|---|---|---|
| 4.4.x | 3.19 / 3.20 | ❌ (below minimum) |
| 4.5.x | 3.21 | ✅ (recommended) |
| 4.6.x stable | 3.22 | ✅ |
| 4.6.x alpha/beta | — | ❌ (no binaries available) |
Use a stable R release. Download from https://cran.r-project.org/bin/windows/base/
Paste into R or RStudio. Install pkgload once so the app loads the cloned source (not an older Bioconductor install).
if (!requireNamespace("shiny", quietly = TRUE)) install.packages("shiny")
if (!requireNamespace("pkgload", quietly = TRUE)) install.packages("pkgload")
shiny::runGitHub(
"safarafique/GExPipe",
ref = "main",
subdir = "inst/shinyapp",
destdir = tempfile()
)First run on a fresh machine takes 10–30 min (downloading dependencies). After an R upgrade, restart R once (
Ctrl+Shift+F10in RStudio) before the first run.
Install or update (use force = TRUE when updating to the latest GitHub code):
if (!requireNamespace("remotes", quietly = TRUE)) install.packages("remotes")
remotes::install_github(
"safarafique/GExPipe",
force = TRUE,
upgrade = "always",
INSTALL_opts = "--no-staged-install"
)Restart R once after install or update (RStudio: Ctrl+Shift+F10).
This avoids Windows glmnet DLL lock issues and ensures PVCA / ML helpers load correctly.
app <- GExPipe::runGExPipe() # Step 1: build app (check console for "glmnet OK")
shiny::runApp(app, port = 3838L) # Step 2: start serverEvery later session (no reinstall unless you want updates):
app <- GExPipe::runGExPipe()
shiny::runApp(app, port = 3838L)To pull the latest fixes from GitHub into an existing install:
remotes::install_github("safarafique/GExPipe", force = TRUE, upgrade = "always",
INSTALL_opts = "--no-staged-install")
# then Ctrl+Shift+F10 and runGExPipe() againBoth options require R >= 4.5.0 (stable). Bioconductor 3.21 (R 4.5) or 3.22 (R 4.6 stable) is selected automatically.
BiocManager::install("GExPipe", dependencies = TRUE)
app <- GExPipe::runGExPipe()
shiny::runApp(app, port = 3838L)Dependencies are installed at package install time. Runtime auto-install is off by default for Bioconductor installs.
For GitHub installs into your normal R library, enable first-run auto-install if needed:
options(gexpipe.auto_install = TRUE)
app <- GExPipe::runGExPipe()
shiny::runApp(app, port = 3838L)In Google Colab (or any headless R session) there is no local browser, so you must expose the app on all interfaces and open the URL Colab provides.
Use Option 1 or Option 2 above to install, then start with:
library(GExPipe)
library(shiny)
app <- runGExPipe(launch.browser = FALSE, host = "0.0.0.0", port = 3838L)
shiny::runApp(app, host = "0.0.0.0", port = 3838L)Open port 3838 via Colab’s port-forwarding panel, or run a tunnel (ngrok http 3838) and open the HTTPS URL.
Runtime dependencies are declared in DESCRIPTION (Imports / Suggests, with minimum versions where specified). The app also uses affy and oligo for microarray CEL RMA when supplementary CEL files are available.
To list installed versions for packages declared in DESCRIPTION:
desc <- read.dcf(system.file("DESCRIPTION", package = "GExPipe"))
pkgs <- sub("\\s*\\(.*", "", strsplit(desc[1, "Imports"], ",\\s*")[[1]])
pkgs <- pkgs[pkgs != "parallel"]
sapply(pkgs, function(p) as.character(packageVersion(p)))Use sessionInfo() when reporting issues.
The vignette is R Markdown and requires Pandoc. If Pandoc is not installed, build without vignettes:
R CMD build . --no-build-vignettesThe resulting GExPipe_0.99.14.tar.gz is valid for submission; vignette source is in vignettes/. To build the vignette locally, install Pandoc and run R CMD build . without --no-build-vignettes.
From the package root:
R CMD build . --no-build-vignettes
R CMD check GExPipe_0.99.14.tar.gz --no-build-vignettes --no-manualBefore submission, fix any ERRORs and WARNINGs from R CMD check, then run BiocCheck("GExPipe_0.99.14.tar.gz") and address any reported issues.
- Safa Rafique (
safa.sandhu@gmail.com) — author and maintainer - Naeem Mahmood Ashraf (
naeem.sbb@pu.edu.pk) — author - Prof. Dr. Muhammad Farooq Sabar (
farooq.sbb@pu.edu.pk) — author