Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

alphafold-database

AlphaFoldデータベースに収録された2億件以上のAI予測タンパク質構造にアクセスできるスキルです。UniProt IDによる構造の検索・取得、PDB/mmCIFファイルのダウンロード、信頼性指標(pLDDT、PAE)の解析が可能で、創薬研究や構造生物学に活用できます。

description の原文を見る

Access AlphaFold's 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.

SKILL.md 本文

AlphaFold Database

Overview

AlphaFold DB は DeepMind と EMBL-EBI により保守される、200 百万以上のタンパク質に関する AI 予測 3D 構造の公開リポジトリです。信頼度メトリクス付きの構造予測にアクセスでき、座標ファイルをダウンロードでき、大規模データセットを取得でき、計算ワークフローに予測を統合できます。

このスキルを使用する場合

このスキルは以下のようなシナリオで AI 予測タンパク質構造を扱う場合に使用すべきです:

  • UniProt ID またはタンパク質名によるタンパク質構造予測の取得
  • 構造解析用の PDB/mmCIF 座標ファイルのダウンロード
  • 信頼度メトリクス (pLDDT、PAE) の解析による信頼性の評価
  • Google Cloud Platform 経由での大規模プロテオーム データセットへのアクセス
  • 予測構造と実験データの比較
  • 構造ベースの創薬またはタンパク質工学の実施
  • 実験構造が存在しないタンパク質の構造モデル構築
  • AlphaFold 予測を計算パイプラインに統合

主な機能

1. 予測の検索と取得

Biopython の使用 (推奨):

Biopython ライブラリは AlphaFold 構造を取得するための最もシンプルなインターフェースを提供します:

from Bio.PDB import alphafold_db

# UniProt アクセッション番号のすべての予測を取得
predictions = list(alphafold_db.get_predictions("P00520"))

# 構造ファイルをダウンロード (mmCIF 形式)
for prediction in predictions:
    cif_file = alphafold_db.download_cif_for(prediction, directory="./structures")
    print(f"Downloaded: {cif_file}")

# Structure オブジェクトを直接取得
from Bio.PDB import MMCIFParser
structures = list(alphafold_db.get_structural_models_for("P00520"))

API への直接アクセス:

REST エンドポイントを使用して予測をクエリできます:

import requests

# UniProt アクセッション番号の予測メタデータを取得
uniprot_id = "P00520"
api_url = f"https://alphafold.ebi.ac.uk/api/prediction/{uniprot_id}"
response = requests.get(api_url)
prediction_data = response.json()

# AlphaFold ID を抽出
alphafold_id = prediction_data[0]['entryId']
print(f"AlphaFold ID: {alphafold_id}")

UniProt を使用したアクセッション番号の検索:

タンパク質アクセッション番号を最初に見つけるために UniProt を検索します:

import urllib.parse, urllib.request

def get_uniprot_ids(query, query_type='PDB_ID'):
    """UniProt をクエリしてアクセッション ID を取得"""
    url = 'https://www.uniprot.org/uploadlists/'
    params = {
        'from': query_type,
        'to': 'ACC',
        'format': 'txt',
        'query': query
    }
    data = urllib.parse.urlencode(params).encode('ascii')
    with urllib.request.urlopen(urllib.request.Request(url, data)) as response:
        return response.read().decode('utf-8').splitlines()

# 例: タンパク質名の UniProt ID を検索
protein_ids = get_uniprot_ids("hemoglobin", query_type="GENE_NAME")

2. 構造ファイルのダウンロード

AlphaFold は各予測に複数のファイル形式を提供します:

利用可能なファイルタイプ:

  • Model coordinates (model_v4.cif): mmCIF/PDBx 形式の原子座標
  • Confidence scores (confidence_v4.json): 残基ごとの pLDDT スコア (0-100)
  • Predicted Aligned Error (predicted_aligned_error_v4.json): 残基ペア信頼度の PAE マトリックス

ダウンロード URL:

import requests

alphafold_id = "AF-P00520-F1"
version = "v4"

# モデル座標 (mmCIF)
model_url = f"https://alphafold.ebi.ac.uk/files/{alphafold_id}-model_{version}.cif"
response = requests.get(model_url)
with open(f"{alphafold_id}.cif", "w") as f:
    f.write(response.text)

