This source did not publish a separate summary. Review SKILL.md before using the skill.
SKILL.md
ENA Database
Overview
The European Nucleotide Archive (ENA) is a comprehensive public repository for nucleotide sequence data and associated metadata. Access and query DNA/RNA sequences, raw reads, genome assemblies, and functional annotations through REST APIs and FTP for genomics and bioinformatics pipelines.
When to Use This Skill
This skill should be used when:
Retrieving nucleotide sequences or raw sequencing reads by accession
Searching for samples, studies, or assemblies by metadata criteria
Downloading FASTQ files or genome assemblies for analysis
Querying taxonomic information for organisms
Accessing sequence annotations and functional data
Integrating ENA data into bioinformatics pipelines
Performing cross-reference searches to related databases
Bulk downloading datasets via FTP or Aspera
Core Capabilities
1. Data Types and Structure
ENA organizes data into hierarchical object types:
Studies/Projects - Group related data and control release dates. Studies are the primary unit for citing archived data.
Samples - Represent units of biomaterial from which sequencing libraries were produced. Samples must be registered before submitting most data types.
Raw Reads - Consist of:
Experiments: Metadata about sequencing methods, library preparation, and instrument details
Runs: References to data files containing raw sequencing reads from a single sequencing run
Assemblies - Genome, transcriptome, metagenome, or metatranscriptome assemblies at various completion levels.
Sequences - Assembled and annotated sequences stored in the EMBL Nucleotide Sequence Database, including coding/non-coding regions and functional annotations.
Analyses - Results from computational analyses of sequence data.
Taxonomy Records - Taxonomic information including lineage and rank.
2. Programmatic Access
ENA provides multiple REST APIs for data access. Consult references/api_reference.md for detailed endpoint documentation.
Key APIs:
ENA Portal API - Advanced search functionality across all ENA data types
Rate Limiting: All APIs have a rate limit of 50 requests per second. Exceeding this returns HTTP 429 (Too Many Requests).
3. Searching and Retrieving Data
Browser-Based Search:
Free text search across all fields
Sequence similarity search (BLAST integration)
Cross-reference search to find related records
Advanced search with Rulespace query builder
Programmatic Queries:
Use Portal API for advanced searches at scale
Filter by data type, date range, taxonomy, or metadata fields
Download results as tabulated metadata summaries or XML records
Example API Query Pattern:
import requests
# Search for samples from a specific study
base_url = "https://www.ebi.ac.uk/ena/portal/api/search"
params = {
"result": "sample",
"query": "study_accession=PRJEB1234",
"format": "json",
"limit": 100
}
response = requests.get(base_url, params=params)
samples = response.json()
4. Data Retrieval Formats
Metadata Formats:
XML (native ENA format)
JSON (via Portal API)
TSV/CSV (tabulated summaries)
Sequence Data:
FASTQ (raw reads)
BAM/CRAM (aligned reads)
FASTA (assembled sequences)
EMBL flat file format (annotated sequences)
Download Methods:
Direct API download (small files)
FTP for bulk data transfer
Aspera for high-speed transfer of large datasets
enaBrowserTools command-line utility for bulk downloads
5. Common Use Cases
Retrieve raw sequencing reads by accession:
# Download run files using Browser API
accession = "ERR123456"
url = f"https://www.ebi.ac.uk/ena/browser/api/xml/{accession}"
Search for all samples in a study:
# Use Portal API to list samples
study_id = "PRJNA123456"
url = f"https://www.ebi.ac.uk/ena/portal/api/search?result=sample&query=study_accession={study_id}&format=tsv"