🎯

tooluniverse-chemical-compound-retrieval

🎯Skill

from mims-harvard/tooluniverse

VibeIndex|
What it does

Retrieves comprehensive chemical compound data from PubChem and ChEMBL, providing detailed profiles with identifiers, properties, and bioactivity information.

πŸ“¦

Part of

mims-harvard/tooluniverse(19 items)

tooluniverse-chemical-compound-retrieval

Installation

Quick InstallInstall with npx
npx skills add mims-harvard/ToolUniverse
pip installInstall Python package
pip install tooluniverse
Claude CLIAdd MCP server via Claude CLI
claude mcp add --transport stdio tooluniverse -- tooluniverse-smcp-stdio --compact-mode
pip installInstall Python package
pip install tooluniverse[client] # Minimal installation
Server ConfigurationMCP server configuration block
{ "mcpServers": { "tooluniverse": { "command": "uvx", "args": ...
πŸ“– Extracted from docs: mims-harvard/tooluniverse
8Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Retrieves chemical compound information from PubChem and ChEMBL with disambiguation, cross-referencing, and quality assessment. Creates comprehensive compound profiles with identifiers, properties, bioactivity, and drug information. Use when users need chemical data, drug information, or mention PubChem CID, ChEMBL ID, SMILES, InChI, or compound names.

Overview

# Chemical Compound Information Retrieval

Retrieve comprehensive chemical compound data with proper disambiguation and cross-database validation.

Workflow Overview

```

Phase 0: Clarify (if needed)

↓

Phase 1: Disambiguate Compound Identity

↓

Phase 2: Retrieve Data (Internal)

↓

Phase 3: Report Compound Profile

```

---

Phase 0: Clarification (When Needed)

Ask the user ONLY if:

  • Compound name is highly ambiguous (e.g., "vitamin E" β†’ Ξ±, Ξ², Ξ³, Ξ΄-tocopherol?)
  • Multiple distinct compounds share the name (e.g., "aspirin" is clear; "sterol" is not)

Skip clarification for:

  • Unambiguous drug names (aspirin, ibuprofen, metformin)
  • Specific identifiers provided (CID, ChEMBL ID, SMILES)
  • Clear structural queries (SMILES, InChI)

---

Phase 1: Compound Disambiguation

1.1 Resolve Primary Identifier

```python

from tooluniverse import ToolUniverse

tu = ToolUniverse()

tu.load_tools()

# Strategy depends on input type

if user_provided_cid:

cid = user_provided_cid

elif user_provided_smiles:

result = tu.tools.PubChem_get_CID_by_SMILES(smiles=smiles)

cid = result["data"]["cid"]

elif user_provided_name:

result = tu.tools.PubChem_get_CID_by_compound_name(compound_name=name)

cid = result["data"]["cid"]

```

1.2 Cross-Reference Identifiers

Always establish compound identity across both databases:

```python

# PubChem β†’ ChEMBL cross-reference

chembl_result = tu.tools.ChEMBL_search_compounds(query=compound_name, limit=5)

if chembl_result["data"]:

chembl_id = chembl_result["data"][0]["molecule_chembl_id"]

```

1.3 Handle Naming Collisions

For generic names (e.g., "vitamin", "steroid", "acid"):

  • Search returns multiple CIDs β†’ present top matches with structures
  • Verify SMILES/InChI matches user intent
  • Note stereoisomers or salt forms if relevant

Identity Resolution Checklist:

  • [ ] PubChem CID established
  • [ ] ChEMBL ID cross-referenced (if exists)
  • [ ] Canonical SMILES captured
  • [ ] Stereochemistry noted (if relevant)
  • [ ] Salt forms identified (if applicable)

---

Phase 2: Data Retrieval (Internal)

Retrieve all data silently. Do NOT narrate the search process.

2.1 Core Properties (PubChem)

```python

# Basic properties

props = tu.tools.PubChem_get_compound_properties_by_CID(cid=cid)

# Bioactivity summary

bio = tu.tools.PubChem_get_bioactivity_summary_by_CID(cid=cid)

# Drug label (if approved drug)

drug = tu.tools.PubChem_get_drug_label_info_by_CID(cid=cid)

# Structure image

image = tu.tools.PubChem_get_compound_2D_image_by_CID(cid=cid)

```

2.2 Bioactivity Data (ChEMBL)

```python

if chembl_id:

# Detailed bioactivity

activity = tu.tools.ChEMBL_get_bioactivity_by_chemblid(chembl_id=chembl_id)

# Protein targets

targets = tu.tools.ChEMBL_get_target_by_chemblid(chembl_id=chembl_id)

# Assay data

assays = tu.tools.ChEMBL_get_assays_by_chemblid(chembl_id=chembl_id)

```

2.3 Optional Extended Data

```python

# Patents (for drugs)

patents = tu.tools.PubChem_get_associated_patents_by_CID(cid=cid)

# Similar compounds (for SAR)

similar = tu.tools.PubChem_search_compounds_by_similarity(cid=cid, threshold=85)

```

Fallback Chains

| Primary | Fallback | Notes |

|---------|----------|-------|

| PubChem_get_CID_by_compound_name | ChEMBL_search_compounds β†’ get SMILES β†’ PubChem_get_CID_by_SMILES | Name lookup failed |

| ChEMBL_get_bioactivity | PubChem_get_bioactivity_summary | ChEMBL ID unavailable |

| PubChem_get_drug_label_info | Note "Drug label unavailable" | Not an approved drug |

---

Phase 3: Report Compound Profile

Output Structure

Present results as a Compound Profile Report. Hide all search process details.

```markdown

# Compound Profile: [Compound Name]

Identity

| Property | Value |

|----------|-------|

| PubChem CID | [cid] |

| ChEMBL ID | [chembl_id or "N/A"] |

| IUPAC Name | [full name] |

| Common Names | [synonyms] |

Chemical Properties

Molecular Descriptors

| Property | Value | Drug-Likeness |

|----------|-------|---------------|

| Formula | C₉Hβ‚ˆOβ‚„ | - |

| Molecular Weight | 180.16 g/mol | βœ“ (<500) |

| LogP | 1.19 | βœ“ (-2 to 5) |

| H-Bond Donors | 1 | βœ“ (<5) |

| H-Bond Acceptors | 4 | βœ“ (<10) |

| Polar Surface Area | 63.6 Γ…Β² | βœ“ (<140) |

| Rotatable Bonds | 3 | βœ“ (<10) |

Structural Representation

  • SMILES: CC(=O)Oc1ccccc1C(=O)O
  • InChI: InChI=1S/C9H8O4/...

[2D structure image if available]

Bioactivity Profile

Summary

  • Active in: [X] assays out of [Y] tested
  • Primary Targets: [list top targets]
  • Mechanism: [if known]

Key Target Interactions (from ChEMBL)

| Target | Activity Type | Value | Units |

|--------|--------------|-------|-------|

| [Target 1] | IC50 | [value] | nM |

| [Target 2] | Ki | [value] | nM |

Drug Information (if applicable)

Clinical Status

| Property | Value |

|----------|-------|

| Approval Status | [Approved/Investigational/N/A] |

| Drug Class | [therapeutic class] |

| Indication | [approved uses] |

| Route | [oral/IV/topical/etc.] |

Safety

  • Black Box Warning: [Yes/No]
  • Major Interactions: [if any]

Related Compounds (if retrieved)

Top 5 structurally similar compounds:

| CID | Name | Similarity | Key Difference |

|-----|------|------------|----------------|

| [cid] | [name] | 95% | [note] |

Data Sources

  • PubChem: [CID link]
  • ChEMBL: [ChEMBL ID link]
  • Retrieved: [date]

```

---

Data Quality Tiers

Apply to data completeness and reliability assessment:

Data Completeness

| Tier | Symbol | Criteria |

|------|--------|----------|

| Complete | ●●● | All core properties + bioactivity + drug info |

| Substantial | ●●○ | Core properties + bioactivity OR drug info |

| Basic | ●○○ | Core properties only |

| Minimal | β—‹β—‹β—‹ | CID/name only, limited data |

Data Reliability (Aligned with Research Skill Evidence Tiers)

| Tier | Symbol | Data Source | Reliability |

|------|--------|-------------|-------------|

| T1 | β˜…β˜…β˜… | Experimental measurement (PubChem curated, ChEMBL assay) | High confidence |

| T2 | β˜…β˜…β˜† | Calculated/validated (computed but validated against experimental) | Good confidence |

| T3 | β˜…β˜†β˜† | Predicted (ADMET-AI, computed without validation) | Use with caution |

| T4 | β˜†β˜†β˜† | Estimated/inferred (text-mined, database propagated) | Verify before use |

Include in report header:

```markdown

Data Completeness: ●●● Complete (properties, bioactivity, drug data)

Data Reliability: Properties β˜…β˜…β˜… (experimental), Bioactivity β˜…β˜…β˜… (ChEMBL assays)

```

Apply Reliability Tiers to Properties

```markdown

Molecular Properties

| Property | Value | Reliability | Source |

|----------|-------|-------------|--------|

| Molecular Weight | 180.16 g/mol | β˜…β˜…β˜… | PubChem (calculated) |

| LogP (experimental) | 1.19 | β˜…β˜…β˜… | Measured |

| LogP (predicted) | 1.24 | β˜…β˜…β˜† | ADMET-AI |

| Solubility | 4.6 mg/mL | β˜…β˜…β˜… | Experimental |

| Solubility (pred) | ~5 mg/mL | β˜…β˜†β˜† | ADMET-AI prediction |

```

---

Completeness Checklist

Every compound profile MUST include these sections (even if "unavailable"):

Identity (Required)

  • [ ] PubChem CID
  • [ ] ChEMBL ID (or "N/A")
  • [ ] IUPAC name
  • [ ] Canonical SMILES

Properties (Required)

  • [ ] Molecular formula
  • [ ] Molecular weight
  • [ ] LogP
  • [ ] Lipinski rule assessment

Bioactivity (Required)

  • [ ] Activity summary (or "No bioactivity data")
  • [ ] Primary targets (or "Unknown")

Drug Info (If Approved Drug)

  • [ ] Approval status
  • [ ] Indication
  • [ ] Drug class

Always Include

  • [ ] Data sources with links
  • [ ] Retrieval date
  • [ ] Quality tier assessment

---

Common Use Cases

Drug Property Check

User: "Tell me about metformin"

β†’ Full compound profile with drug information emphasis

Structure Verification

User: "Verify this SMILES: CC(=O)Oc1ccccc1C(=O)O"

β†’ Disambiguation-focused profile, confirm identity

SAR Analysis

User: "Find compounds similar to ibuprofen"

β†’ Similarity search + comparative property table

Target Identification

User: "What proteins does gefitinib target?"

β†’ ChEMBL bioactivity emphasis with target list

---

Error Handling

| Error | Response |

|-------|----------|

| "Compound not found" | Try synonyms, verify spelling, offer SMILES search |

| "No ChEMBL ID" | Note in Identity section, continue with PubChem data |

| "No bioactivity data" | Include section with "No bioactivity screening data available" |

| "API timeout" | Retry once, note unavailable data with "(retrieval failed)" |

---

Tool Reference

PubChem (Chemical Database)

| Tool | Purpose |

|------|---------|

| PubChem_get_CID_by_compound_name | Name β†’ CID |

| PubChem_get_CID_by_SMILES | Structure β†’ CID |

| PubChem_get_compound_properties_by_CID | Molecular properties |

| PubChem_get_compound_2D_image_by_CID | Structure visualization |

| PubChem_get_bioactivity_summary_by_CID | Activity overview |

| PubChem_get_drug_label_info_by_CID | FDA drug labels |

| PubChem_get_associated_patents_by_CID | IP information |

| PubChem_search_compounds_by_similarity | Find analogs |

| PubChem_search_compounds_by_substructure | Substructure search |

ChEMBL (Bioactivity Database)

| Tool | Purpose |

|------|---------|

| ChEMBL_search_compounds | Name/structure search |

| ChEMBL_get_compound_by_chemblid | Compound details |

| ChEMBL_get_bioactivity_by_chemblid | Activity data |

| ChEMBL_get_target_by_chemblid | Protein targets |

| ChEMBL_search_targets | Target search |

| ChEMBL_get_assays_by_chemblid | Assay metadata |

More from this repository10

🎯
tooluniverse-literature-deep-research🎯Skill

Performs comprehensive literature research with target disambiguation, evidence grading, and structured theme extraction for thorough scientific investigations.

🎯
tooluniverse-protein-structure-retrieval🎯Skill

Retrieves protein structure data from various databases and provides detailed structural information for scientific research and analysis.

🎯
tooluniverse-sequence-retrieval🎯Skill

Retrieves biological sequences from NCBI and ENA with precise gene disambiguation, accession handling, and comprehensive sequence metadata.

🎯
tooluniverse-sdk🎯Skill

Enables programmatic access to 1000+ scientific tools for building AI-powered research workflows, data analysis, and computational biology tasks.

🎯
tooluniverse-disease-research🎯Skill

Researches and provides comprehensive insights into diseases, symptoms, treatments, and medical research using advanced AI analysis.

🎯
tooluniverse-expression-data-retrieval🎯Skill

Retrieves comprehensive gene expression and multi-omics datasets from ArrayExpress and BioStudies with intelligent gene disambiguation and quality assessment.

🎯
tooluniverse-target-research🎯Skill

Performs targeted research by systematically exploring and analyzing information sources to gather comprehensive insights on a specific topic or research question.

🎯
devtu-optimize-skills🎯Skill

Streamlines developer tool skill optimization by analyzing performance, identifying bottlenecks, and recommending targeted improvements for code efficiency.

🎯
devtu-optimize-descriptions🎯Skill

Optimizes tool descriptions in ToolUniverse JSON configs by reviewing and enhancing clarity, prerequisites, parameter guidance, and usage examples.

🎯
devtu-create-tool🎯Skill

Generates scientific tool classes and configurations for ToolUniverse framework, ensuring proper structure, validation, and automated wrapper creation.