# 信頼度スコア (JSON)
confidence_url = f"https://alphafold.ebi.ac.uk/files/{alphafold_id}-confidence_{version}.json"
response = requests.get(confidence_url)
confidence_data = response.json()

# Predicted Aligned Error (JSON)
pae_url = f"https://alphafold.ebi.ac.uk/files/{alphafold_id}-predicted_aligned_error_{version}.json"
response = requests.get(pae_url)
pae_data = response.json()

PDB 形式 (代替方法):

# mmCIF の代わりに PDB 形式でダウンロード
pdb_url = f"https://alphafold.ebi.ac.uk/files/{alphafold_id}-model_{version}.pdb"
response = requests.get(pdb_url)
with open(f"{alphafold_id}.pdb", "wb") as f:
    f.write(response.content)

3. 信頼度メトリクスの処理

AlphaFold 予測には解釈に不可欠な信頼度推定値が含まれています:

pLDDT (残基ごとの信頼度):

import json
import requests

# 信頼度スコアを読み込む
alphafold_id = "AF-P00520-F1"
confidence_url = f"https://alphafold.ebi.ac.uk/files/{alphafold_id}-confidence_v4.json"
confidence = requests.get(confidence_url).json()

# pLDDT スコアを抽出
plddt_scores = confidence['confidenceScore']

# 信頼度レベルの解釈
# pLDDT > 90: 非常に高い信頼度
# pLDDT 70-90: 高い信頼度
# pLDDT 50-70: 低い信頼度
# pLDDT < 50: 非常に低い信頼度

high_confidence_residues = [i for i, score in enumerate(plddt_scores) if score > 90]
print(f"High confidence residues: {len(high_confidence_residues)}/{len(plddt_scores)}")

PAE (Predicted Aligned Error):

PAE は相対的なドメイン位置の信頼度を示します:

import numpy as np
import matplotlib.pyplot as plt

# PAE マトリックスを読み込む
pae_url = f"https://alphafold.ebi.ac.uk/files/{alphafold_id}-predicted_aligned_error_v4.json"
pae = requests.get(pae_url).json()

# PAE マトリックスを可視化
pae_matrix = np.array(pae['distance'])
plt.figure(figsize=(10, 8))
plt.imshow(pae_matrix, cmap='viridis_r', vmin=0, vmax=30)
plt.colorbar(label='PAE (Å)')
plt.title(f'Predicted Aligned Error: {alphafold_id}')
plt.xlabel('Residue')
plt.ylabel('Residue')
plt.savefig(f'{alphafold_id}_pae.png', dpi=300, bbox_inches='tight')

# 低い PAE 値 (<5 Å) は信頼度の高い相対位置を示唆
# 高い PAE 値 (>15 Å) は不確実なドメイン配置を示唆

4. Google Cloud 経由での大規模データアクセス

大規模解析の場合、Google Cloud データセットを使用します:

Google Cloud Storage:

# gsutil をインストール
uv pip install gsutil

# 利用可能なデータをリスト表示
gsutil ls gs://public-datasets-deepmind-alphafold-v4/

# 完全なプロテオームをダウンロード (分類学 ID 別)
gsutil -m cp gs://public-datasets-deepmind-alphafold-v4/proteomes/proteome-tax_id-9606-*.tar .

# 特定のファイルをダウンロード
gsutil cp gs://public-datasets-deepmind-alphafold-v4/accession_ids.csv .

BigQuery メタデータアクセス:

from google.cloud import bigquery

# クライアントを初期化
client = bigquery.Client()

# メタデータをクエリ
query = """
SELECT
  entryId,
  uniprotAccession,
  organismScientificName,
  globalMetricValue,
  fractionPlddtVeryHigh
FROM `bigquery-public-data.deepmind_alphafold.metadata`
WHERE organismScientificName = 'Homo sapiens'
  AND fractionPlddtVeryHigh > 0.8
LIMIT 100
"""

results = client.query(query).to_dataframe()
print(f"Found {len(results)} high-confidence human proteins")

種別によるダウンロード:

import subprocess

def download_proteome(taxonomy_id, output_dir="./proteomes"):
    """種のすべての AlphaFold 予測をダウンロード"""
    pattern = f"gs://public-datasets-deepmind-alphafold-v4/proteomes/proteome-tax_id-{taxonomy_id}-*_v4.tar"
    cmd = f"gsutil -m cp {pattern} {output_dir}/"
    subprocess.run(cmd, shell=True, check=True)

