get_ontology_stats
Retrieve detailed statistics on Gene Ontology (GO) terms, including counts and recent updates, by querying specific ontologies or obtaining overall data for comprehensive analysis.
Instructions
Get statistics about GO ontologies (term counts, recent updates)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ontology | No | Specific ontology or "all" for overall stats |
Implementation Reference
- src/index.ts:558-616 (handler)The handler function that implements the core logic for 'get_ontology_stats'. It returns static JSON statistics about Gene Ontology categories, sources, approximate term counts, and evidence codes, with error handling.private async handleGetOntologyStats(args: any) { try { const stats = { ontology: args.ontology || 'all', last_updated: new Date().toISOString().split('T')[0], note: 'Statistics are approximate and may vary based on data access methods', sources: { quickgo: 'https://www.ebi.ac.uk/QuickGO/', go_consortium: 'https://geneontology.org/', amigo: 'http://amigo.geneontology.org/' }, approximate_counts: { molecular_function: { description: 'Molecular activities of gene products', estimated_terms: '~11,000', root_term: 'GO:0003674' }, biological_process: { description: 'Larger processes accomplished by multiple molecular activities', estimated_terms: '~30,000', root_term: 'GO:0008150' }, cellular_component: { description: 'Locations relative to cellular structures', estimated_terms: '~4,000', root_term: 'GO:0005575' } }, evidence_codes: { experimental: ['EXP', 'IDA', 'IPI', 'IMP', 'IGI', 'IEP'], high_throughput: ['HTP', 'HDA', 'HMP', 'HGI', 'HEP'], computational: ['IBA', 'IBD', 'IKR', 'IRD', 'ISS', 'ISO', 'ISA', 'ISM', 'IGC', 'RCA'], author_statement: ['TAS', 'NAS'], curator_statement: ['IC', 'ND'], electronic: ['IEA'] } }; return { content: [ { type: 'text', text: JSON.stringify(stats, null, 2), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting ontology stats: ${error instanceof Error ? error.message : 'Unknown error'}`, }, ], isError: true, }; } }
- src/index.ts:328-334 (schema)Input schema for the get_ontology_stats tool, defining optional 'ontology' parameter.inputSchema: { type: 'object', properties: { ontology: { type: 'string', description: 'Specific ontology or "all" for overall stats' }, }, required: [], },
- src/index.ts:325-335 (registration)Tool registration entry in server.setTools(), including name, description, and input schema.{ name: 'get_ontology_stats', description: 'Get statistics about GO ontologies (term counts, recent updates)', inputSchema: { type: 'object', properties: { ontology: { type: 'string', description: 'Specific ontology or "all" for overall stats' }, }, required: [], }, },
- src/index.ts:349-350 (registration)Dispatch case in the request handler switch statement that routes calls to the handler function.case 'get_ontology_stats': return this.handleGetOntologyStats(args);