Agent skill

Ensembl Database

by davila7 in davila7/claude-code-templates

Query Ensembl genome database REST API for 250+ species. An agent skill from davila7/claude-code-templates.

MITAuto-check passedResearch & Science

Install Ensembl Database

skills CLI
$ npx skills add davila7/claude-code-templates --skill ensembl-database -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davila7/claude-code-templates ensembl-database --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davila7/claude-code-templates.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-tool/components/skills/scientific/ensembl-database .claude/skills/ensembl-database && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ensembl-database
GitHub stars
32k
Used in
10 other repos
Token cost
~2.1k tokens
SKILL.md length
625 words
Files
3 (incl. scripts, references)
Skills in repo
477
Repo updated
First seen
Licence
MIT

At a glance

Query Ensembl genome database REST API for 250+ species. An agent skill from davila7/claude-code-templates.

  • Works in 6 steps: Gene Information Retrieval → Sequence Retrieval → Variant Analysis → …
  • Tasks that involve Bioinformatics
  • SKILL.md covers Overview, When to Use This Skill, Core Capabilities and API Best Practices, plus 5 more sections
  • Runs Python scripts from its folder; calls uv; reaches rest.ensembl.org and grch37.rest.ensembl.org

What it does

Ensembl Database is an agent skill from davila7/claude-code-templates. Query Ensembl genome database REST API for 250+ species. Gene lookups, sequence retrieval, variant analysis, comparative genomics, orthologs, VEP predictions, for genomic research.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts and reference files (for example `references/api_endpoints.md` and `scripts/ensembl_query.py`).

It sits in Research & Science, covering Bioinformatics. It works with Ensembl. The repository describes itself as: CLI tool for configuring and monitoring Claude Code. The licence is MIT.

When your agent uses it

  • Tasks that involve Bioinformatics

Example prompts

  • “/ensembl-database”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Gene Information Retrieval
  2. Sequence Retrieval
  3. Variant Analysis
  4. Comparative Genomics
  5. Genomic Region Analysis
  6. Assembly Mapping

What it can do on your machine

Read from SKILL.md and the folder at commit 14680ec. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • rest.ensembl.org
    • grch37.rest.ensembl.org

    Also links to:

    • ensemblrest.readthedocs.io
    • ebi.ac.uk
    • useast.ensembl.org
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ensembl Database loads about 2.1k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 49 tokens; SKILL.md has 625 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~49
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from davila7/claude-code-templates at commit 14680ec, republished under its MIT licence (© davila7). 625 words, ~2,051 tokens.

Download SKILL.mdSave it as .claude/skills/ensembl-database/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
ensembl-database
description
Query Ensembl genome database REST API for 250+ species. Gene lookups, sequence retrieval, variant analysis, comparative genomics, orthologs, VEP predictions, for genomic research.

Ensembl Database

Overview

Access and query the Ensembl genome database, a comprehensive resource for vertebrate genomic data maintained by EMBL-EBI. The database provides gene annotations, sequences, variants, regulatory information, and comparative genomics data for over 250 species. Current release is 115 (September 2025).

When to Use This Skill

This skill should be used when:

  • Querying gene information by symbol or Ensembl ID
  • Retrieving DNA, transcript, or protein sequences
  • Analyzing genetic variants using the Variant Effect Predictor (VEP)
  • Finding orthologs and paralogs across species
  • Accessing regulatory features and genomic annotations
  • Converting coordinates between genome assemblies (e.g., GRCh37 to GRCh38)
  • Performing comparative genomics analyses
  • Integrating Ensembl data into genomic research pipelines

Core Capabilities

1. Gene Information Retrieval

Query gene data by symbol, Ensembl ID, or external database identifiers.

Common operations:

  • Look up gene information by symbol (e.g., "BRCA2", "TP53")
  • Retrieve transcript and protein information
  • Get gene coordinates and chromosomal locations
  • Access cross-references to external databases (UniProt, RefSeq, etc.)

Using the ensembl_rest package:

python
from ensembl_rest import EnsemblClient

client = EnsemblClient()

# Look up gene by symbol
gene_data = client.symbol_lookup(
    species='human',
    symbol='BRCA2'
)

