PanelApp through GeneFoundry
Explore curated gene panels from Genomics England and PanelApp Australia.
- Research area
- Gene–disease
- Namespace
panelapp- Listed tools
- 9
- Upstream source
- PanelApp
Research tasks
- Find a panel by disorder or name
- Compare gene membership and evidence confidence across panels
Start with tool discovery
The catalog lists panelapp_search_panels 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
- Panel name or disorder text
- Panel identifier with region
- Approved gene symbol
All available tools (9)
The router surfaces these tools namespaced under panelapp_*:
search_panelsSearch PanelApp panels by name, relevant disorders, or disease group across UK + Australia (region='both' default), deduped and ranked. Use it to find a panel_id, then page via _meta.next_commands.
Search PanelApp panels by name, relevant disorders, or disease group across UK + Australia (region='both' default), deduped and ranked. Use it to find a panel_id, then page via _meta.next_commands.
Input parameters
cursor(any) — Opaque page token from a prior truncated.next_cursor; pass it to continue paging (rejected as invalid_input only if malformed).limit(integer) — Max results per page (1-500).offset(integer) — 0-based offset into the result set; prefer truncated.next_cursor.query(string) — Free-text search over panel name, relevant disorders, and disease group (word-prefix match; empty returns all).region(string) — uk (Genomics England) | australia | both (default).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
get_panelReturn one panel's detail plus its entity-count breakdown. region must be a single concrete region ('uk' or 'australia'), not 'both'.
Return one panel's detail plus its entity-count breakdown. region must be a single concrete region ('uk' or 'australia'), not 'both'.
Input parameters
panel_id(integer) [required] — PanelApp panel id (region-scoped, positive integer, e.g. 285).region(string) [required] — uk (Genomics England) | australia. Panel ids are per-region; not 'both'.response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
get_panel_genesReturn a panel's entities (genes by default; or region | str | all), filtered by min_confidence (green = green only; amber = amber+green; red = all). region must be concrete; widen response_mode for phenotypes/evidence.
Return a panel's entities (genes by default; or region | str | all), filtered by min_confidence (green = green only; amber = amber+green; red = all). region must be concrete; widen response_mode for phenotypes/evidence.
Input parameters
cursor(any) — Opaque page token from a prior truncated.next_cursor; pass it to continue paging (rejected as invalid_input only if malformed).entity_type(string) — gene (default) | region | str | all.limit(integer) — Max results per page (1-500).min_confidence(any) — green | amber | red rank floor; default no filter.offset(integer) — 0-based offset into the result set; prefer truncated.next_cursor.panel_id(integer) [required] — PanelApp panel id (region-scoped, positive integer, e.g. 285).region(string) [required] — uk (Genomics England) | australia. Panel ids are per-region; not 'both'.response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
get_gene_panelsReturn every panel a gene appears on across regions, sorted by confidence. Query by gene_symbol (required); hgnc_id is an OPTIONAL result filter, not a standalone query.
Return every panel a gene appears on across regions, sorted by confidence. Query by gene_symbol (required); hgnc_id is an OPTIONAL result filter, not a standalone query.
Input parameters
gene_symbol(string) [required] — Approved gene symbol (e.g. PKD1). Required: PanelApp queries by symbol.hgnc_id(any) — HGNC CURIE (e.g. HGNC:1100). OPTIONAL filter over the hits -- it cannot stand alone as a query; pass gene_symbol.min_confidence(any) — green | amber | red rank floor; default no filter.region(string) — uk (Genomics England) | australia | both (default).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
resolve_geneResolve free text or an approved symbol to a single rolled-up PanelApp gene. The gene reports its symbol, hgnc id, panel count, regions, and max_confidence_label (the strongest traffic-light label across panels); matches[] always holds exactly that one gene. Pass query (an approved symbol or free text). PanelApp indexes genes by symbol, so an HGNC id is not a lookup key here. region (uk|australia|both, default both) scopes the lookup. Follow up with get_gene_panels to list the panels it appears on.
Resolve free text or an approved symbol to a single rolled-up PanelApp gene. The gene reports its symbol, hgnc id, panel count, regions, and max_confidence_label (the strongest traffic-light label across panels); matches[] always holds exactly that one gene. Pass query (an approved symbol or free text). PanelApp indexes genes by symbol, so an HGNC id is not a lookup key here. region (uk|australia|both, default both) scopes the lookup. Follow up with get_gene_panels to list the panels it appears on.
Input parameters
query(string) [required] — Approved gene symbol or free text to resolve to one rolled-up gene (e.g. SCN1A). An HGNC id is not a lookup key here.region(string) — uk (Genomics England) | australia | both (default).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
compare_panelsDiff genes across 2-5 panels server-side: shared genes, genes unique to each panel, and per-panel confidence deltas. Pass concrete-region refs ({panel_id, region}); 'both' is rejected. Cheaper than pulling each panel's full gene list and diffing in context.
Diff genes across 2-5 panels server-side: shared genes, genes unique to each panel, and per-panel confidence deltas. Pass concrete-region refs ({panel_id, region}); 'both' is rejected. Cheaper than pulling each panel's full gene list and diffing in context.
Input parameters
min_confidence(any) — green | amber | red rank floor; default no filter.panels(array) [required] — 2-5 panel refs: [{panel_id:int, region:'uk'|'australia'}].response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
get_panels_for_genesBatch gene->panel membership for up to 20 gene symbols in one call: per gene, the panel_count, max_confidence_label, and panels it appears on. Unknown symbols are returned in not_found; over-cap input is truncated.
Batch gene->panel membership for up to 20 gene symbols in one call: per gene, the panel_count, max_confidence_label, and panels it appears on. Unknown symbols are returned in not_found; over-cap input is truncated.
Input parameters
gene_symbols(array) [required] — Approved gene symbols (e.g. PKD1); capped at 20 per call.min_confidence(any) — green | amber | red rank floor; default no filter.region(string) — uk | australia | both (default).response_mode(string) — Verbosity: minimal | compact | standard | full (default compact).
get_server_capabilitiesReturn the PanelApp-Link tool inventory, vocabulary (confidence labels and ranks, entity types, regions), response modes, recommended workflows, error codes, resources, and live data freshness. Compare `capabilities_version` to skip re-fetching when unchanged.
Return the PanelApp-Link tool inventory, vocabulary (confidence labels and ranks, entity types, regions), response modes, recommended workflows, error codes, resources, and live data freshness. Compare `capabilities_version` to skip re-fetching when unchanged.
get_panelapp_diagnosticsReport live backend status: the data mode (live), the upstream PanelApp source URLs (UK + Australia), the in-memory cache TTL, current cache stats, and the RED metrics snapshot (request/error counts, cache hit ratio, tool + per-region upstream duration p50/p95/p99 -- also exported as Prometheus text at GET /metrics). Also echoes server_version and capabilities_version so a warm client can poll this small payload for drift instead of re-fetching full capabilities.
Report live backend status: the data mode (live), the upstream PanelApp source URLs (UK + Australia), the in-memory cache TTL, current cache stats, and the RED metrics snapshot (request/error counts, cache hit ratio, tool + per-region upstream duration p50/p95/p99 -- also exported as Prometheus text at GET /metrics). Also echoes server_version and capabilities_version so a warm client can poll this small payload for drift instead of re-fetching full capabilities.
Database & release provenance
- Data mode
none- Attestation
- unhosted
- Release version
v0.7.3
ghcr.io/berntpopp/panelapp-link@sha256:a106a79ef1e14e15164c1559354cb2fddabb32a3242faf50c9df834c3afee351Review 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 PanelApp response.