HGNC through GeneFoundry
Resolve approved human gene symbols, aliases and cross-references using HGNC nomenclature.
- Research area
- Genes & proteins
- Namespace
hgnc- Listed tools
- 9
- Upstream source
- HGNC
Research tasks
- Reconcile an older symbol with the approved gene record
- Find external identifiers for a human gene
Start with tool discovery
The catalog lists hgnc_resolve_symbol as a representative tool. After connecting your client, inspect the tools and input requirements returned by the service before submitting a query.
Identifiers to prepare
- Approved gene symbol
- Previous or alias symbol
- HGNC identifier
- Supported external gene identifier
All available tools (9)
The router surfaces these tools namespaced under hgnc_*:
get_server_capabilitiesReturn the hgnc-link discovery surface. detail='summary' (default) is light: identity/build/HGNC release, the tool list WITH call signatures, accepted argument aliases, response modes, recommended workflows, error taxonomy, and limits. detail='full' adds vocabularies (locus groups, status values, match types) and the cross-reference database catalogue. Call this first in a cold session, or read hgnc://tools / hgnc://capabilities. Signature: get_server_capabilities(detail=).
Return the hgnc-link discovery surface. detail='summary' (default) is light: identity/build/HGNC release, the tool list WITH call signatures, accepted argument aliases, response modes, recommended workflows, error taxonomy, and limits. detail='full' adds vocabularies (locus groups, status values, match types) and the cross-reference database catalogue. Call this first in a cold session, or read hgnc://tools / hgnc://capabilities. Signature: get_server_capabilities(detail=).
Input parameters
detail(string) — summary (default, light) or full (adds vocabularies/xref dbs).
get_hgnc_diagnosticsReport the local HGNC index status: whether the data is built, the loaded release date, gene/withdrawn counts, schema version, and when it was built. Use this to confirm freshness or diagnose an unavailable-data error. Signature: get_hgnc_diagnostics().
Report the local HGNC index status: whether the data is built, the loaded release date, gene/withdrawn counts, schema version, and when it was built. Use this to confirm freshness or diagnose an unavailable-data error. Signature: get_hgnc_diagnostics().
resolve_symbolResolve any gene symbol or HGNC id to its canonical record. Accepts a current symbol, a previous (withdrawn) symbol, an alias, or an HGNC id in either form (HGNC:1100 or 1100), case-insensitively. Returns {hgnc_id, approved_symbol, match_type (hgnc_id|current|previous|alias)}. An alias shared by several genes returns an ambiguous_query error with the candidate list (not silently picked); a withdrawn/merged symbol returns a not_found error that redirects to the successor record. Signature: resolve_symbol(query, response_mode=).
Resolve any gene symbol or HGNC id to its canonical record. Accepts a current symbol, a previous (withdrawn) symbol, an alias, or an HGNC id in either form (HGNC:1100 or 1100), case-insensitively. Returns {hgnc_id, approved_symbol, match_type (hgnc_id|current|previous|alias)}. An alias shared by several genes returns an ambiguous_query error with the candidate list (not silently picked); a withdrawn/merged symbol returns a not_found error that redirects to the successor record. Signature: resolve_symbol(query, response_mode=).
Input parameters
query(string) [required] — A gene symbol (current/previous/alias, case-insensitive) or HGNC id (HGNC:1100 or 1100).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
resolve_symbols_batchResolve a batch of gene symbols / HGNC ids in one call (max 200). Each entry is resolved with the same current->previous->alias cascade as resolve_symbol; an individual miss or withdrawal never fails the batch (it is marked unresolved / obsolete in that entry). Returns per-query results plus resolved/unresolved counts. Signature: resolve_symbols_batch(queries, response_mode=).
Resolve a batch of gene symbols / HGNC ids in one call (max 200). Each entry is resolved with the same current->previous->alias cascade as resolve_symbol; an individual miss or withdrawal never fails the batch (it is marked unresolved / obsolete in that entry). Returns per-query results plus resolved/unresolved counts. Signature: resolve_symbols_batch(queries, response_mode=).
Input parameters
queries(array) [required] — Gene symbols and/or HGNC ids to resolve (max 200).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
get_geneReturn the full HGNC record for a gene, resolved from an HGNC id, current symbol, previous symbol, or alias. Includes name, status, locus group/type, location, aliases/previous symbols, gene groups, and all cross-references. response_mode controls verbosity (compact drops dates/provenance; minimal keeps identity + anchor ids). Signature: get_gene(query, response_mode=).
Return the full HGNC record for a gene, resolved from an HGNC id, current symbol, previous symbol, or alias. Includes name, status, locus group/type, location, aliases/previous symbols, gene groups, and all cross-references. response_mode controls verbosity (compact drops dates/provenance; minimal keeps identity + anchor ids). Signature: get_gene(query, response_mode=).
Input parameters
query(string) [required] — A gene symbol (current/previous/alias, case-insensitive) or HGNC id (HGNC:1100 or 1100).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
search_genesFree-text search over gene symbols, names, aliases, and previous symbols (FTS, relevance-ranked). Returns ranked {hgnc_id, symbol, name, locus_type, score} summaries. Nomenclature-only: there is NO disease/phenotype semantics, so a descriptive query (e.g. 'polycystin kidney') only matches words present in a gene's nomenclature. Use resolve_symbol for an exact symbol/id; use this for partial names. Signature: search_genes(query, limit=, response_mode=).
Free-text search over gene symbols, names, aliases, and previous symbols (FTS, relevance-ranked). Returns ranked {hgnc_id, symbol, name, locus_type, score} summaries. Nomenclature-only: there is NO disease/phenotype semantics, so a descriptive query (e.g. 'polycystin kidney') only matches words present in a gene's nomenclature. Use resolve_symbol for an exact symbol/id; use this for partial names. Signature: search_genes(query, limit=, response_mode=).
Input parameters
limit(integer) — Max hits (default 25).query(string) [required] — Free-text query (symbol fragment, name, alias).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
get_gene_cross_referencesReturn external database cross-references for a gene (forward identifier mapping): NCBI Gene, Ensembl, UniProt, RefSeq, MANE Select, OMIM, UCSC, VEGA, CCDS, MGI, RGD, Orphanet, COSMIC, PubMed. response_mode sets the default field set: minimal=NCBI+Ensembl ids; compact (default)=the high-value ids (NCBI, Ensembl, UniProt, RefSeq, MANE Select, OMIM, CCDS); standard/full=every populated field. databases optionally filters to specific sources by field key OR friendly label (e.g. 'mane', 'ncbi', 'uniprot') and OVERRIDES the response_mode tier; an unknown key is rejected with invalid_input + did-you-mean. Resolve the gene from an id/symbol/alias first. Signature: get_gene_cross_references(query, databases=, response_mode=).
Return external database cross-references for a gene (forward identifier mapping): NCBI Gene, Ensembl, UniProt, RefSeq, MANE Select, OMIM, UCSC, VEGA, CCDS, MGI, RGD, Orphanet, COSMIC, PubMed. response_mode sets the default field set: minimal=NCBI+Ensembl ids; compact (default)=the high-value ids (NCBI, Ensembl, UniProt, RefSeq, MANE Select, OMIM, CCDS); standard/full=every populated field. databases optionally filters to specific sources by field key OR friendly label (e.g. 'mane', 'ncbi', 'uniprot') and OVERRIDES the response_mode tier; an unknown key is rejected with invalid_input + did-you-mean. Resolve the gene from an id/symbol/alias first. Signature: get_gene_cross_references(query, databases=, response_mode=).
Input parameters
databases(any) — Optional cross-reference filter: a list of field keys or friendly labels (e.g. 'ncbi', 'ensembl', 'uniprot', 'refseq', 'mane', 'omim', 'ucsc', 'vega', 'ccds', 'mgi', 'rgd', 'pubmed'). Overrides the response_mode tier; an unknown key is rejected with invalid_input + did_you_mean.query(string) [required] — A gene symbol (current/previous/alias, case-insensitive) or HGNC id (HGNC:1100 or 1100).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
resolve_gene_by_xrefReverse identifier mapping: find the HGNC gene(s) for an external database id. source is the database (entrez_id/ncbi, ensembl_gene_id, uniprot, refseq, mane_select, omim, ucsc, vega, ccds, mgi, rgd) and value is the id (e.g. source='ensembl_gene_id', value='ENSG00000157764'). A version suffix is tolerated (ENSG00000012048.23 resolves like ENSG00000012048), and a MANE Select transcript (ENST…/NM_…) resolves back to its gene. Signature: resolve_gene_by_xref(source, value, response_mode=).
Reverse identifier mapping: find the HGNC gene(s) for an external database id. source is the database (entrez_id/ncbi, ensembl_gene_id, uniprot, refseq, mane_select, omim, ucsc, vega, ccds, mgi, rgd) and value is the id (e.g. source='ensembl_gene_id', value='ENSG00000157764'). A version suffix is tolerated (ENSG00000012048.23 resolves like ENSG00000012048), and a MANE Select transcript (ENST…/NM_…) resolves back to its gene. Signature: resolve_gene_by_xref(source, value, response_mode=).
Input parameters
response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).source(string) [required] — Cross-reference database. Canonical keys: entrez_id, ensembl_gene_id, uniprot_ids, refseq_accession, mane_select, omim_id, ucsc_id, vega_id, ccds_id, ena, mgd_id, rgd_id. Common synonyms (ncbi, ensembl, uniprot, refseq, mane, omim, mgi, rgd) are also accepted.value(string) [required] — The external identifier value to look up (a version suffix is fine).
get_gene_groupBrowse a HGNC gene group/family by numeric group id (e.g. '1157') or by name (e.g. 'RAF family'). Returns the member genes as symbol-ordered summaries. Members are paginated with limit + offset; the response carries member_count, returned, truncated, and next_offset, and (when truncated) a next_commands entry that fetches the next page. A name matching several groups returns the candidate groups so you can re-call with a specific id. Signature: get_gene_group(group, limit=, offset=, response_mode=).
Browse a HGNC gene group/family by numeric group id (e.g. '1157') or by name (e.g. 'RAF family'). Returns the member genes as symbol-ordered summaries. Members are paginated with limit + offset; the response carries member_count, returned, truncated, and next_offset, and (when truncated) a next_commands entry that fetches the next page. A name matching several groups returns the candidate groups so you can re-call with a specific id. Signature: get_gene_group(group, limit=, offset=, response_mode=).
Input parameters
group(string) [required] — Gene group id (numeric) or group name.limit(integer) — Max members (default 200).offset(integer) — Skip this many members for pagination (default 0).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
Database & release provenance
- Data mode
upstream-live- Attestation
- live-upstream
- Data release tag
observed-2026.07.13- Release version
v2.1.6
sha256:3a106439d733bdb57353ccdc587de943b0fcb269d6979a97170954b596881fdcghcr.io/berntpopp/hgnc-link@sha256:40d78db7c6c95b7943698e18672b5909b8225f73cb2800bac1b0c39748514fbaReview the response
Keep the source record link and submitted identifiers with your notes. Record the dataset version and retrieval date when available. This page does not contain a captured HGNC response.