# Get detailed gene information
gene_info = client.lookup_id(
    id='ENSG00000139618',  # BRCA2 Ensembl ID
    expand=True
)

Direct REST API (no package):

python
import requests

server = "https://rest.ensembl.org"

# Symbol lookup
response = requests.get(
    f"{server}/lookup/symbol/homo_sapiens/BRCA2",
    headers={"Content-Type": "application/json"}
)
gene_data = response.json()
2. Sequence Retrieval

Fetch genomic, transcript, or protein sequences in various formats (JSON, FASTA, plain text).

Operations:

  • Get DNA sequences for genes or genomic regions
  • Retrieve transcript sequences (cDNA)
  • Access protein sequences
  • Extract sequences with flanking regions or modifications

Example:

python
# Using ensembl_rest package
sequence = client.sequence_id(
    id='ENSG00000139618',  # Gene ID
    content_type='application/json'
)

# Get sequence for a genomic region
region_seq = client.sequence_region(
    species='human',
    region='7:140424943-140624564'  # chromosome:start-end
)
3. Variant Analysis

Query genetic variation data and predict variant consequences using the Variant Effect Predictor (VEP).

Capabilities:

  • Look up variants by rsID or genomic coordinates
  • Predict functional consequences of variants
  • Access population frequency data
  • Retrieve phenotype associations

VEP example:

python
# Predict variant consequences
vep_result = client.vep_hgvs(
    species='human',
    hgvs_notation='ENST00000380152.7:c.803C>T'
)

# Query variant by rsID
variant = client.variation_id(
    species='human',
    id='rs699'
)
4. Comparative Genomics

Perform cross-species comparisons to identify orthologs, paralogs, and evolutionary relationships.

Operations:

  • Find orthologs (same gene in different species)
  • Identify paralogs (related genes in same species)
  • Access gene trees showing evolutionary relationships
  • Retrieve gene family information

Example:

python
# Find orthologs for a human gene
orthologs = client.homology_ensemblgene(
    id='ENSG00000139618',  # Human BRCA2
    target_species='mouse'
)

# Get gene tree
gene_tree = client.genetree_member_symbol(
    species='human',
    symbol='BRCA2'
)
5. Genomic Region Analysis

Find all genomic features (genes, transcripts, regulatory elements) in a specific region.

Use cases:

  • Identify all genes in a chromosomal region
  • Find regulatory features (promoters, enhancers)
  • Locate variants within a region
  • Retrieve structural features

Example:

python
# Find all features in a region
features = client.overlap_region(
    species='human',
    region='7:140424943-140624564',
    feature='gene'
)
6. Assembly Mapping

Convert coordinates between different genome assemblies (e.g., GRCh37 to GRCh38).

Important: Use https://grch37.rest.ensembl.org for GRCh37/hg19 queries and https://rest.ensembl.org for current assemblies.

Example:

python
from ensembl_rest import AssemblyMapper

# Map coordinates from GRCh37 to GRCh38
mapper = AssemblyMapper(
    species='human',
    asm_from='GRCh37',
    asm_to='GRCh38'
)

mapped = mapper.map(chrom='7', start=140453136, end=140453136)

API Best Practices

Show full SKILL.md (274 more words)Show less
Rate Limiting

The Ensembl REST API has rate limits. Follow these practices:

  1. Respect rate limits: Maximum 15 requests per second for anonymous users
  2. Handle 429 responses: When rate-limited, check the Retry-After header and wait
  3. Use batch endpoints: When querying multiple items, use batch endpoints where available
  4. Cache results: Store frequently accessed data to reduce API calls
Error Handling

Always implement proper error handling:

python
import requests
import time

def query_ensembl(endpoint, params=None, max_retries=3):
    server = "https://rest.ensembl.org"
    headers = {"Content-Type": "application/json"}

    for attempt in range(max_retries):
        response = requests.get(
            f"{server}{endpoint}",
            headers=headers,
            params=params
        )

        if response.status_code == 200:
            return response.json()
        elif response.status_code == 429:
            # Rate limited - wait and retry
            retry_after = int(response.headers.get('Retry-After', 1))
            time.sleep(retry_after)
        else:
            response.raise_for_status()

    raise Exception(f"Failed after {max_retries} attempts")

