mcpField
P
pdb-database

pdb-database

github.com/jackspaceデータ・データベース1636 回インストール12 週間前に更新
リポジトリ

pdb-database について

PDB Database は、構造生物学、創薬、タンパク質工学の研究者向けに、RCSB PDB の生体高分子構造へアクセスするスキルです。テキスト、属性、配列、構造類似性で検索でき、メタデータ取得や一括処理にも対応します。

主な機能

  1. 01テキストや属性による構造検索
  2. 02配列・構造類似性検索
  3. 03構造メタデータと品質指標の取得
  4. 04複数形式の構造ファイルのダウンロード
  5. 05複数構造エントリーの一括処理

活用シーン

  1. 01創薬標的の構造検索
  2. 02モデリング用の相同構造の探索
  3. 03タンパク質・リガンド複合体の比較
  4. 04計算解析向け構造データの取得

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jackspace/claudeskillz --skill pdb-database

インストール後、Claude Code で/pdb-databaseを入力して読み込まれたか確認します。

同梱ファイルSKILL.json

詳細

PDB データベース

概要

RCSB PDB は、生体高分子の 3D 構造データを集めた世界的なリポジトリです。構造の検索、座標とメタデータの取得、20 万を超える実験的に決定された構造および計算モデルを対象とした配列および構造の類似性検索を実行できます。

このスキルを使用するタイミング

このスキルは、次のような場合に使用します:

  • テキスト、配列、または構造の類似性によりタンパク質や核酸の 3D 構造を検索する場合
  • PDB、mmCIF、BinaryCIF 形式の座標ファイルをダウンロードする場合
  • 構造メタデータ、実験手法、品質指標を取得する場合
  • 複数の構造に対してバッチ処理を実行する場合
  • 創薬、タンパク質工学、構造生物学研究のための計算ワークフローに PDB データを統合する場合

主な機能

1. 構造の検索

さまざまな検索条件を使用して PDB エントリを見つけます:

テキスト検索: タンパク質名、キーワード、または説明で検索します

from rcsbapi.search import TextQuery
query = TextQuery("hemoglobin")
results = list(query())
print(f"Found {len(results)} structures")

属性検索: 特定のプロパティ(生物種、分解能、手法など)を照会します

from rcsbapi.search import AttributeQuery
from rcsbapi.search.attrs import rcsb_entity_source_organism

# Find human protein structures
query = AttributeQuery(
    attribute=rcsb_entity_source_organism.scientific_name,
    operator="exact_match",
    value="Homo sapiens"
)
results = list(query())

配列類似性: 与えられた配列に類似した構造を見つけます

from rcsbapi.search import SequenceQuery

query = SequenceQuery(
    value="MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAGQEEYSAMRDQYMRTGEGFLCVFAINNTKSFEDIHHYREQIKRVKDSEDVPMVLVGNKCDLPSRTVDTKQAQDLARSYGIPFIETSAKTRQGVDDAFYTLVREIRKHKEKMSKDGKKKKKKSKTKCVIM",
    evalue_cutoff=0.1,
    identity_cutoff=0.9
)
results = list(query())

構造類似性: 類似した 3D 形状を持つ構造を見つけます

from rcsbapi.search import StructSimilarityQuery

query = StructSimilarityQuery(
    structure_search_type="entry",
    entry_id="4HHB"  # Hemoglobin
)
results = list(query())

クエリの組み合わせ: 論理演算子を使用して複雑な検索を構築します

from rcsbapi.search import TextQuery, AttributeQuery
from rcsbapi.search.attrs import rcsb_entry_info

# High-resolution human proteins
query1 = AttributeQuery(
    attribute=rcsb_entity_source_organism.scientific_name,
    operator="exact_match",
    value="Homo sapiens"
)
query2 = AttributeQuery(
    attribute=rcsb_entry_info.resolution_combined,
    operator="less",
    value=2.0
)
combined_query = query1 & query2  # AND operation
results = list(combined_query())
2. 構造データの取得

特定の PDB エントリに関する詳細情報にアクセスします:

基本的なエントリ情報:

from rcsbapi.data import Schema, fetch

# Get entry-level data
entry_data = fetch("4HHB", schema=Schema.ENTRY)
print(entry_data["struct"]["title"])
print(entry_data["exptl"][0]["method"])

ポリマーエンティティ情報:

# Get protein/nucleic acid information
entity_data = fetch("4HHB_1", schema=Schema.POLYMER_ENTITY)
print(entity_data["entity_poly"]["pdbx_seq_one_letter_code"])

柔軟なクエリのための GraphQL の使用:

from rcsbapi.data import fetch

# Custom GraphQL query
query = """
{
  entry(entry_id: "4HHB") {
    struct {
      title
    }
    exptl {
      method
    }
    rcsb_entry_info {
      resolution_combined
      deposited_atom_count
    }
  }
}
"""
data = fetch(query_type="graphql", query=query)
3. 構造ファイルのダウンロード

さまざまな形式で座標ファイルを取得します:

ダウンロード方法:

  • PDB 形式(従来のテキスト形式): https://files.rcsb.org/download/{PDB_ID}.pdb
  • mmCIF 形式(現在の標準): https://files.rcsb.org/download/{PDB_ID}.cif
  • BinaryCIF(圧縮バイナリ): 効率的にアクセスするには ModelServer API を使用します
  • 生物学的アセンブリ: https://files.rcsb.org/download/{PDB_ID}.pdb1(アセンブリ 1 の場合)

ダウンロードの例:

import requests

pdb_id = "4HHB"

# Download PDB format
pdb_url = f"https://files.rcsb.org/download/{pdb_id}.pdb"
response = requests.get(pdb_url)
with open(f"{pdb_id}.pdb", "w") as f:
    f.write(response.text)

# Download mmCIF format
cif_url = f"https://files.rcsb.org/download/{pdb_id}.cif"
response = requests.get(cif_url)
with open(f"{pdb_id}.cif", "w") as f:
    f.write(response.text)
4. 構造データの操作

取得した構造に対する一般的な操作:

座標の解析と分析: ダウンロードしたファイルを扱うには、BioPython などの構造生物学ライブラリを使用します:

from Bio.PDB import PDBParser

parser = PDBParser()
structure = parser.get_structure("protein", "4HHB.pdb")

# Iterate through atoms
for model in structure:
    for chain in model:
        for residue in chain:
            for atom in residue:
                print(atom.get_coord())

メタデータの抽出:

from rcsbapi.data import fetch, Schema

# Get experimental details
data = fetch("4HHB", schema=Schema.ENTRY)

resolution = data.get("rcsb_entry_info", {}).get("resolution_combined")
method = data.get("exptl", [{}])[0].get("method")
deposition_date = data.get("rcsb_accession_info", {}).get("deposit_date")

print(f"Resolution: {resolution} Å")
print(f"Method: {method}")
print(f"Deposited: {deposition_date}")
5. バッチ操作

複数の構造を効率的に処理します:

from rcsbapi.data import fetch, Schema

pdb_ids = ["4HHB", "1MBN", "1GZX"]  # Hemoglobin, myoglobin, etc.

results = {}
for pdb_id in pdb_ids:
    try:
        data = fetch(pdb_id, schema=Schema.ENTRY)
        results[pdb_id] = {
            "title": data["struct"]["title"],
            "resolution": data.get("rcsb_entry_info", {}).get("resolution_combined"),
            "organism": data.get("rcsb_entity_source_organism", [{}])[0].get("scientific_name")
        }
    except Exception as e:
        print(f"Error fetching {pdb_id}: {e}")

# Display results
for pdb_id, info in results.items():
    print(f"\n{pdb_id}: {info['title']}")
    print(f"  Resolution: {info['resolution']} Å")
    print(f"  Organism: {info['organism']}")

Python パッケージのインストール

公式の RCSB PDB Python API クライアントをインストールします:

# Current recommended package
pip install rcsb-api

# For legacy code (deprecated, use rcsb-api instead)
pip install rcsbsearchapi

rcsb-api パッケージは、rcsbapi.search および rcsbapi.data モジュールを通じて、Search API と Data API の両方に統合されたアクセスを提供します。

一般的なユースケース

創薬
  • 創薬標的の構造を検索する
  • リガンド結合部位を分析する
  • タンパク質とリガンドの複合体を比較する
  • 類似した結合ポケットを特定する
タンパク質工学
  • モデリングのために相同な構造を見つける
  • 配列と構造の関係を分析する
  • 変異体の構造を比較する
  • タンパク質の安定性とダイナミクスを調べる
構造生物学研究
  • 計算解析のために構造をダウンロードする
  • 構造ベースのアラインメントを構築する
  • 構造的特徴(二次構造、ドメイン)を分析する
  • 実験手法と品質指標を比較する
教育と可視化
  • 授業用に構造を取得する
  • 分子の可視化を生成する
  • 構造と機能の関係を調べる
  • 進化的保存性を調べる

主要な概念

PDB ID: 各構造エントリに固有の 4 文字の識別子です(例: "4HHB")。AlphaFold および ModelArchive のエントリは、"AF_" または "MA_" の接頭辞で始まります。

mmCIF/PDBx: キーと値の構造を用いる現代的なファイル形式で、大規模な構造について従来の PDB 形式に取って代わります。

生物学的アセンブリ: 生体高分子の機能的な形態であり、非対称単位からの鎖の複数のコピーを含む場合があります。

分解能: 結晶構造の詳細度を示す指標です(値が小さいほど詳細度が高い)。高品質な構造の典型的な範囲は 1.5~3.5 Å です。

エンティティ: 構造内の固有の分子構成要素です(タンパク質鎖、DNA、リガンドなど)。

リソース

このスキルには、references/ ディレクトリに参照用ドキュメントが含まれています。

references/api_reference.md

以下を扱う包括的な API ドキュメントです。

  • 詳細な API エンドポイントの仕様
  • 高度なクエリパターンと例
  • データスキーマのリファレンス
  • レート制限とベストプラクティス
  • よくある問題のトラブルシューティング

API の機能、複雑なクエリの構築、または詳細なデータスキーマ情報について詳しく知りたい場合は、このリファレンスを使用してください。

追加リソース

コメント