# Bioconductor Biomart

In recent years a wealth of biological data has become available in public data...

- Repository: https://github.com/bioMate-AI/biomate-bioconductor-kb (793 stars)
- Category: Data and ML
- License: see repository
- Last updated: 2026-06-20
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-biomart -g -a claude-code -y`
Codex: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-biomart -g -a codex -y`
Cursor: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-biomart -g -a cursor -y`
Gemini CLI: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-biomart -g -a gemini-cli -y`

## Description

In recent years a wealth of biological data has become available in public data repositories. Easy access to these valuable data resources and firm integration with data analysis is needed for comprehensive bioinformatics data analysis. bio

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# biomaRt, Comprehensive Skill Guide

> **Domain:** Annotation / ID mapping
> **Bioconductor:** [biomaRt](https://bioconductor.org/packages/release/bioc/html/biomaRt.html)
> **Paper:** Durinck S et al. (2009). Nature Protocols, 4:1184-1191.

Query Ensembl BioMart databases to retrieve gene annotations, ID conversions, sequence retrieval, and cross-species homology information.

## Dependencies & Environment

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

- **Version:** 2.68.0 · **Bioconductor:** 3.23 · **R:** ≥ 4.6
- **Imports:** AnnotationDbi, BiocFileCache, curl, httr2, progress, stringr, xml2
- **Install:** `BiocManager::install("biomaRt")`

## When to Use

- Convert between gene IDs (Ensembl → HGNC symbol → Entrez → RefSeq)
- Retrieve gene coordinates, GO terms, pathway annotations
- Get protein sequences or transcript sequences
- Cross-species homology / ortholog mapping

**Alternatives:** `AnnotationDbi (OrgDb)`, `AnnotationHub`, `mygene (Python/R)`

## Do NOT Use When

- Offline environments, biomaRt requires internet access to Ensembl servers.
- Very large ID lists (>100K IDs), consider AnnotationDbi local OrgDb instead for speed.
- Non-Ensembl databases without a BioMart interface.

## Data Requirements

| Requirement | Details |
|-------------|----------|
| **Internet** | Required, queries Ensembl servers remotely |
| **Notes** | Cache results locally; pin Ensembl version for reproducibility |

## Installation

```r
if (!require("BiocManager", quietly=TRUE))
    install.packages("BiocManager")
BiocManager::install("biomaRt")
library(biomaRt)
```

## Workflows

### Gene ID Conversion (Ensembl → HGNC Symbol → Entrez)
*Convert a list of Ensembl gene IDs to gene symbols and Entrez IDs*

#### Connect to Ensembl

```r
library(biomaRt)
ensembl <- useEnsembl(biomart="genes", dataset="hsapiens_gene_ensembl")
```

#### Check available attributes and filters

The rest: https://github.com/bioMate-AI/biomate-bioconductor-kb/blob/HEAD/skills/annotation/biomart/SKILL.md