# 大腸菌プロテオームをダウンロード (分類学 ID: 83333)
download_proteome(83333)

# ヒトプロテオームをダウンロード (分類学 ID: 9606)
download_proteome(9606)

5. 構造の解析と分析

ダウンロードした AlphaFold 構造を BioPython で処理します:

from Bio.PDB import MMCIFParser, PDBIO
import numpy as np

# mmCIF ファイルをパース
parser = MMCIFParser(QUIET=True)
structure = parser.get_structure("protein", "AF-P00520-F1-model_v4.cif")

# 座標を抽出
coords = []
for model in structure:
    for chain in model:
        for residue in chain:
            if 'CA' in residue:  # アルファ炭素のみ
                coords.append(residue['CA'].get_coord())

coords = np.array(coords)
print(f"Structure has {len(coords)} residues")

# 距離を計算
from scipy.spatial.distance import pdist, squareform
distance_matrix = squareform(pdist(coords))

# 接触を特定 (< 8 Å)
contacts = np.where((distance_matrix > 0) & (distance_matrix < 8))
print(f"Number of contacts: {len(contacts[0]) // 2}")

B-factor (pLDDT 値) を抽出:

AlphaFold は pLDDT スコアを B-factor 列に格納します:

from Bio.PDB import MMCIFParser

parser = MMCIFParser(QUIET=True)
structure = parser.get_structure("protein", "AF-P00520-F1-model_v4.cif")

# B-factor から pLDDT を抽出
plddt_scores = []
for model in structure:
    for chain in model:
        for residue in chain:
            if 'CA' in residue:
                plddt_scores.append(residue['CA'].get_bfactor())

# 高信頼度領域を特定
high_conf_regions = [(i, score) for i, score in enumerate(plddt_scores, 1) if score > 90]
print(f"High confidence residues: {len(high_conf_regions)}")

6. 複数タンパク質のバッチ処理

複数の予測を効率的に処理します:

from Bio.PDB import alphafold_db
import pandas as pd

uniprot_ids = ["P00520", "P12931", "P04637"]  # 複数のタンパク質
results = []

for uniprot_id in uniprot_ids:
    try:
        # 予測を取得
        predictions = list(alphafold_db.get_predictions(uniprot_id))

        if predictions:
            pred = predictions[0]

            # 構造をダウンロード
            cif_file = alphafold_db.download_cif_for(pred, directory="./batch_structures")

            # 信頼度データを取得
            alphafold_id = pred['entryId']
            conf_url = f"https://alphafold.ebi.ac.uk/files/{alphafold_id}-confidence_v4.json"
            conf_data = requests.get(conf_url).json()

            # 統計量を計算
            plddt_scores = conf_data['confidenceScore']
            avg_plddt = np.mean(plddt_scores)
            high_conf_fraction = sum(1 for s in plddt_scores if s > 90) / len(plddt_scores)

            results.append({
                'uniprot_id': uniprot_id,
                'alphafold_id': alphafold_id,
                'avg_plddt': avg_plddt,
                'high_conf_fraction': high_conf_fraction,
                'length': len(plddt_scores)
            })
    except Exception as e:
        print(f"Error processing {uniprot_id}: {e}")

# サマリー DataFrame を作成
df = pd.DataFrame(results)
print(df)

インストールとセットアップ

Python ライブラリ

# 構造アクセス用に Biopython をインストール
uv pip install biopython

# API アクセス用に requests をインストール
uv pip install requests

# 可視化と分析用
uv pip install numpy matplotlib pandas scipy

# Google Cloud アクセス用 (オプション)
uv pip install google-cloud-bigquery gsutil

3D-Beacons API の代替

AlphaFold は 3D-Beacons フェデレーション API でもアクセスできます:

import requests

# 3D-Beacons 経由でクエリ
uniprot_id = "P00520"
url = f"https://www.ebi.ac.uk/pdbe/pdbe-kb/3dbeacons/api/uniprot/summary/{uniprot_id}.json"
response = requests.get(url)
data = response.json()

# AlphaFold 構造をフィルタリング
af_structures = [s for s in data['structures'] if s['provider'] == 'AlphaFold DB']

一般的な用途

構造プロテオミクス

  • 完全なプロテオーム予測をダウンロードして解析
  • タンパク質全体にわたる高信頼度構造領域を特定
  • 予測構造と実験データを比較
  • タンパク質ファミリーの構造モデルを構築

