calculate_descriptors
Compute molecular descriptors and fingerprints for chemical compounds using PubChem data to analyze molecular properties and structure.
Instructions
Calculate comprehensive molecular descriptors and fingerprints
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) | |
| descriptor_type | No | Type of descriptors (default: all) |
Implementation Reference
- src/index.ts:1105-1107 (handler)The main handler function for the 'calculate_descriptors' tool. It currently returns a placeholder message indicating that descriptor calculation is not yet implemented.private async handleCalculateDescriptors(args: any) { return { content: [{ type: 'text', text: JSON.stringify({ message: 'Descriptor calculation not yet implemented', args }, null, 2) }] }; }
- src/index.ts:518-525 (schema)Input schema definition for the 'calculate_descriptors' tool, specifying parameters like CID and descriptor type.inputSchema: { type: 'object', properties: { cid: { type: ['number', 'string'], description: 'PubChem Compound ID (CID)' }, descriptor_type: { type: 'string', enum: ['all', 'basic', 'topological', '3d'], description: 'Type of descriptors (default: all)' }, }, required: ['cid'], },
- src/index.ts:515-526 (registration)Registration of the 'calculate_descriptors' tool in the ListTools response, including name, description, and input schema.{ name: 'calculate_descriptors', description: 'Calculate comprehensive molecular descriptors and fingerprints', inputSchema: { type: 'object', properties: { cid: { type: ['number', 'string'], description: 'PubChem Compound ID (CID)' }, descriptor_type: { type: 'string', enum: ['all', 'basic', 'topological', '3d'], description: 'Type of descriptors (default: all)' }, }, required: ['cid'], }, },
- src/index.ts:768-769 (registration)Dispatch case in the CallToolRequest handler that routes 'calculate_descriptors' calls to the specific handler method.case 'calculate_descriptors': return await this.handleCalculateDescriptors(args);