MaveDB through GeneFoundry
Find multiplexed variant-effect experiments and inspect scores with their assay and calibration context.
- Research area
- Variants
- Namespace
mavedb- Listed tools
- 15
- Upstream source
- MaveDB
Research tasks
- Find score sets for a gene or experiment
- Read a variant score alongside its score-set calibration
Start with tool discovery
The catalog lists mavedb_search_score_sets 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
- Score-set URN
- Variant URN
- Score-set URN together with HGVS notation
All available tools (15)
The router surfaces these tools namespaced under mavedb_*:
get_server_capabilitiesReturn the mavedb-link discovery surface: identity/build, the tool list WITH call signatures, response modes, recommended workflows, the MaveDB identifier scheme, the error taxonomy, and limits. detail='full' adds the full policy notes. Call this first in a cold session, or read mavedb://tools / mavedb://capabilities. Signature: get_server_capabilities(detail=).
Return the mavedb-link discovery surface: identity/build, the tool list WITH call signatures, response modes, recommended workflows, the MaveDB identifier scheme, the error taxonomy, and limits. detail='full' adds the full policy notes. Call this first in a cold session, or read mavedb://tools / mavedb://capabilities. Signature: get_server_capabilities(detail=).
Input parameters
detail(string) — summary (default, light) or full (adds policy notes).
get_diagnosticsReport upstream MaveDB API reachability and version (live check of GET /api/version), the configured base URL, this build's provenance, and a runtime block (request/error counts and latency percentiles p50/p95/p99). Use this to confirm the API is up or diagnose an upstream_unavailable error. Signature: get_diagnostics().
Report upstream MaveDB API reachability and version (live check of GET /api/version), the configured base URL, this build's provenance, and a runtime block (request/error counts and latency percentiles p50/p95/p99). Use this to confirm the API is up or diagnose an upstream_unavailable error. Signature: get_diagnostics().
search_score_setsSearch MaveDB score sets (the datasets carrying scored variants) by free text and facets — target gene(s), organism, target type, and author. Returns score-set hits {urn, title, num_variants, targets, license, ...} plus a pagination block. Organism/target-type facets are null-inclusive by default (records with unknown metadata are KEPT and _meta.facet_excluded reports the drops); pass facet_mode='strict' to also drop unknown-metadata records. This is the MaveDB front door. Signature: search_score_sets(text=, targets=, target_organism_names=, target_types=, authors=, facet_mode=, published=, limit=, offset=, response_mode=).
Search MaveDB score sets (the datasets carrying scored variants) by free text and facets — target gene(s), organism, target type, and author. Returns score-set hits {urn, title, num_variants, targets, license, ...} plus a pagination block. Organism/target-type facets are null-inclusive by default (records with unknown metadata are KEPT and _meta.facet_excluded reports the drops); pass facet_mode='strict' to also drop unknown-metadata records. This is the MaveDB front door. Signature: search_score_sets(text=, targets=, target_organism_names=, target_types=, authors=, facet_mode=, published=, limit=, offset=, response_mode=).
Input parameters
authors(any) — Filter to score sets with these author name substrings (case-insensitive).facet_mode(string) — 'inclusive' (default; keep unknown-metadata records) or 'strict' (drop them).limit(integer) — Max hits (default 25).offset(integer) — Rows to skip for forward paging (default 0).published(boolean) — Restrict to published records (default true).response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).target_organism_names(any) — Filter to these target organisms (client-side, null-inclusive). Use full scientific names.target_types(any) — Filter to these MaveDB target categories (client-side, null-inclusive). Closed set: protein_coding | regulatory | other_noncoding (the exact values the runtime accepts; an unlisted value is invalid_input, never a silent-empty result).targets(any) — Filter to score sets whose target gene is one of these HGNC symbols (server-side facet).text(any) — Free-text query over gene/target, title, and abstract.
get_score_setReturn a MaveDB score-set record by URN: title, description, target gene(s) with external IDs, parent experiment, publications, the per-record license, variant count, and (standard/full) dataset columns and method/abstract text. Get the actual scores with get_variant_scores. Signature: get_score_set(urn, response_mode=).
Return a MaveDB score-set record by URN: title, description, target gene(s) with external IDs, parent experiment, publications, the per-record license, variant count, and (standard/full) dataset columns and method/abstract text. Get the actual scores with get_variant_scores. Signature: get_score_set(urn, response_mode=).
Input parameters
response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).urn(string) [required] — A MaveDB score-set URN ('urn:mavedb:00000001-a-1'). Find one via search_score_sets or get_gene_score_sets.
get_variant_scoresReturn the quantitative variant-by-variant score table for a score set (urn:mavedb:...-a-1) as parsed rows: each row carries accession, variant_index (numeric join key for get_mapped_variants), HGVS (hgvs_nt/hgvs_splice/hgvs_pro), the numeric score (+ derived classification when calibrated), and score-set specific columns. Paged via offset/limit; NA values become null. Page forward with offset=next_offset. For large pulls use response_mode='minimal' to drop the HGVS columns to {accession, variant_index, score, classification} (token-safe); a full ~1000-row page at standard can exceed the MCP token cap and be auto-saved to a tool-results file — page via offset or use get_score_distribution for summary statistics instead. The top-level calibrations threshold ladder is record-level data shipped once (the first page, start=0) or at full — not re-sent on every forward page; the per-row classification rides on every page. Signature: get_variant_scores(urn, offset=, limit=, drop_na_columns=, response_mode=).
Return the quantitative variant-by-variant score table for a score set (urn:mavedb:...-a-1) as parsed rows: each row carries accession, variant_index (numeric join key for get_mapped_variants), HGVS (hgvs_nt/hgvs_splice/hgvs_pro), the numeric score (+ derived classification when calibrated), and score-set specific columns. Paged via offset/limit; NA values become null. Page forward with offset=next_offset. For large pulls use response_mode='minimal' to drop the HGVS columns to {accession, variant_index, score, classification} (token-safe); a full ~1000-row page at standard can exceed the MCP token cap and be auto-saved to a tool-results file — page via offset or use get_score_distribution for summary statistics instead. The top-level calibrations threshold ladder is record-level data shipped once (the first page, start=0) or at full — not re-sent on every forward page; the per-row classification rides on every page. Signature: get_variant_scores(urn, offset=, limit=, drop_na_columns=, response_mode=).
Input parameters
drop_na_columns(boolean) — Drop columns that are entirely NA (default false).limit(integer) — Max score rows (default 100).offset(integer) — Rows to skip in the score table (default 0); `start` is accepted as a start alias for compatibility with MaveDB's upstream scores endpoint.response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).urn(string) [required] — A MaveDB score-set URN ('urn:mavedb:00000001-a-1'). Find one via search_score_sets or get_gene_score_sets.
get_variant_scoreLook up the functional score for ONE variant without paging the whole table. Pass a full variant URN (urn:mavedb:...-a-1#2) to resolve it directly, OR a score-set URN plus hgvs= (e.g. 'c.8168A>G' or 'p.Arg1699Trp') to scan that score set's table for the matching row(s). BOTH paths return the same shape: {urn, query, resolved_by, match_count, variants:[{variant_urn, variant_index, hgvs_nt, hgvs_pro, score, classifications?}], calibrations?}. mapped_variants are opt-in (standard/full) and current-only unless full. The fast path for 'what is the score (and calibrated class) for this variant?'. Signature: get_variant_score(urn, hgvs=, response_mode=).
Look up the functional score for ONE variant without paging the whole table. Pass a full variant URN (urn:mavedb:...-a-1#2) to resolve it directly, OR a score-set URN plus hgvs= (e.g. 'c.8168A>G' or 'p.Arg1699Trp') to scan that score set's table for the matching row(s). BOTH paths return the same shape: {urn, query, resolved_by, match_count, variants:[{variant_urn, variant_index, hgvs_nt, hgvs_pro, score, classifications?}], calibrations?}. mapped_variants are opt-in (standard/full) and current-only unless full. The fast path for 'what is the score (and calibrated class) for this variant?'. Signature: get_variant_score(urn, hgvs=, response_mode=).
Input parameters
hgvs(any) — HGVS string (hgvs_nt or hgvs_pro) to match when urn is a score-set URN; omit when urn is a full variant URN. Accession-prefix insensitive: a bare 'c.8168A>G' resolves a stored 'ENST00000380152.8:c.8168A>G' and vice-versa. Note: many SGE sets leave hgvs_pro null, so a p. form may not match there — use the c. form.response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).urn(string) [required] — EITHER a full variant URN ('urn:mavedb:00000001-a-1#2', resolved directly) OR a score-set URN ('urn:mavedb:00000001-a-1', used WITH hgvs=). The first example is a full variant URN so a bare urn= call resolves; pass hgvs= alongside when urn= is a score-set URN.
get_score_distributionSummarise a score set's score distribution server-side (MaveDB has no stats endpoint): n, min/max, mean, median, quartiles, stdev, and a 10-bin histogram — a compact summary INSTEAD of paging the whole table. Pass score= to locate that value (its percentile + calibrated classification). Carries the calibration thresholds when present. Signature: get_score_distribution(urn, score=, response_mode=).
Summarise a score set's score distribution server-side (MaveDB has no stats endpoint): n, min/max, mean, median, quartiles, stdev, and a 10-bin histogram — a compact summary INSTEAD of paging the whole table. Pass score= to locate that value (its percentile + calibrated classification). Carries the calibration thresholds when present. Signature: get_score_distribution(urn, score=, response_mode=).
Input parameters
response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).score(any) — A score to locate within the distribution (percentile + class).urn(string) [required] — A MaveDB score-set URN ('urn:mavedb:00000001-a-1'). Find one via search_score_sets or get_gene_score_sets.
get_mapped_variantsReturn the genome-mapped GA4GH VRS alleles for a score set's variants (urn:mavedb:...-a-1), each with its source variant URN, variant_index, VRS allele id, ClinGen Allele ID, and current flag — the bridge from assay coordinates to reference-genome/clinical coordinates. Rows are ordered numerically by variant_index to match get_variant_scores, but JOIN on variant_urn/variant_index (do not zip by row — some variants are unmapped). current_only (default true) collapses the current/superseded pair to one row per variant. Paged via offset/limit. Signature: get_mapped_variants(urn, current_only=, limit=, offset=, response_mode=).
Return the genome-mapped GA4GH VRS alleles for a score set's variants (urn:mavedb:...-a-1), each with its source variant URN, variant_index, VRS allele id, ClinGen Allele ID, and current flag — the bridge from assay coordinates to reference-genome/clinical coordinates. Rows are ordered numerically by variant_index to match get_variant_scores, but JOIN on variant_urn/variant_index (do not zip by row — some variants are unmapped). current_only (default true) collapses the current/superseded pair to one row per variant. Paged via offset/limit. Signature: get_mapped_variants(urn, current_only=, limit=, offset=, response_mode=).
Input parameters
current_only(boolean) — Keep only the current mapping per variant (default true).limit(integer) — Max mapped variants (default 50).offset(integer) — Rows to skip for forward paging (default 0).response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).urn(string) [required] — A MaveDB score-set URN ('urn:mavedb:00000001-a-1'). Find one via search_score_sets or get_gene_score_sets.
get_gene_score_setsResolve an HGNC gene symbol (e.g. BRCA1) to its gene identity (name, HGNC id, location) AND every published MaveDB score set that targets it — the COMPLETE set, unioned from HGNC resolution and the target-name facet and deduped by URN (see the coverage block). The fastest complete way to find all MAVE data for a gene. Paged via offset/limit. Signature: get_gene_score_sets(gene_symbol, limit=, offset=, response_mode=).
Resolve an HGNC gene symbol (e.g. BRCA1) to its gene identity (name, HGNC id, location) AND every published MaveDB score set that targets it — the COMPLETE set, unioned from HGNC resolution and the target-name facet and deduped by URN (see the coverage block). The fastest complete way to find all MAVE data for a gene. Paged via offset/limit. Signature: get_gene_score_sets(gene_symbol, limit=, offset=, response_mode=).
Input parameters
gene_symbol(string) [required] — An HGNC gene symbol (e.g. BRCA1, TP53, PTEN).limit(integer) — Max score sets (default 20).offset(integer) — Score sets to skip for paging (default 0).response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_experimentReturn a MaveDB experiment record by URN (urn:mavedb:00000001-a): title, description, parent experiment set, the child score-set URNs, keywords, and publications. An experiment groups one or more score sets from one assay context. Open a child dataset with get_score_set. Signature: get_experiment(urn, response_mode=).
Return a MaveDB experiment record by URN (urn:mavedb:00000001-a): title, description, parent experiment set, the child score-set URNs, keywords, and publications. An experiment groups one or more score sets from one assay context. Open a child dataset with get_score_set. Signature: get_experiment(urn, response_mode=).
Input parameters
response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).urn(string) [required] — A MaveDB experiment URN ('urn:mavedb:00000001-a'). Groups one or more score sets; find one via a score set's experiment_urn.
search_experimentsSearch MaveDB experiments by free text (author facet, plus target facets — targets/target_organism_names/target_types — derived from the score-set search and grouped by parent experiment). A gene-token query re-ranks experiments whose score sets target the gene above abstract namesakes (reranked_by:'target_gene'). Returns experiment hits {urn, score_set_urns, ...} plus a pagination block (paged client-side). Use search_score_sets when you want datasets/scores; use this for the assay-context grouping. Signature: search_experiments(text=, targets=, target_organism_names=, target_types=, authors=, published=, limit=, offset=, response_mode=).
Search MaveDB experiments by free text (author facet, plus target facets — targets/target_organism_names/target_types — derived from the score-set search and grouped by parent experiment). A gene-token query re-ranks experiments whose score sets target the gene above abstract namesakes (reranked_by:'target_gene'). Returns experiment hits {urn, score_set_urns, ...} plus a pagination block (paged client-side). Use search_score_sets when you want datasets/scores; use this for the assay-context grouping. Signature: search_experiments(text=, targets=, target_organism_names=, target_types=, authors=, published=, limit=, offset=, response_mode=).
Input parameters
authors(any) — Filter to score sets with these author name substrings (case-insensitive).limit(integer) — Max hits (default 25).offset(integer) — Rows to skip for forward paging (default 0).published(boolean) — Restrict to published records (default true).response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).target_organism_names(any) — Filter to these target organisms (client-side, null-inclusive). Use full scientific names.target_types(any) — Filter to these MaveDB target categories (client-side, null-inclusive). Closed set: protein_coding | regulatory | other_noncoding (the exact values the runtime accepts; an unlisted value is invalid_input, never a silent-empty result).targets(any) — Filter to score sets whose target gene is one of these HGNC symbols (server-side facet).text(any) — Free-text query over gene/target, title, and abstract.
get_collectionReturn a curated MaveDB collection by URN: its name, description, badge, num_score_sets/num_experiments, and the member experiment and score-set URNs. Collections group related datasets (e.g. by gene, consortium, or theme). The member lists are PAGED (limit/offset, truncated/next_offset) so large collections stay light. Open a member with get_score_set. Signature: get_collection(urn, limit=, offset=, response_mode=).
Return a curated MaveDB collection by URN: its name, description, badge, num_score_sets/num_experiments, and the member experiment and score-set URNs. Collections group related datasets (e.g. by gene, consortium, or theme). The member lists are PAGED (limit/offset, truncated/next_offset) so large collections stay light. Open a member with get_score_set. Signature: get_collection(urn, limit=, offset=, response_mode=).
Input parameters
limit(integer) — Max member score sets (default 100).offset(integer) — Members to skip for forward paging (default 0).response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).urn(string) [required] — A MaveDB collection URN ('urn:mavedb:collection-<uuid>'). Obtain one from a member score set's official_collections (get_score_set at standard/full).
find_variantFind ONE variant across EVERY MaveDB score set — the same variant's functional measurements wherever it was assayed (the cross-dataset rollup for 'every assay that measured this variant'). Pass variant= in ANY form (auto-detected): a VRS id (ga4gh:VA…), a variant URN ('urn:mavedb:…-a-1#2', resolved to its VRS internally so you do NOT map it first — chain straight from get_variant_score), or a bare HGVS string (+ optional gene_symbol=), resolved to its VRS internally — no map-first round-trip. Each hit carries its score_set_urn, variant_urn, ClinGen Allele ID, and (when enrich=true, default) the score + calibrated classifications. ClinGen Allele IDs are not accepted upstream; pass the variant URN instead. Paged via offset/limit. Signature: find_variant(variant, gene_symbol=, only_current=, enrich=, limit=, offset=, response_mode=).
Find ONE variant across EVERY MaveDB score set — the same variant's functional measurements wherever it was assayed (the cross-dataset rollup for 'every assay that measured this variant'). Pass variant= in ANY form (auto-detected): a VRS id (ga4gh:VA…), a variant URN ('urn:mavedb:…-a-1#2', resolved to its VRS internally so you do NOT map it first — chain straight from get_variant_score), or a bare HGVS string (+ optional gene_symbol=), resolved to its VRS internally — no map-first round-trip. Each hit carries its score_set_urn, variant_urn, ClinGen Allele ID, and (when enrich=true, default) the score + calibrated classifications. ClinGen Allele IDs are not accepted upstream; pass the variant URN instead. Paged via offset/limit. Signature: find_variant(variant, gene_symbol=, only_current=, enrich=, limit=, offset=, response_mode=).
Input parameters
enrich(boolean) — Attach each hit's score + classifications (default true).gene_symbol(any) — HGNC gene symbol that scopes an hgvs= lookup (required when the HGVS is not in the mirror and must be resolved live). Ignored unless hgvs= is set. `gene` is accepted as a compatibility alias.limit(integer) — Max cross-dataset hits (default 25).offset(integer) — Rows to skip for forward paging (default 0).only_current(boolean) — Keep only current genome mappings (default true).response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).variant(string) [required] — The variant to look up, in ANY of three forms (auto-detected): a GA4GH VRS allele id ('ga4gh:VA…'), a full variant URN ('urn:mavedb:00000001-a-1#2'), or a bare HGVS string ('p.Asp2723His', 'NM_000059.4:c.8167G>A' — pass gene_symbol= alongside so it can resolve). vrs_id/variant_urn/hgvs are accepted as aliases.
get_hgvs_validationValidate an HGVS variant string against MaveDB's validator. Returns {variant, valid, message}: a valid string -> valid=true; a parseable-but-wrong one -> valid=false WITH the upstream reason (e.g. reference-base disagreement, missing transcript accession) so you can fix it before a lookup fails. Not a normalizer. Signature: get_hgvs_validation(variant, response_mode=).
Validate an HGVS variant string against MaveDB's validator. Returns {variant, valid, message}: a valid string -> valid=true; a parseable-but-wrong one -> valid=false WITH the upstream reason (e.g. reference-base disagreement, missing transcript accession) so you can fix it before a lookup fails. Not a normalizer. Signature: get_hgvs_validation(variant, response_mode=).
Input parameters
response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).variant(string) [required] — An HGVS string (accession-prefixed recommended).
get_classified_variantsReturn a score set's variants grouped into a calibrated functional class — e.g. every 'abnormal' (PS3) or 'normal' (BS3) variant — without paging the whole table. Resolves the primary calibration (or a given calibration_urn); filter with classification=abnormal|normal|not_specified (omit for all). Each variant carries its score, HGVS, class label, and ACMG criterion. Paged via offset/limit. Signature: get_classified_variants(urn, classification=, calibration_urn=, limit=, offset=, response_mode=).
Return a score set's variants grouped into a calibrated functional class — e.g. every 'abnormal' (PS3) or 'normal' (BS3) variant — without paging the whole table. Resolves the primary calibration (or a given calibration_urn); filter with classification=abnormal|normal|not_specified (omit for all). Each variant carries its score, HGVS, class label, and ACMG criterion. Paged via offset/limit. Signature: get_classified_variants(urn, classification=, calibration_urn=, limit=, offset=, response_mode=).
Input parameters
calibration_urn(any) — A specific calibration URN; omit to use the primary calibration.classification(any) — Filter to one functional class (omit for all).limit(integer) — Max variants (default 100).offset(integer) — Rows to skip for forward paging (default 0).response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).urn(string) [required] — A MaveDB score-set URN that carries a functional-classification calibration ('urn:mavedb:00000013-a-1'). Uncalibrated sets yield not_found -- confirm via get_score_set (score_calibrations present).
Database & release provenance
- Data mode
external-reference- Attestation
- attested-reference
- Data release tag
data-2026-06-24- Release version
v0.5.6
sha256:30b2b4fdbdff9a1a2e9f13e9f7de072a22ff07e70dea5d45eba297a5b9a5155aghcr.io/berntpopp/mavedb-link@sha256:b44082ff3ae18415c61fdc07c9d5e41b0e07b22de38c2ad7d68d04490fd20b79Review 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 MaveDB response.