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()orplot(). - 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
DESeq2oredgeRinstead becausesiggenesassumes 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
limmainstead becausesiggenesis primarily optimized for simpler two-class, multi-class, or paired designs.
Data Requirements
- Input Format: A matrix of normalized expression values or an
ExpressionSetobject. - 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 aSAMobject without specifying a numericyto generate Delta plots, which helps in choosing an appropriate delta threshold based on the FDR. - Set the
randparameter insam()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 anEBAMobject, use thepos.statsargument 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 theBparameter (e.g.,B=100or more). - Missing gene annotations in plots: Using
identify()without providing anExpressionSetor specifying thechipargument will fail to retrieve gene symbols; fix this by providing the correctchipcharacter 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
siggenesis more tightly integrated with the BioconductorExpressionSetecosystem. - 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
- Homepage: https://bioconductor.org/packages/siggenes
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/siggenes/inst/doc/siggenes.pdf
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.