Skip to main content
Glama
shukwong
by shukwong

get_coverage

Retrieve genomic coverage data for a specific gene using Ensembl ID or gene symbol, with support for custom datasets and reference genomes.

Instructions

Get coverage information for a gene

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
datasetNoDataset IDgnomad_r4
gene_idNoEnsembl gene ID
gene_symbolNoGene symbol
reference_genomeNoReference genomeGRCh38

Implementation Reference

  • Handler logic for the 'get_coverage' tool within the CallToolRequestSchema handler. Validates input (requires gene_id or gene_symbol), executes GraphQL query via makeGraphQLRequest, and formats the coverage response.
    case "get_coverage": if (!args.gene_id && !args.gene_symbol) { throw new Error("Either gene_id or gene_symbol must be provided"); } result = await makeGraphQLRequest(QUERIES.getCoverage, { geneId: (args.gene_id as string) || null, geneSymbol: (args.gene_symbol as string) || null, datasetId: parseDatasetId((args.dataset as string) || "gnomad_r4"), referenceGenome: parseReferenceGenome((args.reference_genome as string) || "GRCh38"), }); formattedResult = result.data?.gene?.coverage || null; break;
  • src/index.ts:558-584 (registration)
    Tool registration in ListToolsRequestSchema response, defining name, description, and input schema for 'get_coverage'.
    { name: "get_coverage", description: "Get coverage information for a gene", inputSchema: { type: "object", properties: { gene_id: { type: "string", description: "Ensembl gene ID", }, gene_symbol: { type: "string", description: "Gene symbol", }, dataset: { type: "string", description: "Dataset ID", default: "gnomad_r4", }, reference_genome: { type: "string", description: "Reference genome", default: "GRCh38", }, }, }, },
  • GraphQL query schema (QUERIES.getCoverage) used by the handler to fetch exome and genome coverage metrics for a gene.
    getCoverage: ` query GetCoverage($geneId: String, $geneSymbol: String, $datasetId: DatasetId!, $referenceGenome: ReferenceGenomeId!) { gene(gene_id: $geneId, gene_symbol: $geneSymbol, reference_genome: $referenceGenome) { coverage(dataset: $datasetId) { exome { pos mean median over_1 over_5 over_10 over_15 over_20 over_25 over_30 over_50 over_100 } genome { pos mean median over_1 over_5 over_10 over_15 over_20 over_25 over_30 over_50 over_100 } } } } `,
  • Shared helper function makeGraphQLRequest used by the get_coverage handler to execute the GraphQL query against the gnomAD API.
    async function makeGraphQLRequest(query: string, variables: Record<string, any> = {}): Promise<GnomadResponse> { const response: Response = await fetch(GNOMAD_API_URL, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ query, variables, }), }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return await response.json() as GnomadResponse; }

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shukwong/gnomad-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server