scRNAbassoon is an R package providing a complete, automated, and reproducible single‑cell RNA‑seq pipeline, built on top of:
- Seurat v5 (QC, preprocessing, clustering, visualization)
- Slingshot (trajectory inference & pseudotime)
- Custom ORA/GSEA modules (GO, KEGG, Reactome)
- High‑quality graphics using ggplot2 with custom futuristic themes
The package is designed to help researchers rapidly process large-scale scRNA‑seq datasets while producing publication‑ready plots, clean output structures, and fully documented R workflows.
This version includes:
- Multi-sample QC and reduction plots
- Automated DE analysis + volcano & ranked plots
- Marker-based annotation (with built-in mouse panel)
- Enrichment analysis (ORA + GSEA)
- Lineage + pseudotime inference
- Automatic ZIP bundle export for full reproducibility
- A complete vignette walking through an example dataset
# install.packages("remotes")
remotes::install_github("ebareke/scRNAbassoon")library(scRNAbassoon)
# Load raw 10X or Seurat object
seu <- load_sc_data("path/to/data/")
# Run full pipeline
d <- run_bassoon_pipeline(
seu,
organism = "mouse",
output_dir = "analysis_out/",
n_cores = 8
)A typical run_bassoon_pipeline() run performs:
- Directory setup →
/output/ - QC → mitochondrial/ribosomal filtering, stats, violin plots
- Preprocessing → Normalize, scale, variable features, regressions
- Reductions → PCA, UMAP, tSNE (global & per-sample)
- Clustering → Leiden/Louvain + marker discovery
- Annotation → Marker-based automatic label assignment
- DE Analysis → Volcano plots, ranked tables
- ORA + GSEA → GO/KEGG/Reactome enrichment
- Trajectory Inference → Slingshot (lineages + pseudotime curves)
- ZIP Bundle Export → reproducible report structure
The package exposes the following main user-facing functions:
| Function | Description |
|---|---|
load_sc_data() |
Load 10X or an existing Seurat object |
run_qc() |
Automated QC metrics, thresholds, violin plots |
preprocess_data() |
Normalization, scaling, HVG selection |
plot_global_reductions() |
Global UMAP/tSNE/PCA |
plot_per_sample() |
Per-sample embeddings |
find_and_plot_markers() |
Cluster marker discovery |
annotate_by_markers() |
Automatic cluster annotation |
run_de_analysis() |
Differential expression + volcano plots |
run_enrichment_internal() |
Hidden ORA/GSEA engine |
run_trajectory_analysis() |
Slingshot pseudotime + branches |
create_zip_bundle() |
Export structured results |
run_bassoon_pipeline() |
Full automated pipeline |
- UMAP / tSNE global clustering
- Cell-type annotation dotplots
- Per-sample reductions to check batch effects
- Marker-based annotation (dotplot, heatmap)
- DE volcano plots with labeled significant genes
- ORA & GSEA dotplots and ranked enrichment tables
- Slingshot trajectory: 2D + 3D embeddings with lineage curves
- Full ZIP bundle (plots, tables, R objects)
The fully annotated tutorial is available with:
vignette("scRNAbassoon")The vignette includes:
- Full QC example
- GEX dataset loading
- Clustering & annotation walkthrough
- DE analysis + enrichment interpretation
- Trajectory inference example
- Explanation of all output folders
scRNAbassoon/
├── R/ # Pipeline modules
├── man/ # Rd documentation
├── inst/run_bassoon.R # Command-line wrapper
├── vignettes/ # Full tutorial
├── docs/ # SVG banners + website assets
├── DESCRIPTION
└── NAMESPACE
- R ≥ 4.3
- Seurat ≥ 5.0.0
- Slingshot ≥ 2.6
- Memory: 16 GB (small datasets) → 64+ GB recommended for large projects
- Parallel Support: Built-in multicore support via
future
- Eric Bareke — Author & Maintainer
- Contributions welcome via GitHub pull requests
- Add automated cluster label transfer via scMAP
- Add interactive Shiny QC dashboard
- Add GPU-accelerated UMAP option
- Add support for multi-modal scRNA + ATAC
- Add pathway activity scoring module (AUCell / Viper)
If you want to contribute, report bugs, or request features: 👉 https://github.com/ebareke/scRNAbassoon