← LeaderboardThe Skill Leaderboard
bioconductor-genefilter
Some basic functions for filtering genes.
Try your first task
bioconductor-genefilter
Start a fresh conversation. Replace the highlighted placeholders.
Use bioconductor-genefilter to filter genes in [expression dataset] using [filtering objective] and return the retained-gene set with a reproducible R analysis.
Required inputs
- [expression dataset]
- [filtering objective]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: bioconductor-genefilterdescription: Some basic functions for filtering genes.when_to_use: "Use when: Filtering genes from a microarray or expression dataset according to specific or non-specific filtering mechanisms using genefilter.; Selecting genes that have an expression measure above a certain threshold in at least a minimum number of samples using kOverA.; Finding genes that are close to specific genes of interest based on distance measures using genefinder.; Performing independent filtering. Not for: For modern RNA-seq count-based differential expression; use DESeq2 or edgeR built-in filtering because they are optimized for negative binomial distributions.; For single-cell RNA-seq data; use scran or Seurat because they handle high sparsity and dr"user-invocable: falsegenefilter
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.94.0 · Bioconductor: 3.23 · R: ≥ 4.6
- Depends: AnnotationDbi, annotate, Biobase, survival
- Imports: MatrixGenerics, AnnotationDbi, annotate, Biobase, survival
- System requirements: URL
- Install:
BiocManager::install("genefilter")
When to Use
- Filtering genes from a microarray or expression dataset according to specific or non-specific filtering mechanisms using
genefilter. - Selecting genes that have an expression measure above a certain threshold in at least a minimum number of samples using
kOverA. - Finding genes that are close to specific genes of interest based on distance measures using
genefinder. - Performing independent filtering to adjust p-values and increase power using
filtered_pandfiltered_R.
When NOT to Use
- For modern RNA-seq count-based differential expression; use
DESeq2oredgeRbuilt-in filtering because they are optimized for negative binomial distributions. - For single-cell RNA-seq data; use
scranorSeuratbecause they handle high sparsity and dropout rates better than basic variance/mean filters.
Data Requirements
- Input expression data typically provided as an
ExpressionSetobject (e.g., from theBiobasepackage) or a numeric matrix. - Covariates or sample metadata (e.g., factors with two levels) for specific filtering like
ttest.
Key Parameters
- k (5): The minimum number of samples required to exceed the threshold in
kOverA. - A (200): The expression measure threshold in
kOverA. - method ("euc"): The distance measure used in
genefinder(e.g.,"euc","maximum","manhattan"). - scale ("none"): Controls the scaling of the rows in
genefinder(e.g.,"none","range","zscore"). - theta (0.5): The filtering fraction/threshold used in
filtered_pandfiltered_R. - p (0.1): The p-value threshold used in
ttestfor specific filtering.
Best Practices
- Assemble individual filtering criteria (like
kOverAorttest) into a combined filtering function usingfilterfunbefore applying it withgenefilter. - Use
rowSds,rowVars, orrowttestsfor fast row-wise statistical calculations on expression matrices. - Visualize the effect of filtering on multiple testing adjustments using
rejection_plotorfilter_volcano.
Common Pitfalls
- Biased multiple testing: Using a specific filter (e.g., differential expression p-values) before applying multiple testing correction. Fix: Use non-specific filters (like overall variance via
rowVars) for independent filtering. - Scale dominance in distance metrics: Finding nearest genes with
genefinderwithout scaling can be dominated by overall expression magnitude. Fix: Setscale="zscore"orscale="range"ingenefinderto normalize row variances. - Slow row-wise operations: Using
applywith standardt.testorvaron large matrices. Fix: Use the optimizedrowttests,rowSds, androwVarsfunctions provided by the package.
Alternatives
DESeq2: For RNA-seq independent filtering integrated directly into the results extraction.edgeR: ProvidesfilterByExprwhich is specifically designed for count-based library size adjustments.matrixStats: For fast row/column-wise statistics if filtering functions are not needed.
Citations
- Bourgon R, Gentleman R, Huber W. (2010). "Independent filtering increases power for detecting differentially expressed genes." Proceedings of the National Academy of Sciences.
References
- Homepage: bioconductor.org/packages/genefilter
- Vignette: vignette_0_5fb6bf3b.txt
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use genefilter. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.