molecular-descriptors-calculation

Calculate advanced molecular descriptors including shape indices, connectivity indices, and structural features for QSAR and drug discovery.

157 stars

Best use case

molecular-descriptors-calculation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Calculate advanced molecular descriptors including shape indices, connectivity indices, and structural features for QSAR and drug discovery.

Teams using molecular-descriptors-calculation should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/molecular-descriptors-calculation/SKILL.md --create-dirs "https://raw.githubusercontent.com/InternScience/DrClaw/main/drclaw/agent_hub/templates/biochemistry/skills/molecular-descriptors-calculation/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/molecular-descriptors-calculation/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How molecular-descriptors-calculation Compares

Feature / Agentmolecular-descriptors-calculationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Calculate advanced molecular descriptors including shape indices, connectivity indices, and structural features for QSAR and drug discovery.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Molecular Descriptors Calculation

## Usage

### 1. MCP Server Definition

Use the same `ChemicalToolsClient` class as defined in the molecular-properties-calculation skill.

### 2. Molecular Descriptors Calculation Workflow

This workflow calculates advanced molecular descriptors used in QSAR modeling, drug discovery, and computational chemistry.

**Workflow Steps:**

1. **Calculate Kappa Shape Indices** - Molecular shape descriptors
2. **Calculate Connectivity Indices** - Topological descriptors
3. **Calculate Structural Features** - Rings, bonds, and functional groups

**Implementation:**

```python
## Initialize client
HEADERS = {"SCP-HUB-API-KEY": "<your-api-key>"}

client = ChemicalToolsClient(
    "https://scp.intern-ai.org.cn/api/v1/mcp/31/SciToolAgent-Chem",
    HEADERS
)

if not await client.connect():
    print("connection failed")
    exit()

## Input: SMILES string to analyze
smiles = "CCO"  # Ethanol
print(f"=== Molecular Descriptors for {smiles} ===\n")

## Step 1: Calculate Kappa shape indices
print("Step 1: Kappa Shape Indices")
for tool in ["GetKappa1", "GetKappa2", "GetKappa3"]:
    result = await client.client.call_tool(
        tool,
        arguments={"smiles": smiles}
    )
    result_data = client.parse_result(result)
    print(f"{tool}: {result_data}")
print()

## Step 2: Calculate Chi connectivity indices
print("Step 2: Chi Connectivity Indices")
for tool in ["GetChi0n", "GetChi0v", "GetChi1n", "GetChi1v"]:
    result = await client.client.call_tool(
        tool,
        arguments={"smiles": smiles}
    )
    result_data = client.parse_result(result)
    print(f"{tool}: {result_data}")
print()

## Step 3: Calculate structural features
print("Step 3: Structural Features")

# Rotatable bonds
result = await client.client.call_tool(
    "GetRotatableBondsNum",
    arguments={"smiles": smiles}
)
print(f"Rotatable bonds: {client.parse_result(result)}")

# Hydrogen bond donors and acceptors
result = await client.client.call_tool(
    "GetHBDNum",
    arguments={"smiles": smiles}
)
print(f"H-bond donors: {client.parse_result(result)}")

result = await client.client.call_tool(
    "GetHBANum",
    arguments={"smiles": smiles}
)
print(f"H-bond acceptors: {client.parse_result(result)}")

# Ring counts
result = await client.client.call_tool(
    "GetRingsNum",
    arguments={"smiles": smiles}
)
print(f"Number of rings: {client.parse_result(result)}")

result = await client.client.call_tool(
    "GetAromaticRingsNum",
    arguments={"smiles": smiles}
)
print(f"Aromatic rings: {client.parse_result(result)}")
print()

## Step 4: Calculate physicochemical descriptors
print("Step 4: Physicochemical Descriptors")

# LogP and molar refractivity (Crippen descriptors)
result = await client.client.call_tool(
    "GetCrippenDescriptors",
    arguments={"smiles": smiles}
)
print(f"Crippen descriptors (LogP, MR): {client.parse_result(result)}")

# Topological polar surface area
result = await client.client.call_tool(
    "CalculateTPSA",
    arguments={"smiles": smiles}
)
print(f"TPSA: {client.parse_result(result)}")

# Fraction of sp3 carbons
result = await client.client.call_tool(
    "GetFractionCSP3",
    arguments={"smiles": smiles}
)
print(f"Fraction sp3 carbons: {client.parse_result(result)}")
print()

await client.disconnect()
```

### Tool Descriptions

**SciToolAgent-Chem Server:**

**Shape Descriptors:**
- `GetKappa1`, `GetKappa2`, `GetKappa3`: Kappa shape indices (molecular shape)

**Connectivity Indices:**
- `GetChi0n`, `GetChi0v`: Zero-order chi indices
- `GetChi1n`, `GetChi1v`: First-order chi indices
- `GetChi2n`, `GetChi2v`: Second-order chi indices
- `GetChi3n`, `GetChi3v`, `GetChi4n`, `GetChi4v`: Higher-order chi indices

**Structural Features:**
- `GetRotatableBondsNum`: Count rotatable bonds (flexibility)
- `GetHBDNum`/`GetHBANum`: Hydrogen bond donors/acceptors
- `GetRingsNum`: Total ring count
- `GetAromaticRingsNum`: Aromatic ring count
- `GetAliphaticRingsNum`: Aliphatic ring count

