Agent skill · Databases

ena-database

ENA REST API for sequences, reads, assemblies, and annotations. Portal API search, Browser API retrieval (XML/FASTA/EMBL), file reports for FASTQ/BAM URLs, taxonomy, cross-refs. For multi-DB Python use bioservices; for NCBI-only use pubmed-database or Biopython Entrez.

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeNOASSERTION
Install
npx skills add BioTender-max/awesome-bio-agent-skills --skill ena-database --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 21 KB
Bundled scripts: none
Path: skills/sciagent/ena-database/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 135
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

The skill instructs an AI agent to interact with the ENA REST APIs to search and retrieve metadata and data across ENA data types, including studies, samples, read runs, assemblies, and cross-references. It includes examples of browsing records in multiple formats (XML, FASTA, EMBL), obtaining file reports with download URLs for FASTQ/BAM, and looking up taxonomy information. It emphasizes using appropriate Python modules for multi-database queries and provides quick-start code and workflows for study exploration, bulk FASTQ URL collection, and taxonomic assembly exploration.

How it works

  • Use Portal API to perform advanced metadata searches across ENA data types, with fields, pagination, and JSON/TSV/XML formats.
  • Use Browser API to retrieve individual records by accession in XML, FASTA, EMBL, or plain text formats.
  • Use filereport to obtain download URLs for FASTQ/other files, including parsing fastq_ftp and fastq_md5 fields.
  • Use taxonomy endpoints to lookup taxa by ID, scientific name, or partial matches, and suggest organisms.
  • Use xref endpoints to find cross-references between ENA records and external databases.
  • Include rate-limit handling (50 requests per second) and pagination strategies, plus example code snippets.
  • Provide workflows for study exploration, bulk FASTQ URL collection, and taxonomic assembly exploration, including step-by-step programmatic actions and required fields.
  • List prerequisites such as pip install requests and describe endpoint bases and common fields.

When to use it

  • When searching for sequencing studies, samples, or experiments by organism or keyword.
  • When downloading raw FASTQ/BAM files for reanalysis.
  • When retrieving genome assemblies and quality statistics.
  • When fetching nucleotide sequences in FASTA or EMBL formats by accession.
  • When exploring taxonomic lineage or finding organisms by partial names.
  • When cross-referencing ENA records with external databases.
  • When building bulk download lists for large projects.
  • If integrating with multiple databases in Python, prefer bioservices; for NCBI-specific queries, use pubmed-database or Biopython Entrez.

What it can touch

  • Portal API: https://www.ebi.ac.uk/ena/portal/api
  • Browser API: https://www.ebi.ac.uk/ena/browser/api
  • Taxonomy API: https://www.ebi.ac.uk/ena/taxonomy/rest
  • Cross-ref API: https://www.ebi.ac.uk/ena/xref/rest
  • File reports via filereport endpoint (e.g., accessions like ERR000589)
  • It uses standard Python tooling (requests) as shown in examples.

Caveats

  • API constraints: Rate limit of 50 requests per second across all ENA APIs; no authentication required.
  • Large result sets require pagination or streaming (limit/offset or limit=0).
  • Some fields and endpoints may change; examples use current endpoint structures and field names (e.g., run_accession, sample_accession, fastq_ftp, fastq_md5).
  • License is NOASSERTION per the metadata; real-world use should verify licensing if redistributing data.
From the SKILL.md

# ENA Database — European Nucleotide Archive Programmatic Access ## Overview The European Nucleotide Archive (ENA) is EMBL-EBI's comprehensive nucleotide sequence database, encompassing raw sequencing reads, genome assemblies, annotated sequences, and associated metadata. It mirrors and extends INSDC data (GenBank, DDBJ). All access is via REST APIs with no authentication required. ## When to Use - Searching for sequencing studies, samples, or experiments by organism, project, or keyword - Downloading raw FASTQ/BAM files for reanalysis of public sequencing datasets - Retrieving genome assemblies with quality statistics (N50, contig count, genome size) - Fetching nucleotide sequences in FASTA or EMBL flat-file format by accession - Exploring taxonomic lineage and finding organisms by partial name - Cross-referencing ENA records with external databases (ArrayExpress, UniProt, PDB) - Building bulk download lists for large-scale sequencing projects - For **multi-database Python queries** (ENA + UniProt + KEGG), prefer `bioservices` instead - For **NCBI-specific queries** (PubMed literature, GenBank records), use `pubmed-database` or Biopython Entrez ## Prerequisites ```bash pip install

What's inside
Steps it walks through
  1. Overview
  2. When to Use
  3. Prerequisites
  4. Quick Start
  5. Core API
  6. Module 1: Portal API Search
  7. Module 2: Browser API Retrieval
  8. Module 3: File Reports and Downloads
  9. Module 4: Taxonomy Queries
  10. Module 5: Cross-Reference Service
  11. Module 6: CRAM Reference Registry
  12. Key Concepts
  13. ENA Data Hierarchy
  14. Query Syntax Operators
Commands it runs
pip install requests
More from awesome-bio-agent-skills
All skills →
About this skill
What does the ena-database skill do?

ENA REST API for sequences, reads, assemblies, and annotations. Portal API search, Browser API retrieval (XML/FASTA/EMBL), file reports for FASTQ/BAM URLs, taxonomy, cross-refs. For multi-DB Python use bioservices; for NCBI-only use pubmed-database or Biopython Entrez.

How do I install it?

Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill ena-database --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going