← LeaderboardThe Skill Leaderboard

bioconductor-biobase

Functions that are needed by many other packages or which replace R functions.

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

Try your first task

bioconductor-biobase

Start a fresh conversation. Replace the highlighted placeholders.

Use bioconductor-biobase to create and validate an ExpressionSet for [normalized expression matrix plus sample and feature metadata], retaining [experiment metadata and annotation label] and using accessor functions with structural validation.

Required inputs

  • [normalized expression matrix plus sample and feature metadata]
  • [experiment metadata and annotation label]

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

SKILL.md

name: bioconductor-biobasedescription: Functions that are needed by many other packages or which replace R functions.when_to_use: "Use when: Coordinating high-throughput genomic data (e.g., microarray expression values) and phenotype metadata into a single, structured ExpressionSet object.; Evaluating statistical functions across sample strata defined by covariates using esApply.; Updating older, serialized instances of Bioconductor objects to their current class representations using updateObject().. Not for: For modern single-cell or range-based sequencing data, use SummarizedExperiment or SingleCellExperiment instead because they natively support genomic coordinates and scale better to sparse, multi-assay datasets.; For purely tabular data manipulation,"user-invocable: false

Biobase

Functions that are needed by many other packages or which replace R functions.

Dependencies & Environment

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

  • Version: 2.72.0 · Bioconductor: 3.23 · R: ≥ 4.6
  • Depends: BiocGenerics
  • Install: BiocManager::install("Biobase")

When to Use

  • Coordinating high-throughput genomic data (e.g., microarray expression values) and phenotype metadata into a single, structured ExpressionSet object.
  • Evaluating statistical functions across sample strata defined by covariates using esApply.
  • Updating older, serialized instances of Bioconductor objects to their current class representations using updateObject().

When NOT to Use

  • For modern single-cell or range-based sequencing data, use SummarizedExperiment or SingleCellExperiment instead because they natively support genomic coordinates and scale better to sparse, multi-assay datasets.
  • For purely tabular data manipulation, use dplyr or data.table instead because eSet objects enforce strict matrix dimensions and metadata alignment that complicate simple tidy-data workflows.

Data Requirements

  • High-throughput data matrices (e.g., expression values) where rows represent features and columns represent samples.
  • Sample covariates formatted as an AnnotatedDataFrame.
  • Feature covariates formatted as an AnnotatedDataFrame.
  • Normalization state: Typically normalized quantitative data (e.g., log-expression), though raw matrices can be stored.

Key Parameters

  • assayData (assayDataNew()): High-throughput data stored as a list, environment, or lockedEnvironment containing identically sized matrices.
  • phenoData (AnnotatedDataFrame()): Sample covariates matching the column names of assayData.
  • featureData (AnnotatedDataFrame()): Feature covariates matching the row names of assayData.
  • experimentData (MIAME()): Experimental description and metadata.
  • annotation (character()): Label identifying the associated annotation package.

Best Practices

  • Use accessor functions like exprs() and pData() to retrieve or assign data rather than accessing slots directly.
  • Ensure that all matrices within assayData have identical row and column dimensions, and that featureNames and sampleNames match across all slots.
  • Call validObject() after making structural modifications to an eSet to guarantee that the object remains internally consistent.
  • Use storageMode() to check or set how assayData is stored, preferring lockedEnvironment to prevent accidental side-effects while maintaining memory efficiency.

Common Pitfalls

  • Modifying a lockedEnvironment directly causes an error; fix this by extracting the element, modifying it, and reassigning it, or using replacement methods like exprs(obj) <- value.
  • Variable shadowing occurs when applying functions with esApply; fix this by ensuring the applied function correctly references the covariate names populated from the pData dataframe.
  • Objects become transiently invalid during manual slot modification; fix this by calling validObject() after updates to ensure dimensional consistency across assayData and phenoData.

Alternatives

  • SummarizedExperiment: The modern Bioconductor standard for containerizing genomic data, supporting coordinate-based genomic ranges.
  • oligo: Provides alternative, specialized class implementations for handling SNP and exon array data.
  • MultiAssayExperiment: For integrating multiple different omics assays on the same set of biological specimens.

Citations

  • R. Gentleman, V. Carey, M. Morgan, S. Falcon and H. Khan. "esApply Introduction".
  • Martin T. Morgan and H. Khan. "Biobase development and the new eSet".

References


Run this on BioMate

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

▶ Open biobase on BioMate →

bioconductor-biobase by bioMate-AI · The Skill Leaderboard