Gene Annotation
Gene Annotation (Ensembl Plants)
Turn a list of top SNP hits into named genes with biological context.
How it works
After GWAS, the highest peaks are just chromosome:position pairs. Our annotation module queries the Ensembl Plants REST API to overlay nearby protein-coding genes, their biotypes, and curated descriptions. Where available, we surface Gene Ontology terms and pathway membership. This is the bridge from statistics to biology.
Formula
REST query: GET /overlap/region/{species}/{chromosome}:{start}-{end}?feature=gene
What you get
- ▸Gene IDs and symbols within a configurable window of each SNP
- ▸Biotype (protein_coding, lncRNA, etc.) and start/end coordinates
- ▸Curated descriptions and external database cross-references
When to use it
- ▸After every GWAS run with at least one significant hit
- ▸When validating candidate genes for marker-assisted selection
- ▸When writing up results for publication or stakeholder reports
Inputs
| Hit list | CSV: chromosome, position, optional p-value |
| Species | Ensembl Plants species key (e.g. `triticum_aestivum`, `zea_mays`) |
Parameters
| Name | Default | Description |
|---|---|---|
| Window (bp) | 50000 | Half-width of the region searched around each hit. |
| Biotype filter | protein_coding | Restrict to protein-coding genes or expand to include lncRNA/miRNA. |
| GO enrichment | off | Optional Fisher-exact enrichment of hit-nearby genes vs genome background. |
Workflow
- 1. Region buildEach hit expanded to [pos − w, pos + w].
- 2. Ensembl overlapREST call returns overlapping features; biotype filter applied.
- 3. Annotation joinDescriptions and cross-refs merged from Ensembl metadata.
- 4. Optional enrichmentGO term enrichment when the hit set is large enough (≥15 unique genes).
Interpreting results
- ▸A single named gene under a broad peak is a candidate, not a conclusion — confirm with expression data or knockouts.
- ▸Enrichment p-values need a background matched to the panel's genome — the module uses the full annotated gene set by default.
Common pitfalls
- ✕Wrong species key returns coordinates that don't map — always double-check the assembly version.
- ✕Small windows miss regulatory elements upstream; too-wide windows return dozens of unrelated genes.
Worked example
Peak on wheat 2B
Chromosome 2B, position 74.3 Mb, 50 kb window returns TraesCS2B02G058100 (TaGW2) — a well-known grain-width regulator.
References
Run Gene Annotation on your data
Open the module and upload a CSV.