← LeaderboardThe Skill Leaderboard
granulator
Skill file skills/transcriptomics/granulator/SKILL.md in bioMate-AI/biomate-bioconductor-kb. Read the publisher’s upstream source.
Description awaits a fresh source check.
Try your first task
bioconductor-granulator
Start a fresh conversation. Replace the highlighted placeholders.
Use bioconductor-granulator to compare cell-type deconvolution estimates from [TPM bulk matrix] and [compatible signature matrices] using [method choices], with consistency plots and benchmarking only if measured ground-truth proportions are supplied.
Required inputs
- [TPM bulk matrix]
- [compatible signature matrices]
- [method choices]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: bioconductor-granulatordescription: granulator is an R package for the cell type deconvolution of heterogeneous tissues based on bulk RNA-seq data or single cell RNA-seq expression profiles. The package provides a unified testing interface to rapidly run and benchmark multiple state-of-the-art deconvolution methods. Data for the deconvolution of peripheral blood mononuclear cells (PBMCs) into individual immune cell types is provided as well.when_to_use: Use when: Deconvoluting bulk RNA-seq data with granulator; Differential expression analysis (granulator); Single-cell RNA-seq analysis (granulator). Not for: Requires R ≥ 4.1 and Bioconductor ≥ 3.16user-invocable: falsegranulator
Workflows
Standard Workflow
Deconvolute bulk RNA-seq data using multiple reference profiles and benchmark the results against ground truth cell type proportions.
library(granulator)
# Load datasets for deconvolution of PBMC RNA-seq data
load_ABIS()
# Create a list of multiple signature matrices to test simultaneously
sigList <- list(
ABIS_S0 = sigMatrix_ABIS_S0,
ABIS_S1 = sigMatrix_ABIS_S1,
ABIS_S2 = sigMatrix_ABIS_S2,
ABIS_S3 = sigMatrix_ABIS_S3
)
# Plot signature matrix similarity matrices
plot_similarity(sigMatrix = sigList)
# Deconvolute bulk RNA-seq data using all available methods
decon <- deconvolute(m = bulkRNAseq_ABIS, sigMatrix = sigList)
# Plot cell type proportions for a specific model (e.g., SVR on ABIS_S0)
plot_proportions(deconvoluted = decon, method = 'svr', signature = 'ABIS_S0')
# Plot all estimated cell type proportions across methods and cell types
plot_deconvolute(deconvoluted = decon, scale = TRUE, labels = FALSE)
# Benchmark methods by correlating estimated to measured cell type proportions
bench <- benchmark(deconvoluted = decon, ground_truth = groundTruth_ABIS)
# Plot regression for a specific model
plot_regress(benchmarked = bench, method = 'svr', signature = 'ABIS_S0')
# Plot Pearson correlation between predictions and true proportions
plot_benchmark(benchmarked = bench, metric = 'pcc')
# Perform correlation analysis across selected methods
methods <- c('ols', 'nnls', 'qprog', 'rls', 'svr')
decon_sel <- deconvolute(bulkRNAseq_ABIS, list(ABIS_S2 = sigMatrix_ABIS_S2), methods)
correl <- correlate(deconvoluted = decon_sel)
# Plot correlation heatmap
plot_correlate(correlated = correl, method = "heatmap", legend = TRUE)
Note on inputs/outputs:
- Input: A bulk gene expression matrix (TPM values) and one or more cell-type reference signature matrices.
- Output: Estimated cell-type proportions per sample, benchmarking metrics (PCC, CCC, RMSE), and correlation plots comparing deconvolution methods.
When to Use
- Bulk Deconvolution: Estimating cell type proportions in heterogeneous bulk RNA-seq samples (e.g., PBMCs) using
deconvolute(). - Method Benchmarking: Benchmarking multiple deconvolution algorithms (such as SVR, NNLS, OLS, RLS) against known ground truth proportions using
benchmark(). - Signature Quality Assessment: Assessing the similarity and quality of reference signature matrices using
plot_similarity(). - Consensus Analysis: Analyzing the consistency of predictions across different deconvolution methods when ground truth is unavailable using
correlate().
When NOT to Use
- Differential Expression: For differential expression analysis directly, use
DESeq2oredgeRbecausegranulatoronly infers cell type proportions (which can then be used as covariates in those packages). - Single-Cell Clustering: For single-cell clustering and cell-type annotation from scratch, use
Seuratbecausegranulatoris designed for bulk deconvolution using pre-defined signatures.
Data Requirements
- Bulk Expression: A gene (rows) by sample (columns) matrix containing normalized expression values (e.g., TPM), which can be computed from raw counts using
get_TPM(). - Reference Profiles: A gene (rows) by cell type (columns) matrix containing normalized cell-type specific expression values (e.g.,
sigMatrix_ABIS_S0). - Ground Truth (optional for benchmarking): A sample (rows) by cell type (columns) matrix of measured cell-type percentages (e.g., from FACS).
Key Parameters
- m: Input bulk expression matrix in
deconvolute(). - sigMatrix: Reference signature matrix or list of matrices in
deconvolute(). - scale (
TRUE): Logical indicating whether to scale proportions to standard scores inplot_deconvolute(). - metric ('pcc'): Evaluation metric to plot in
plot_benchmark(); options include 'pcc', 'ccc', 'adj.r2', and 'rmse'. - method ('heatmap'): Visualization style in
plot_correlate().
Best Practices
- Normalize raw counts to TPM using
get_TPM()before running deconvolution. - Test multiple reference profiles at different cell-type resolutions (e.g., collapsing highly similar subtypes) to find the most stable deconvolution performance.
- Use the Condition Number of the signature matrix to evaluate its sensitivity to input data variability before running deconvolution.
- Scale estimated proportions to standard scores using
scale = TRUEinplot_deconvolute()to compare relative changes across methods with different absolute scales.
Common Pitfalls
- High Collinearity: High collinearity between closely related cell types in the reference matrix leads to unstable predictions. Fix: Collapse highly similar cell types into broader categories (e.g., using
sigMatrix_ABIS_S2instead ofsigMatrix_ABIS_S0). - Negative Proportions: Negative estimated proportions returned by unconstrained methods. Fix: Use constrained methods like
nnlsorqprogwc, or refine the reference signature matrix. - Mismatched Gene Identifiers: Mismatched gene identifiers between bulk RNA-seq and reference signature matrices. Fix: Ensure both matrices use the same gene symbol or Entrez ID format before calling
deconvolute().
Alternatives
- DESeq2 for differential expression analysis.
- edgeR for differential expression analysis of digital gene expression data.
- limma for linear modeling of gene expression.
- Seurat for single-cell RNA-seq analysis and reference generation.
Citations
- Monaco, G. et al. (2019). RNA-Seq Signatures Normalized by mRNA Abundance Allow Absolute Deconvolution of Human Immune Cell Types. Cell Reports, 26(6), 1627-1640.
- Newman, A. M. et al. (2015). Robust enumeration of cell subsets from tissue expression profiles. Nature Methods, 12(5), 453-457.