foldseek について
Foldseekは、GPUを必要とせず、ローカルまたはWebサーバー経由でタンパク質構造データベースを検索します。構造の類似性や設計の新規性を調べたり、候補となる足場を探したりする研究者向けです。
主な機能
- 01ローカルデータベースで構造検索
- 02Foldseek Webサーバーの利用
- 03PDBやAlphaFold DBなどに対応
- 04表形式の検索結果を出力
活用シーン
- 01タンパク質設計をPDB構造と比較
- 02AlphaFold DBで設計の類似性を確認
- 03モチーフ移植用の足場を検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ adaptyvbio/ protein-design-skills --skill foldseekインストール後、Claude Code で/foldseekを入力して読み込まれたか確認します。
詳細
Foldseek 構造検索
前提条件
| 要件 | 最小 | 推奨 |
|---|---|---|
| Python | 3.8+ | 3.10 |
| RAM | 8GB | 16GB |
| ディスク | 10GB | 50GB(ローカルデータベース用) |
実行方法
注: Foldseek はローカルまたはウェブサーバー経由で実行できます。GPU は不要です。
オプション 1: ウェブサーバー(手軽ですが、レート制限があります。利用は控えめにしてください)
# Upload structure to web server
curl -X POST "https://search.foldseek.com/api/ticket" \
-F "[email protected]" \
-F "database[]=afdb50" \
-F "database[]=pdb100"
オプション 2: ローカルインストール
# Install Foldseek
conda install -c conda-forge -c bioconda foldseek
# Search PDB
foldseek easy-search query.pdb /path/to/pdb100 results.m8 tmp/
# Search AlphaFold DB
foldseek easy-search query.pdb /path/to/afdb50 results.m8 tmp/
オプション 3: Python API
import subprocess
import pandas as pd
def foldseek_search(query_pdb, database, output="results.m8"):
"""Run Foldseek search."""
subprocess.run([
"foldseek", "easy-search",
query_pdb, database, output, "tmp/",
"--format-output", "query,target,pident,alnlen,evalue,bits"
])
return pd.read_csv(output, sep="\t",
names=["query", "target", "pident", "alnlen", "evalue", "bits"])
主なパラメーター
| パラメーター | デフォルト | 説明 |
|---|---|---|
--min-seq-id | 0.0 | 最小配列同一性 |
-e | 0.001 | E 値のしきい値 |
--alignment-type | 2 | 0=3Di、1=TM、2=3Di+AA |
--max-seqs | 1000 | プリフィルターを通過する最大ヒット数。この値を小さくすると感度が低下します |
データベース
| データベース | 説明 | サイズ |
|---|---|---|
pdb100 | PDB 鎖 | 約 340K 構造 |
afdb50 | 配列同一性 50% でクラスタリングされた AlphaFold DB | 約 53M 構造 |
swissprot | SwissProt 構造 | 約 540K 構造 |
cath50 | CATH ドメイン | 約 50K ドメイン |
出力形式
# results.m8 (tabular)
query target pident alnlen evalue bits
query 1abc_A 85.2 120 1e-45 180.5
query 2def_B 72.1 115 1e-32 145.2
出力例
正常に実行された場合
$ foldseek easy-search query.pdb pdb100 results.m8 tmp/
# results.m8 columns: query target pident alnlen mismatch gapopen qstart qend tstart tend evalue bits
query 1abc_A 85.2 120 ... 1e-45 180.5
query 2def_B 72.1 115 ... 1e-32 145.2
上記のヒット同一性と E 値はプレースホルダーです。foldseek は、他のツールで表示される [INFO] 行を出力しません。
判断フロー
Should I use Foldseek?
│
├─ What are you searching?
│ ├─ By 3D structure → Foldseek ✓
│ ├─ By sequence → Use BLAST (uniprot skill)
│ └─ Both → Run both, compare results
│
└─ What do you need?
├─ Find structural homologs → Foldseek ✓
├─ Remote homolog detection → Foldseek ✓
├─ Structural clustering → Foldseek ✓
└─ Functional annotation → Cross-reference with UniProt
よくある使用例
類似した設計を探す
# Compare your design to PDB
foldseek easy-search design.pdb pdb100 similar_natural.m8 tmp/
新規性を確認する
# Ensure design is novel (low similarity to known)
foldseek easy-search design.pdb afdb50 novelty.m8 tmp/
# Novel if: top hit identity < 30%
足場を検索する
# Find scaffolds for motif grafting
foldseek easy-search motif.pdb pdb100 scaffolds.m8 tmp/ \
--min-seq-id 0.0 -e 10
検証
wc -l results.m8 # Number of hits
トラブルシューティング
ヒットが見つからない場合: E 値のしきい値を下げるか、より大きなデータベースを試してください
ヒットが多すぎる場合: min-seq-id のしきい値を上げてください
検索が遅い場合: より小さなデータベースを使用してください
エラーの解釈
| エラー | 原因 | 対処方法 |
|---|---|---|
Database not found | パスが間違っています | データベースの場所を確認してください |
Invalid PDB | 構造の形式が正しくありません | PDB 形式を検証してください |
Out of memory | データベースが大きすぎます | RAM を増やすか、ウェブサーバーを使用してください |
次の手順: pdb スキルでヒットをダウンロードし、足場設計に使用します。
コメント
Markdown 対応