Installation

bash
uv pip install ensembl_rest

The ensembl_rest package provides a Pythonic interface to all Ensembl REST API endpoints.

Direct REST API

No installation needed - use standard HTTP libraries like requests:

bash
uv pip install requests

Resources

references/
  • api_endpoints.md: Comprehensive documentation of all 17 API endpoint categories with examples and parameters
scripts/
  • ensembl_query.py: Reusable Python script for common Ensembl queries with built-in rate limiting and error handling

Common Workflows

Workflow 1: Gene Annotation Pipeline
  1. Look up gene by symbol to get Ensembl ID
  2. Retrieve transcript information
  3. Get protein sequences for all transcripts
  4. Find orthologs in other species
  5. Export results
Workflow 2: Variant Analysis
  1. Query variant by rsID or coordinates
  2. Use VEP to predict functional consequences
  3. Check population frequencies
  4. Retrieve phenotype associations
  5. Generate report
Workflow 3: Comparative Analysis
  1. Start with gene of interest in reference species
  2. Find orthologs in target species
  3. Retrieve sequences for all orthologs
  4. Compare gene structures and features
  5. Analyze evolutionary conservation

Species and Assembly Information

To query available species and assemblies:

python
# List all available species
species_list = client.info_species()

# Get assembly information for a species
assembly_info = client.info_assembly(species='human')

Common species identifiers:

  • Human: homo_sapiens or human
  • Mouse: mus_musculus or mouse
  • Zebrafish: danio_rerio or zebrafish
  • Fruit fly: drosophila_melanogaster

Additional Resources

© davila7, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts, references) in cli-tool/components/skills/scientific/ensembl-database of davila7/claude-code-templates.

  • SKILL.md
  • references/api_endpoints.md
  • scripts/ensembl_query.py

Open the folder on GitHubat commit 14680ec

Used in 10 other repositories

We found 14 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 10 other GitHub owners. This page covers the copy in davila7/claude-code-templates, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Ensembl Database next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ensembl Database compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ensembl Database this skilldavila7/claude-code-templates32k10 repos~2.1kAutomated safety check: PassMIT
External API ChangeGuyTeichman/RNAlysis140—~1.8kAutomated safety check: PassMIT
Annotating Variantsmaziyarpanahi/openmed5.5k—~2.1kAutomated safety check: PassApache-2.0
Ensembl Databasegoogle-deepmind/science-skills3.2k1 repos~2.2kAutomated safety check: PassApache-2.0
Scientific Pkg Ggetaffaan-m/ECC275k1 repos~1.3kAutomated safety check: PassMIT
Tooluniverse Phylogeneticswu-yc/LabClaw1.1k2 repos~4.2kAutomated safety check: PassNone

Similar skills

  • External API Change

    GuyTeichman/RNAlysis

    Workflow for fixing or changing RNAlysis code that talks to an EXTERNAL WEB SERVICE — UniProt, Ensembl, PANTHER, PhylomeDB, OrthoInspector, KEGG, or GO.

    140 GitHub stars~1.8k tokensUpdated 10 days ago
    Research & ScienceAuto-check passed
  • Annotating Variants

    maziyarpanahi/openmed

    Annotates VCF variants and normalizes HGVS nomenclature with public, license-free annotators (Ensembl VEP REST, VEP/SnpEff/ANNOVAR offline) and links variants to gnomAD population frequencies and…

    5.5k GitHub stars~2.1k tokensUpdated yesterday
    Research & ScienceAuto-check passed
  • Ensembl Database

    google-deepmind/science-skills

    Query the Ensembl database to resolve gene, transcript, and protein IDs, fetch genomic or protein sequences, retrieve gene structures (exons), and get variant consequence and effect predictions (VEP).

    3.2k GitHub starsUsed in 1 repo~2.2k tokens
    Research & ScienceAuto-check passed
  • gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

    275k GitHub starsUsed in 1 repo~1.3k tokens
    Research & ScienceAuto-check passed
  • Production-ready phylogenetics and sequence analysis skill for alignment processing, tree analysis, and evolutionary metrics.

    1.1k GitHub starsUsed in 2 repos~4.2k tokens
    Research & ScienceAuto-check passed
  • Production-ready RNA-seq differential expression analysis using PyDESeq2.

    1.1k GitHub starsUsed in 2 repos~4.5k tokens
    Research & ScienceAuto-check passed

