Chembl Database
Query the ChEMBL database for bioactive molecules, drug targets, bioactivity data...
Install
npx skills add google-deepmind/science-skills --skill chembl-database -g -a claude-code -y- Repository
- google-deepmind/science-skills3.4k
- Category
- Data and ML
- Updated
- 12d ago
- License
- Apache-2.0
- Context cost
- Mediumabout 2,804 tokens
- Runs scripts
- Yes, review before use
What it does
Query the ChEMBL database for bioactive molecules, drug targets, bioactivity data, approved drugs, and chemical structures. Use when the user asks about compounds, targets, IC50/Ki values, drug mechanisms, or structure searches.
ChEMBL Database Query
Prerequisites
uv: Read theuvskill and follow its Setup instructions to ensureuvis installed and on PATH.- User Notification: If .licenses/chembl_database_LICENSE.txt does not already exist in the workspace root directory then (1) prominently notify the user to check the terms at https://chembl.gitbook.io/chembl-interface-documentation/about, then (2) create the file recording the notification text and timestamp.
Core Rules
-
[!IMPORTANT] Use the Utility Scripts: You MUST ALWAYS use the provided utility script
scripts/chembl_api.pyfor all ChEMBL API interactions, including checking status. NEVER usecurlor custom Python requests to query the ChEMBL API directly. This ensures rate limit is enfoced and also retries on network errors. -
Output to File (Required): The
--outputflag is required for every subcommand. All JSON results are written to the specified file. After running the command, read the output file with jq or your own code to extract the data. List results are typically wrapped in a JSON array keyed by the endpoint name (e.g.,molecules,activities). -
Notification: If this skill is used, ensure this is mentioned in the output.
Utility Script
All ChEMBL API queries use one script with subcommands:
uv run scripts/chembl_api.py <subcommand> --output <file> [options]
1. Check API Status
uv run scripts/chembl_api.py status --output /tmp/status.json
2. Molecule Queries
Fetch by ChEMBL ID: bash uv run scripts/chembl_api.py molecule --id CHEMBL25 --output /tmp/mol.json
Search by name: bash uv run scripts/chembl_api.py molecule --search "aspirin" --limit 3 --output /tmp/mol_search.json
