calculate_descriptors
Calculate molecular descriptors and fingerprints for PubChem compounds to analyze chemical properties, structural features, and molecular characteristics for research applications.
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 that executes the calculate_descriptors tool logic. Currently implemented as a placeholder that returns a 'not yet implemented' message.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 defining the parameters for the calculate_descriptors tool, including CID (required) and optional 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:516-526 (registration)Registration of the calculate_descriptors tool in the list of available tools returned by ListToolsRequest, including 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)Switch case in the CallToolRequest handler that dispatches execution to the specific handleCalculateDescriptors method.case 'calculate_descriptors': return await this.handleCalculateDescriptors(args);