More from davila7/claude-code-templates

All 477 skills in this repo
  • Perplexity Web Search

    davila7/claude-code-templates

    Runs web-grounded searches through Perplexity's Sonar models over OpenRouter for current events, recent literature and cited facts beyond the model's training cutoff.

    32k GitHub starsUsed in 12 repos~3.5k tokens
    Auto-check: notes
  • Neuropixels Data Analysis

    davila7/claude-code-templates

    Analyzes Neuropixels recordings from SpikeGLX or Open Ephys through preprocessing, drift correction, Kilosort4 spike sorting, quality metrics and curation.

    32k GitHub starsUsed in 10 repos~2.8k tokens
    Auto-check passed
  • Scientific Venue Templates

    davila7/claude-code-templates

    Supplies LaTeX templates and formatting rules for journals, conferences, posters, and grant proposals, then can check a draft against them.

    32k GitHub starsUsed in 9 repos~5.1k tokens
    Auto-check: notes
  • Brand Voice Content Creator

    davila7/claude-code-templates

    Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.

    32k GitHub starsUsed in 3 repos~1.9k tokens
    Auto-check passed
  • CAPA Officer

    davila7/claude-code-templates

    Guides corrective and preventive action (CAPA) work in a quality management system, from initiation and root cause analysis through effectiveness verification.

    32k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Fda Consultant Specialist

    davila7/claude-code-templates

    Senior FDA consultant and specialist for medical device companies including HIPAA compliance and requirement management.

    32k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed

Works with

Questions about Ensembl Database

What does Ensembl Database do?

Query Ensembl genome database REST API for 250+ species. An agent skill from davila7/claude-code-templates. Ensembl Database is an agent skill from davila7/claude-code-templates. Query Ensembl genome database REST API for 250+ species.

When should I use Ensembl Database?

Ensembl Database fits situations like: tasks that involve Bioinformatics.

How do I install Ensembl Database in Claude Code?

Run `npx skills add davila7/claude-code-templates --skill ensembl-database -a claude-code`. Or copy the skill folder (cli-tool/components/skills/scientific/ensembl-database in davila7/claude-code-templates) into .claude/skills/ensembl-database in your project. Claude Code loads it when a task matches its description.

How do I install Ensembl Database in Codex?

Run `npx skills add davila7/claude-code-templates --skill ensembl-database -a codex`. Or copy the skill folder (cli-tool/components/skills/scientific/ensembl-database in davila7/claude-code-templates) into .agents/skills/ensembl-database in your project. Codex loads it when a task matches its description.

Can I use Ensembl Database in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davila7/claude-code-templates --skill ensembl-database -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ensembl-database, .gemini/skills/ensembl-database, .github/skills/ensembl-database and .opencode/skills/ensembl-database in your project.

What does Ensembl Database need to run?

Going by SKILL.md and its folder, Ensembl Database needs Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3.

Does Ensembl Database access the network?

SKILL.md names 6 domains. In commands or code: rest.ensembl.org and grch37.rest.ensembl.org; the agent is likely to contact these when it follows the instructions. As links in the text: ensemblrest.readthedocs.io, ebi.ac.uk, useast.ensembl.org and github.com. This is read from the text; nothing was executed.

Is Ensembl Database safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Ensembl Database use?

Ensembl Database is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ensembl Database use?

About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.5k tokens, read only when the agent opens those files.

What are the alternatives to Ensembl Database?

Skills that share tags, products or a category with Ensembl Database: External API Change (GuyTeichman/RNAlysis, 140 stars), Annotating Variants (maziyarpanahi/openmed, 5.5k stars), Ensembl Database (google-deepmind/science-skills, 3.2k stars) and Scientific Pkg Gget (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ensembl Database?

davila7 (a GitHub user) maintains it in davila7/claude-code-templates, which has 32,463 GitHub stars. The repository holds 477 skills in this directory. The repository was last updated on October 8, 2026.

Source: davila7/claude-code-templates on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.