← LeaderboardThe Skill Leaderboard

bioconductor-siggenes

Identification of differentially expressed genes and estimation of the False Discovery Rate (FDR) using both the Significance Analysis of Microarrays (SAM) and the Empirical Bayes Analyses of Microarrays (EBAM).

Published by bioMate-AI ↗bioMate-AI/biomate-bioconductor-kb

Try your first task

bioconductor-siggenes

Start a fresh conversation. Replace the highlighted placeholders.

Use bioconductor-siggenes to analyze [normalized expression matrix or ExpressionSet] with [class labels] using [SAM or EBAM], reporting differentially expressed genes and FDR with reproducible permutation settings and a delta-threshold trade-off plot.

Required inputs

  • [normalized expression matrix or ExpressionSet]
  • [class labels]
  • [SAM or EBAM]

User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗

SKILL.md

name: bioconductor-siggenesdescription: Identification of differentially expressed genes and estimation of the False Discovery Rate (FDR) using both the Significance Analysis of Microarrays (SAM) and the Empirical Bayes Analyses of Microarrays (EBAM).when_to_use: "Use when: Significance Analysis of Microarrays: When identifying differentially expressed genes and estimating the False Discovery Rate (FDR) using permutation-based methods via sam().; Empirical Bayes Analysis: When computing posterior probabilities of differential expression using the Empirical Bayes Analysis of Microarrays via ebam().; Threshold Selection: When visualizing the relationship between the tu. Not for: For raw RNA-seq count data: Use DESeq2 or edgeR instead because siggenes assumes continuous, approximately normal or symmetric data and does not model negative binomial distributions.; For complex experimental designs: For complex experimental design"user-invocable: false

siggenes

Dependencies & Environment

Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.

  • Version: 1.86.0 · Bioconductor: 3.23 · R: ≥ 4.6
  • Depends: Biobase, multtest
  • Imports: scrime
  • System requirements: URL
  • Install: BiocManager::install("siggenes")

When to Use

  • Significance Analysis of Microarrays: When identifying differentially expressed genes and estimating the False Discovery Rate (FDR) using permutation-based methods via sam().
  • Empirical Bayes Analysis: When computing posterior probabilities of differential expression using the Empirical Bayes Analysis of Microarrays via ebam().
  • Threshold Selection: When visualizing the relationship between the tuning parameter (Delta), the number of significant genes, and the FDR using delta.plot() or plot().
  • Interactive Gene Identification: When interactively exploring specific genes on a SAM plot to retrieve locus links and symbols using identify().

When NOT to Use

  • For raw RNA-seq count data: Use DESeq2 or edgeR instead because siggenes assumes continuous, approximately normal or symmetric data and does not model negative binomial distributions.
  • For complex experimental designs: For complex experimental designs with multiple nested random effects or batch correction requirements, use limma instead because siggenes is primarily optimized for simpler two-class, multi-class, or paired designs.

Data Requirements

  • Input Format: A matrix of normalized expression values or an ExpressionSet object.
  • Data Type: Continuous, normalized values (e.g., log-transformed microarray intensities).
  • Class Labels: A vector (cl) specifying the class labels for the samples (e.g., two-class unpaired, paired, or multi-class).

Key Parameters

  • B: An integer specifying the number of permutations to perform in sam().
  • rand: An integer seed used in sam() to ensure reproducible permutation results.
  • y: The delta value (numeric) passed to plot() to specify the minimum probability or threshold for a gene to be called differentially expressed.
  • pos.stats: An integer (0 to 4) in plot() controlling where general information (like significant genes and FDR) is plotted.
  • sig.col: A color specification in plot() for highlighting significant genes (can specify different colors for up- and down-regulated genes).
  • chip: A character string in identify() specifying the chip type used, allowing the function to retrieve gene symbols and locus links.

Best Practices

  • Use plot() on a SAM object without specifying a numeric y to generate Delta plots, which helps in choosing an appropriate delta threshold based on the FDR.
  • Set the rand parameter in sam() to an integer (e.g., rand=123) to guarantee that your permutation-based FDR estimates are reproducible.
  • Use identify() on an active SAM plot to interactively click on points and retrieve gene-specific annotations.
  • When using plot() on an EBAM object, use the pos.stats argument to neatly position the summary statistics (number of significant genes and FDR) in a corner that doesn't obscure the data points.

Common Pitfalls

  • Unstable FDR estimates: Running sam() with too few permutations leads to highly variable FDR estimates; fix this by increasing the B parameter (e.g., B=100 or more).
  • Missing gene annotations in plots: Using identify() without providing an ExpressionSet or specifying the chip argument will fail to retrieve gene symbols; fix this by providing the correct chip character string.
  • Misinterpreting the Delta parameter: Guessing a delta value blindly can result in an unacceptably high FDR; fix this by always running delta.plot() first to visualize the trade-off between delta, significant genes, and FDR.

Alternatives

  • limma: The gold standard for microarray differential expression, using moderated t-statistics which generally outperform SAM on very small datasets and handle complex linear models.
  • samr: The original R implementation of SAM by Tibshirani et al., though siggenes is more tightly integrated with the Bioconductor ExpressionSet ecosystem.
  • DESeq2: For count-based sequencing data, modeling the negative binomial distribution directly.

Citations

  • Tusher, V.G., Tibshirani, R., and Chu, G. (2001). Significance analysis of microarrays applied to the ionizing radiation response. PNAS, 98, 5116-5121.
  • Efron, B., Tibshirani, R., Storey, J.D. and Tusher, V. (2001). Empirical Bayes Analysis of a Microarray Experiment. JASA, 96, 1151-1160.

References


Run this on BioMate

This skill is the knowledge layer — when, why, and how to use siggenes. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.

▶ Open siggenes on BioMate →