創薬

  • ドッキング研究用の標的タンパク質構造を取得
  • 結合部位の配置を解析
  • 予測構造内のドラッグ可能なポケットを特定
  • ホモログ間で構造を比較

タンパク質工学

  • pLDDT を使用して安定/不安定領域を特定
  • 高信頼度領域での変異設計
  • PAE を使用してドメイン構造を解析
  • タンパク質変異体と変異をモデル化

進化研究

  • 種を超えたオルソログ構造を比較
  • 構造的特徴の保存を解析
  • ドメイン進化パターンを研究
  • 機能的に重要な領域を特定

重要な概念

UniProt アクセッション: タンパク質の主要識別子 (例: "P00520")。AlphaFold DB のクエリに必要です。

AlphaFold ID: 内部識別子形式: AF-[UniProt accession]-F[fragment number] (例: "AF-P00520-F1")。

pLDDT (predicted Local Distance Difference Test): 残基ごとの信頼度メトリクス (0-100)。値が高いほど予測の信頼度が高いことを示します。

PAE (Predicted Aligned Error): 残基ペア間の相対位置の信頼度を示すマトリックス。低い値 (<5 Å) は信頼度の高い相対位置を示唆します。

データベースバージョン: 現在のバージョンは v4 です。ファイル URL にはバージョンサフィックスが含まれます (例: model_v4.cif)。

フラグメント番号: 大きなタンパク質はフラグメントに分割される場合があります。フラグメント番号は AlphaFold ID に表示されます (例: F1、F2)。

信頼度解釈ガイドライン

pLDDT 閾値:

  • >90: 非常に高い信頼度 - 詳細な解析に適している
  • 70-90: 高い信頼度 - 一般に信頼性の高いバックボーン構造
  • 50-70: 低い信頼度 - 慎重に使用、柔軟な領域
  • <50: 非常に低い信頼度 - おそらく無秩序またはそれほど信頼性なし

PAE ガイドライン:

  • <5 Å: ドメインの相対位置を確信的に配置
  • 5-10 Å: 配置の信頼度が中程度
  • >15 Å: 相対位置が不確実、ドメインは可動的である可能性

資料

references/api_reference.md

以下をカバーする包括的な API ドキュメント:

  • 完全な REST API エンドポイント仕様
  • ファイル形式の詳細とデータスキーマ
  • Google Cloud データセットの構造とアクセスパターン
  • 高度なクエリ例とバッチ処理戦略
  • レート制限、キャッシング、およびベストプラクティス
  • 一般的な問題のトラブルシューティング

詳細な API 情報、大規模ダウンロード戦略、または大規模データセット処理時はこのリファレンスを参照してください。

重要な注意事項

データの使用と表記

  • AlphaFold DB は CC-BY-4.0 ライセンスで自由に利用可能です
  • 引用: Jumper et al. (2021) Nature および Varadi et al. (2022) Nucleic Acids Research
  • 予測は計算モデルであり、実験構造ではありません
  • ダウンローム解析の前に必ず信頼度メトリクスを評価してください

バージョン管理

  • 現在のデータベースバージョン: v4 (2024-2025 現在)
  • ファイル URL にはバージョンサフィックスが含まれます (例: _v4.cif)
  • 定期的にデータベース更新を確認してください
  • 古いバージョンは時間経過とともに廃止される場合があります

データ品質に関する考慮事項

  • 高い pLDDT は機能的正確性を保証しません
  • 低信頼度領域は生体内で無秩序である可能性があります
  • PAE は相対的なドメイン信頼度を示し、絶対位置ではありません
  • 予測はリガンド、翻訳後修飾、および補因子を含みません
  • マルチチェーン複合体は予測されません (単一チェーンのみ)

パフォーマンスのヒント

  • 単一タンパク質へのアクセスには Biopython を使用してください
  • 大規模ダウンロードには Google Cloud を使用してください (個別ファイルより高速)
  • ダウンロードしたファイルをローカルにキャッシュして重複ダウンロードを避けてください
  • BigQuery 無料ティア: 月 1 TB の処理データ
  • 大規模ダウンロードのネットワーク帯域幅を考慮してください

その他の資料

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
davila7
リポジトリ
davila7/claude-code-templates
ライセンス
MIT
最終更新
不明

Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: davila7 · davila7/claude-code-templates · ライセンス: MIT