calculate_descriptors
Compute molecular descriptors and fingerprints for chemical compounds using PubChem CID and descriptor type options. Analyze properties, topological features, and 3D structures for chemical data insights.
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 handler function that implements the core logic for the 'calculate_descriptors' tool. It currently returns a placeholder response indicating the feature 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)Tool registration in the ListTools response, defining name, description, and 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/registration in the main CallToolRequestSchema switch statement, routing to the specific handler.case 'calculate_descriptors': return await this.handleCalculateDescriptors(args);