跳到主要内容
知仓学习社ZHICANG

tooluniverse-chemical-compound-retrieval

Retrieves chemical compound information from PubChem and ChEMBL with disambiguation, cross-referencing, and quality assessment. Creates comprehensiv…

不碰外部(只输出文字)无严重或高危命中FreedomIntelligence/OpenClaw-Medical-Skills

它会碰到什么

扫了多少3 个文本文件,14 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Chemical Compound Information Retrieval

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

IMPORTANT: Always use English compound names and search terms in tool calls, even if the user writes in another language (e.g., translate "阿司匹林" to "aspirin"). Only try original-language terms as a fallback if English returns no results. Respond in the user's language.

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

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:

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

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

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

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

# 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 assessment:

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

Include in report header:

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

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 |

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 3,010
本站分层T1
该仓技能数897
原文件路径skills/tooluniverse-chemical-compound-retrieval/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 897 个技能