chembl-database
Query ChEMBL's bioactive molecules and drug discovery data. Search compounds by structure/properties, retrieve bioactivity data (IC50, Ki), find inhibitors, perform SAR studies, for medicinal chemistry.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o chembl-database.zip https://jpskill.com/download/18357.zip && unzip -o chembl-database.zip && rm chembl-database.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18357.zip -OutFile "$d\chembl-database.zip"; Expand-Archive "$d\chembl-database.zip" -DestinationPath $d -Force; ri "$d\chembl-database.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
chembl-database.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
chembl-databaseフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 3
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
ChEMBL Database
概要
ChEMBLは、欧州バイオインフォマティクス研究所(EBI)が管理する、生物活性分子の手動キュレーションデータベースです。200万を超える化合物、1900万件の生物活性測定、13,000以上の創薬ターゲット、承認済み医薬品および臨床候補に関するデータが含まれています。創薬および医薬品化学研究のために、ChEMBL Pythonクライアントを使用して、このデータにプログラムでアクセスし、クエリを実行します。
このSkillを使用する場面
このSkillは、以下の場合に使用する必要があります。
- 化合物検索: 名前、構造、または特性による分子の検索
- ターゲット情報: タンパク質、酵素、または生物学的ターゲットに関するデータの取得
- 生物活性データ: IC50、Ki、EC50、またはその他の活性測定のクエリ
- 医薬品情報: 承認済み医薬品、作用機序、または適応症の検索
- 構造検索: 類似性検索または部分構造検索の実行
- ケモインフォマティクス: 分子特性と薬物らしさの分析
- ターゲット-リガンド関係: 化合物-ターゲット相互作用の探索
- 創薬: 阻害剤、アゴニスト、または生物活性分子の特定
インストールとセットアップ
Pythonクライアント
プログラムによるアクセスには、ChEMBL Pythonクライアントが必要です。
uv pip install chembl_webresource_client
基本的な使用パターン
from chembl_webresource_client.new_client import new_client
# さまざまなエンドポイントへのアクセス
molecule = new_client.molecule
target = new_client.target
activity = new_client.activity
drug = new_client.drug
主要な機能
1. 分子クエリ
ChEMBL IDによる取得:
molecule = new_client.molecule
aspirin = molecule.get('CHEMBL25')
名前による検索:
results = molecule.filter(pref_name__icontains='aspirin')
特性によるフィルタリング:
# 有利なLogPを持つ低分子(MW <= 500)を検索
results = molecule.filter(
molecule_properties__mw_freebase__lte=500,
molecule_properties__alogp__lte=5
)
2. ターゲットクエリ
ターゲット情報の取得:
target = new_client.target
egfr = target.get('CHEMBL203')
特定のターゲットタイプの検索:
# すべてのキナーゼターゲットを検索
kinases = target.filter(
target_type='SINGLE PROTEIN',
pref_name__icontains='kinase'
)
3. 生物活性データ
ターゲットに対する活性のクエリ:
activity = new_client.activity
# 強力なEGFR阻害剤を検索
results = activity.filter(
target_chembl_id='CHEMBL203',
standard_type='IC50',
standard_value__lte=100,
standard_units='nM'
)
化合物に対するすべての活性を取得:
compound_activities = activity.filter(
molecule_chembl_id='CHEMBL25',
pchembl_value__isnull=False
)
4. 構造ベースの検索
類似性検索:
similarity = new_client.similarity
# アスピリンに類似した化合物を検索
similar = similarity.filter(
smiles='CC(=O)Oc1ccccc1C(=O)O',
similarity=85 # 85%の類似性閾値
)
部分構造検索:
substructure = new_client.substructure
# ベンゼン環を含む化合物を検索
results = substructure.filter(smiles='c1ccccc1')
5. 医薬品情報
医薬品データの取得:
drug = new_client.drug
drug_info = drug.get('CHEMBL25')
作用機序の取得:
mechanism = new_client.mechanism
mechanisms = mechanism.filter(molecule_chembl_id='CHEMBL25')
医薬品の適応症のクエリ:
drug_indication = new_client.drug_indication
indications = drug_indication.filter(molecule_chembl_id='CHEMBL25')
クエリワークフロー
ワークフロー1: ターゲットに対する阻害剤の検索
-
名前で検索してターゲットを特定します。
targets = new_client.target.filter(pref_name__icontains='EGFR') target_id = targets[0]['target_chembl_id'] -
そのターゲットの生物活性データをクエリします。
activities = new_client.activity.filter( target_chembl_id=target_id, standard_type='IC50', standard_value__lte=100 ) -
化合物IDを抽出し、詳細を取得します。
compound_ids = [act['molecule_chembl_id'] for act in activities] compounds = [new_client.molecule.get(cid) for cid in compound_ids]
ワークフロー2: 既知の医薬品の分析
-
医薬品情報を取得します。
drug_info = new_client.drug.get('CHEMBL1234') -
作用機序を取得します。
mechanisms = new_client.mechanism.filter(molecule_chembl_id='CHEMBL1234') -
すべての生物活性を検索します。
activities = new_client.activity.filter(molecule_chembl_id='CHEMBL1234')
ワークフロー3: 構造活性相関(SAR)研究
-
類似化合物を検索します。
similar = new_client.similarity.filter(smiles='query_smiles', similarity=80) -
各化合物の活性を取得します。
for compound in similar: activities = new_client.activity.filter( molecule_chembl_id=compound['molecule_chembl_id'] ) -
結果から得られた分子特性を使用して、特性-活性相関を分析します。
フィルター演算子
ChEMBLは、Djangoスタイルのクエリフィルターをサポートしています。
__exact- 完全一致__iexact- 大文字と小文字を区別しない完全一致__contains/__icontains- 部分文字列一致__startswith/__endswith- プレフィックス/サフィックス一致__gt,__gte,__lt,__lte- 数値比較__range- 範囲内の値__in- リスト内の値__isnull- Null/非Nullチェック
データのエクスポートと分析
分析のために、結果をpandas DataFrameに変換します。
import pandas as pd
activities = new_client.activity.filter(target_chembl_id='CHEMBL203')
df = pd.DataFrame(list(activities))
# 結果の分析
print(df['standard_value'].describe())
print(df.groupby('standard_type').size())
パフォーマンスの最適化
キャッシュ
クライアントは、結果を自動的に24時間キャッシュします。キャッシュを設定します。
from chembl_webresource_client.settings import S 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
ChEMBL Database
Overview
ChEMBL is a manually curated database of bioactive molecules maintained by the European Bioinformatics Institute (EBI), containing over 2 million compounds, 19 million bioactivity measurements, 13,000+ drug targets, and data on approved drugs and clinical candidates. Access and query this data programmatically using the ChEMBL Python client for drug discovery and medicinal chemistry research.
When to Use This Skill
This skill should be used when:
- Compound searches: Finding molecules by name, structure, or properties
- Target information: Retrieving data about proteins, enzymes, or biological targets
- Bioactivity data: Querying IC50, Ki, EC50, or other activity measurements
- Drug information: Looking up approved drugs, mechanisms, or indications
- Structure searches: Performing similarity or substructure searches
- Cheminformatics: Analyzing molecular properties and drug-likeness
- Target-ligand relationships: Exploring compound-target interactions
- Drug discovery: Identifying inhibitors, agonists, or bioactive molecules
Installation and Setup
Python Client
The ChEMBL Python client is required for programmatic access:
uv pip install chembl_webresource_client
Basic Usage Pattern
from chembl_webresource_client.new_client import new_client
# Access different endpoints
molecule = new_client.molecule
target = new_client.target
activity = new_client.activity
drug = new_client.drug
Core Capabilities
1. Molecule Queries
Retrieve by ChEMBL ID:
molecule = new_client.molecule
aspirin = molecule.get('CHEMBL25')
Search by name:
results = molecule.filter(pref_name__icontains='aspirin')
Filter by properties:
# Find small molecules (MW <= 500) with favorable LogP
results = molecule.filter(
molecule_properties__mw_freebase__lte=500,
molecule_properties__alogp__lte=5
)
2. Target Queries
Retrieve target information:
target = new_client.target
egfr = target.get('CHEMBL203')
Search for specific target types:
# Find all kinase targets
kinases = target.filter(
target_type='SINGLE PROTEIN',
pref_name__icontains='kinase'
)
3. Bioactivity Data
Query activities for a target:
activity = new_client.activity
# Find potent EGFR inhibitors
results = activity.filter(
target_chembl_id='CHEMBL203',
standard_type='IC50',
standard_value__lte=100,
standard_units='nM'
)
Get all activities for a compound:
compound_activities = activity.filter(
molecule_chembl_id='CHEMBL25',
pchembl_value__isnull=False
)
4. Structure-Based Searches
Similarity search:
similarity = new_client.similarity
# Find compounds similar to aspirin
similar = similarity.filter(
smiles='CC(=O)Oc1ccccc1C(=O)O',
similarity=85 # 85% similarity threshold
)
Substructure search:
substructure = new_client.substructure
# Find compounds containing benzene ring
results = substructure.filter(smiles='c1ccccc1')
5. Drug Information
Retrieve drug data:
drug = new_client.drug
drug_info = drug.get('CHEMBL25')
Get mechanisms of action:
mechanism = new_client.mechanism
mechanisms = mechanism.filter(molecule_chembl_id='CHEMBL25')
Query drug indications:
drug_indication = new_client.drug_indication
indications = drug_indication.filter(molecule_chembl_id='CHEMBL25')
Query Workflow
Workflow 1: Finding Inhibitors for a Target
-
Identify the target by searching by name:
targets = new_client.target.filter(pref_name__icontains='EGFR') target_id = targets[0]['target_chembl_id'] -
Query bioactivity data for that target:
activities = new_client.activity.filter( target_chembl_id=target_id, standard_type='IC50', standard_value__lte=100 ) -
Extract compound IDs and retrieve details:
compound_ids = [act['molecule_chembl_id'] for act in activities] compounds = [new_client.molecule.get(cid) for cid in compound_ids]
Workflow 2: Analyzing a Known Drug
-
Get drug information:
drug_info = new_client.drug.get('CHEMBL1234') -
Retrieve mechanisms:
mechanisms = new_client.mechanism.filter(molecule_chembl_id='CHEMBL1234') -
Find all bioactivities:
activities = new_client.activity.filter(molecule_chembl_id='CHEMBL1234')
Workflow 3: Structure-Activity Relationship (SAR) Study
-
Find similar compounds:
similar = new_client.similarity.filter(smiles='query_smiles', similarity=80) -
Get activities for each compound:
for compound in similar: activities = new_client.activity.filter( molecule_chembl_id=compound['molecule_chembl_id'] ) -
Analyze property-activity relationships using molecular properties from results.
Filter Operators
ChEMBL supports Django-style query filters:
__exact- Exact match__iexact- Case-insensitive exact match__contains/__icontains- Substring matching__startswith/__endswith- Prefix/suffix matching__gt,__gte,__lt,__lte- Numeric comparisons__range- Value in range__in- Value in list__isnull- Null/not null check
Data Export and Analysis
Convert results to pandas DataFrame for analysis:
import pandas as pd
activities = new_client.activity.filter(target_chembl_id='CHEMBL203')
df = pd.DataFrame(list(activities))
# Analyze results
print(df['standard_value'].describe())
print(df.groupby('standard_type').size())
Performance Optimization
Caching
The client automatically caches results for 24 hours. Configure caching:
from chembl_webresource_client.settings import Settings
# Disable caching
Settings.Instance().CACHING = False
# Adjust cache expiration (seconds)
Settings.Instance().CACHE_EXPIRE = 86400
Lazy Evaluation
Queries execute only when data is accessed. Convert to list to force execution:
# Query is not executed yet
results = molecule.filter(pref_name__icontains='aspirin')
# Force execution
results_list = list(results)
Pagination
Results are paginated automatically. Iterate through all results:
for activity in new_client.activity.filter(target_chembl_id='CHEMBL203'):
# Process each activity
print(activity['molecule_chembl_id'])
Common Use Cases
Find Kinase Inhibitors
# Identify kinase targets
kinases = new_client.target.filter(
target_type='SINGLE PROTEIN',
pref_name__icontains='kinase'
)
# Get potent inhibitors
for kinase in kinases[:5]: # First 5 kinases
activities = new_client.activity.filter(
target_chembl_id=kinase['target_chembl_id'],
standard_type='IC50',
standard_value__lte=50
)
Explore Drug Repurposing
# Get approved drugs
drugs = new_client.drug.filter()
# For each drug, find all targets
for drug in drugs[:10]:
mechanisms = new_client.mechanism.filter(
molecule_chembl_id=drug['molecule_chembl_id']
)
Virtual Screening
# Find compounds with desired properties
candidates = new_client.molecule.filter(
molecule_properties__mw_freebase__range=[300, 500],
molecule_properties__alogp__lte=5,
molecule_properties__hba__lte=10,
molecule_properties__hbd__lte=5
)
Resources
scripts/example_queries.py
Ready-to-use Python functions demonstrating common ChEMBL query patterns:
get_molecule_info()- Retrieve molecule details by IDsearch_molecules_by_name()- Name-based molecule searchfind_molecules_by_properties()- Property-based filteringget_bioactivity_data()- Query bioactivities for targetsfind_similar_compounds()- Similarity searchingsubstructure_search()- Substructure matchingget_drug_info()- Retrieve drug informationfind_kinase_inhibitors()- Specialized kinase inhibitor searchexport_to_dataframe()- Convert results to pandas DataFrame
Consult this script for implementation details and usage examples.
references/api_reference.md
Comprehensive API documentation including:
- Complete endpoint listing (molecule, target, activity, assay, drug, etc.)
- All filter operators and query patterns
- Molecular properties and bioactivity fields
- Advanced query examples
- Configuration and performance tuning
- Error handling and rate limiting
Refer to this document when detailed API information is needed or when troubleshooting queries.
Important Notes
Data Reliability
- ChEMBL data is manually curated but may contain inconsistencies
- Always check
data_validity_commentfield in activity records - Be aware of
potential_duplicateflags
Units and Standards
- Bioactivity values use standard units (nM, uM, etc.)
pchembl_valueprovides normalized activity (-log scale)- Check
standard_typeto understand measurement type (IC50, Ki, EC50, etc.)
Rate Limiting
- Respect ChEMBL's fair usage policies
- Use caching to minimize repeated requests
- Consider bulk downloads for large datasets
- Avoid hammering the API with rapid consecutive requests
Chemical Structure Formats
- SMILES strings are the primary structure format
- InChI keys available for compounds
- SVG images can be generated via the image endpoint
Additional Resources
- ChEMBL website: https://www.ebi.ac.uk/chembl/
- API documentation: https://www.ebi.ac.uk/chembl/api/data/docs
- Python client GitHub: https://github.com/chembl/chembl_webresource_client
- Interface documentation: https://chembl.gitbook.io/chembl-interface-documentation/
- Example notebooks: https://github.com/chembl/notebooks
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (10,195 bytes)
- 📎 references/api_reference.md (6,879 bytes)
- 📎 scripts/example_queries.py (7,160 bytes)