molecular-descriptors-calculation

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

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/SpectrAI-Initiative/InnoClaw/main/.claude/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

seawater-sound-speed-calculation

370
from SpectrAI-Initiative/InnoClaw

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

protein-properties-calculation

370
from SpectrAI-Initiative/InnoClaw

Calculate comprehensive protein sequence properties including isoelectric point, molecular weight, hydrophobicity, and physicochemical parameters.

peptide-properties-calculation

370
from SpectrAI-Initiative/InnoClaw

Calculate peptide sequence properties including molecular weight, isoelectric point, extinction coefficient, and chemical formula.

optical-frequency-calculation

370
from SpectrAI-Initiative/InnoClaw

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

molecular_visualization_suite

370
from SpectrAI-Initiative/InnoClaw

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_fingerprint_analysis

370
from SpectrAI-Initiative/InnoClaw

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).

molecular_docking_pipeline

370
from SpectrAI-Initiative/InnoClaw

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-similarity-search

370
from SpectrAI-Initiative/InnoClaw

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

molecular-property-profiling

370
from SpectrAI-Initiative/InnoClaw

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

molecular-properties-calculation

370
from SpectrAI-Initiative/InnoClaw

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

molecular-format-conversion

370
from SpectrAI-Initiative/InnoClaw

Convert between molecular formats including SMILES, InChI, InChIKey, and SELFIES for cheminformatics applications.

material-density-volume-calculation

370
from SpectrAI-Initiative/InnoClaw

Calculate material density and volume from mass and geometric dimensions for materials mechanics analysis.