**Physicochemical Descriptors:**
- `GetCrippenDescriptors`: LogP (lipophilicity) and molar refractivity
- `CalculateTPSA`: Topological polar surface area
- `GetFractionCSP3`: Fraction of sp³ hybridized carbons
- `GetLabuteASA`: Labute accessible surface area

### Input/Output

**Input:**
- `smiles`: Molecule in SMILES format

**Output:**
- **Kappa Indices**: Molecular shape descriptors (1, 2, 3)
- **Chi Indices**: Topological connectivity indices
- **Structural Counts**: Rings, bonds, functional groups
- **LogP**: Lipophilicity (partition coefficient)
- **TPSA**: Topological polar surface area (Ų)
- **Fraction sp³**: Proportion of sp³ carbons (0-1)

### Descriptor Applications

**Kappa Shape Indices**
- κ₁, κ₂, κ₃: Describe molecular shape from linear to spherical
- Used in: QSAR models, molecular shape comparison

**Chi Connectivity Indices**
- Encode information about branching and cyclicity
- Used in: Property prediction, similarity searching

**Structural Features**
- **Rotatable bonds**: Molecular flexibility, bioavailability
- **H-bond donors/acceptors**: Solubility, permeability
- **Rings**: Rigidity, drug-likeness

**Physicochemical Descriptors**
- **LogP**: Lipophilicity, membrane permeability
- **TPSA**: Oral bioavailability, BBB penetration
- **Fraction sp³**: Molecular complexity, drug-likeness

### Drug-Likeness Rules

**Lipinski's Rule of Five:**
- MW ≤ 500 Da
- LogP ≤ 5
- HBD ≤ 5
- HBA ≤ 10

**Veber's Rules (Oral Bioavailability):**
- Rotatable bonds ≤ 10
- TPSA ≤ 140 Ų

**CNS Drug-Likeness:**
- TPSA < 90 Ų (for blood-brain barrier penetration)

### Use Cases

- QSAR model development
- Virtual screening and compound prioritization
- Drug-likeness assessment
- Molecular similarity calculations
- Pharmacokinetic property prediction
- Lead optimization
- Chemical space exploration

### Additional Descriptor Tools

The SciToolAgent-Chem server provides 160+ tools including:
- `GetBCUT`: BCUT descriptors
- `GetAutocorrelation2D`/`GetAutocorrelation3D`: Autocorrelation descriptors
- `GetWHIM`: WHIM descriptors
- `GetGETAWAY`: GETAWAY descriptors
- `GetMORSE`: MORSE descriptors
- `GetRDF`: Radial distribution function
- `GetUSR`/`GetUSRCAT`: Ultrafast shape recognition descriptors

### Performance Notes

- Most descriptor calculations are very fast (<1 second)
- Can batch process multiple molecules
- Descriptors are deterministic (same molecule → same descriptors)

Related Skills

molecular_visualization_suite

157
from InternScience/DrClaw

Molecular Visualization Suite - Visualize molecules: convert SMILES to formats, visualize molecule, visualize protein, visualize complex. Use this skill for chemical visualization tasks involving convert smiles to format visualize molecule visualize protein visualize complex. Combines 4 tools from 1 SCP server(s).

molecular_docking_pipeline

157
from InternScience/DrClaw

Molecular Docking Pipeline - Complete docking workflow: retrieve protein structure, predict binding pockets, prepare receptor, and dock ligand. Use this skill for structural biology tasks involving retrieve protein data by pdbcode run fpocket convert pdb to pdbqt dock quick molecule docking. Combines 4 tools from 2 SCP server(s).

molecular_fingerprint_analysis

157
from InternScience/DrClaw

Molecular Fingerprint Analysis - Fingerprint analysis: topology descriptors, structure complexity, similarity calculation, and AromaticityAnalysis. Use this skill for cheminformatics tasks involving calculate mol topology calculate mol structure complexity calculate smiles similarity AromaticityAnalyzer. Combines 4 tools from 2 SCP server(s).

optical-frequency-calculation

157
from InternScience/DrClaw

Calculate optical frequency and wavelength relationships for photonics and electromagnetic analysis.

geometric-volume-calculation

157
from InternScience/DrClaw

Calculate volumes of geometric shapes for engineering design and mathematical analysis.

capacitance-calculation

157
from InternScience/DrClaw

Calculate electrical capacitance from geometric parameters and dielectric properties for circuit design.

buoyancy-acceleration-calculation

157
from InternScience/DrClaw

Calculate buoyancy forces and acceleration for fluid mechanics and hydrodynamics analysis.

seawater-sound-speed-calculation

157
from InternScience/DrClaw

Calculate sound speed in seawater from practical salinity, temperature, and pressure using the Gibbs Seawater Oceanographic Toolbox.

atmospheric-science-calculations

157
from InternScience/DrClaw

Calculate atmospheric parameters including Coriolis parameter, geostrophic wind, heat index, potential temperature, and dewpoint for meteorology and climate science.

molecular-similarity-search

157
from InternScience/DrClaw

Search for similar molecules using Tanimoto similarity with Morgan fingerprints to identify structurally related compounds.

molecular-property-profiling

157
from InternScience/DrClaw

Comprehensive molecular property analysis covering basic info, hydrophobicity, H-bonding, structural complexity, topology, drug-likeness, charge distribution, and complexity metrics.

molecular-properties-calculation

157
from InternScience/DrClaw

Calculate basic molecular properties from SMILES including molecular weight, formula, atom counts, and exact mass.