🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

ChEMBL Query

by @hollyya

Query ChEMBL database for bioactivity data on drug-like compounds. Use this skill when: (1) Finding compounds active against a protein target (target-based s...

Versionv1.0.0
Downloads553
TERMINAL
clawhub install chembl-query

πŸ“– About This Skill


name: chembl-query description: > Query ChEMBL database for bioactivity data on drug-like compounds. Use this skill when: (1) Finding compounds active against a protein target (target-based search), (2) Getting bioactivity profile for a molecule (molecule-based search), (3) Finding drugs for a disease indication (indication-based search). license: MIT category: knowledge-retrieval tags: [chembl, bioactivity, drug-discovery, target, indication]

ChEMBL Query

Query ChEMBL database for bioactivity data on drug-like compounds.

When to Use

  • Find compounds active against a protein target (target-based search)
  • Get bioactivity profile for a molecule (molecule-based search)
  • Find drugs for a disease indication (indication-based search)
  • Workflow

    Use Case 1: Target-Based Compound Search

    Find compounds with activity against a protein target.

    from open_biomed.tools.tool_registry import TOOLS

    tool = TOOLS["chembl_query"]

    Search by target name

    results, _ = tool.run( query_type="target", target_name="EGFR", standard_type="IC50", standard_value_lte=100, # nM limit=20 )

    Or search by UniProt ID

    results, _ = tool.run( query_type="target", uniprot_id="P00533", standard_type="IC50", limit=20 )

    Use Case 2: Molecule Bioactivity Profile

    Get all known targets and activity data for a compound.

    # Search by molecule name
    results, _ = tool.run(
        query_type="molecule",
        molecule_name="imatinib",
        limit=50
    )

    Or search by SMILES

    results, _ = tool.run( query_type="molecule", smiles="CC(=O)Oc1ccccc1C(=O)O", limit=20 )

    Or search by ChEMBL ID

    results, _ = tool.run( query_type="molecule", chembl_id="CHEMBL25", limit=20 )

    Use Case 3: Disease/Indication-Based Drug Search

    Find drugs studied for a specific disease.

    # Find all drugs for diabetes
    results, _ = tool.run(
        query_type="indication",
        disease="diabetes",
        limit=50
    )

    Filter for approved drugs only (max_phase=4)

    results, _ = tool.run( query_type="indication", disease="diabetes", max_phase=4, # Approved drugs only limit=20 )

    Expected Outputs

    | Query Type | Output Fields | |------------|---------------| | Target | molecule_chembl_id, molecule_name, target_chembl_id, target_name, standard_type, standard_value, standard_units, pchembl_value | | Molecule | molecule_chembl_id, molecule_name, target_chembl_id, target_name, target_organism, standard_type, standard_value, standard_units, pchembl_value | | Indication | molecule_chembl_id, molecule_name, indication, max_phase_for_ind, phase_description |

    Score Interpretation

    Activity Values

    | pChEMBL Value | IC50/Ki Approx | Interpretation | |---------------|----------------|----------------| | > 9 | < 1 nM | Extremely potent | | 8-9 | 1-10 nM | Very potent | | 7-8 | 10-100 nM | Potent | | 6-7 | 100 nM - 1 uM | Moderately active | | 5-6 | 1-10 uM | Weakly active | | < 5 | > 10 uM | Inactive |

    Clinical Phase

    | Phase | Description | |-------|-------------| | 0 | Preclinical | | 1 | Phase I (safety) | | 2 | Phase II (efficacy) | | 3 | Phase III (large-scale) | | 4 | Approved |

    Parameters

    | Parameter | Type | Description | |-----------|------|-------------| | query_type | str | "target", "molecule", or "indication" | | target_name | str | Target name (e.g., "EGFR", "BACE1") | | uniprot_id | str | UniProt accession (e.g., "P00533") | | molecule_name | str | Molecule name (e.g., "aspirin") | | smiles | str | SMILES string | | chembl_id | str | ChEMBL ID (e.g., "CHEMBL25") | | disease | str | Disease name (e.g., "diabetes") | | standard_type | str | Activity type (e.g., "IC50", "Ki", "EC50") | | standard_value_lte | float | Max activity value (nM) | | max_phase | int | Minimum clinical phase (0-4) | | limit | int | Max results (default: 50) |

    Error Handling

    | Error | Solution | |-------|----------| | Target not found | Try alternative names or UniProt ID | | No activity data | Target may not have curated bioactivity data | | Molecule not found | Verify SMILES or try molecule name | | No indication results | Try simpler disease terms (e.g., "neoplasm" instead of "cancer") | | Timeout | Reduce limit parameter |

    Available Tools

    | Tool Name | Purpose | |-----------|---------| | chembl_query | Unified ChEMBL query interface |

    See examples/basic_example.py for complete runnable examples.

    ⚑ When to Use

    TriggerAction
    - Get bioactivity profile for a molecule (molecule-based search)
    - Find drugs for a disease indication (indication-based search)