alterlab-pubchem について
alterlab-pubchemは、化学・創薬研究向けのPubChem検索スキルです。識別子や構造から化合物を検索し、物性、生物活性、注釈を取得できます。
主な機能
- 01名前、CID、SMILESなどで検索
- 02分子物性と同義語の取得
- 03類似構造・部分構造検索
- 04化学識別子形式の変換
- 05生物活性と注釈の照会
活用シーン
- 01候補化合物のスクリーニングと物性比較
- 02構造の関連化合物の検索
- 03スクリーニングアッセイの生物活性確認
- 04化合物データの一括処理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-pubchemインストール後、Claude Code で/alterlab-pubchemを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/api_reference.mdbest_practices.mdcapabilities.mdhelper_scripts.mdworkflows.mdscripts/bioactivity_query.pycompound_search.py詳細
PubChem データベース
概要
PubChem は世界最大の無料で利用できる化学データベースです。PubChem 2025 アップデート(Kim et al.、NAR 2025)によると、1億1,900万件以上の化合物、3億2,200万件以上の物質、2億9,500万件以上の生物活性データを収録しています。PUG-REST API と PubChemPy を使って、名称、CID、SMILES で化学構造を検索し、分子特性を取得したり、類似性検索や部分構造検索を実行したり、生物活性データにアクセスしたりできます。
このスキルを使用する場面
以下の場合にこのスキルを使用してください。
- 化合物を名称、構造(SMILES/InChI)、または分子式で検索する場合
- 分子特性(MW、LogP、TPSA、水素結合記述子)を取得する場合
- 類似性検索を実行して、構造的に関連する化合物を見つける場合
- 特定の化学モチーフを対象に部分構造検索を行う場合
- スクリーニングアッセイの生物活性データにアクセスする場合
- 化学識別子の形式(CID、SMILES、InChI)を相互変換する場合
- ドラッグライクネスのスクリーニングや特性分析のため、複数の化合物を一括処理する場合
対象外
| シナリオ | 代わりに使用 |
|---|---|
| 標的やメディシナルケミストリー系列の精選された力価データ(IC50/Ki) | alterlab-chembl |
| 独自の分子に対する記述子やフィンガープリントをローカルで計算する場合 | alterlab-rdkit |
| ヒト代謝物濃度、生体液、バイオマーカーのエビデンス | alterlab-hmdb |
| 医薬品の薬理作用、相互作用、承認情報 | alterlab-drugbank |
| バーチャルスクリーニング向けの購入可能な化合物ライブラリ | alterlab-zinc-db |
主な機能
PubChem へのアクセスは、9 つの機能領域に分かれています。各機能のすぐに使えるコードスニペットは
references/capabilities.md にあります。
- 化学構造検索 — 名称、CID、SMILES、InChI、または分子式で検索します。
- 特性の取得 — 分子特性を単一、指定リスト、または一括で取得します。
- 類似性検索 — しきい値/MaxRecords を指定した Tanimoto 類似性検索を行います。
- 部分構造検索 — 構造モチーフを含む化合物を検索します。
- 形式変換 — CID/SMILES/InChI/InChIKey の変換と構造ファイルのダウンロードを行います。
- 構造の可視化 — PubChemPy または直接 URL を使って 2D PNG 画像を取得します。
- 同義語の取得 — 化合物について知られているすべての名称を取得します。
- 生物活性データへのアクセス — PUG-REST とヘルパースクリプトを使ってアッセイの概要を取得します。
- 包括的な注釈 — PUG-View の全レコード(特性、医薬品情報、安全性、毒性)を取得します。
基本的なワークフロー
標準的なエントリーポイントでは、識別子から化合物を特定し、その後に特性を取得します。
import pubchempy as pcp
compound = pcp.get_compounds('aspirin', 'name')[0]
print(compound.cid, compound.molecular_formula, compound.molecular_weight)
print(compound.smiles, compound.xlogp, compound.tpsa)
繰り返しクエリする場合は、名称や構造よりも CID を優先してください(より効率的です)。類似性検索と部分構造検索は非同期で実行され、15~30 秒かかる場合があります。PubChemPy は自動的にポーリングします。PUG-REST が HTTP 503(PUGREST.ServerBusy)を返すのは、制限を超えた場合と PubChem 自体が過負荷の場合の両方です。X-Throttling-Control レスポンスヘッダーを確認し、すぐに再試行するのではなく、待機時間を設けてください。レート制限とエラー処理については references/best_practices.md を参照してください。
インストール要件
uv pip install 'pubchempy>=1.0.5' # Python-based access (1.0.5 = current SMILES property names)
uv pip install requests # direct API / bioactivity queries
uv pip install pandas # optional, for data analysis
SMILES のプロパティ名(PubChem は 2025 年に変更しました): PUG-REST の CanonicalSMILES と IsomericSMILES プロパティは非推奨です。SMILES(立体化学/同位体情報を含む完全な SMILES。IsomericSMILES の代替)と ConnectivitySMILES(接続情報のみ。CanonicalSMILES の代替)を使用してください。PubChemPy 1.0.5 で対応する Compound 属性は compound.smiles と compound.connectivity_smiles です(以前の canonical_smiles/isomeric_smiles 属性も引き続き使用できますが、非推奨です)。
ヘルパースクリプト
このスキルには、scripts/ 以下に 2 つの Python ヘルパースクリプトが含まれています。
scripts/compound_search.py— 検索、特性の取得、類似性/部分構造検索、同義語、一括検索、構造のダウンロードを行います。scripts/bioactivity_query.py— バイオアッセイの概要、標的の特定、標的ベースの化合物検索、PUG-View の注釈を提供します。
関数の一覧と使用方法については、references/helper_scripts.md を参照してください。
リファレンス一覧
references/api_reference.md— PUG-REST エンドポイントの完全なドキュメント、分子特性の全リスト、非同期リクエストの処理、PubChemPy API、PUG-View API、公式ドキュメントへのリンク。references/capabilities.md— 9 つすべての機能領域でそのままコピーして使えるコード。references/workflows.md— エンドツーエンドのワークフロー 5 件(識別子の変換、創薬適性のスクリーニング、類似候補の検索、特性の一括比較、部分構造のバーチャルスクリーニング)。references/helper_scripts.md— 2 つのヘルパースクリプトの関数一覧と使用方法。references/best_practices.md— レート制限、ベストプラクティス、エラー処理、トラブルシューティング、その他のリソース。