Foldseek结构搜索 foldseek

Foldseek结构搜索技能是一个用于蛋白质三维结构相似性搜索与分析的生物信息学工具。它能够高效地在PDB、AlphaFold等大型结构数据库中,通过三维空间构象而非氨基酸序列,查找相似结构、进行结构比对、发现远缘同源物以及聚类分析。该工具对于蛋白质设计、功能注释、进化研究和药物发现等领域至关重要。关键词:Foldseek,结构相似性搜索,蛋白质结构,生物信息学,AlphaFold,PDB数据库,结构比对,同源建模。

生物制药 0 次安装 0 次浏览 更新于 2/27/2026

name: foldseek description: > 使用Foldseek进行结构相似性搜索。在以下情况下使用此技能: (1) 在PDB/AFDB数据库中查找相似结构, (2) 结构同源性搜索, (3) 通过3D结构进行数据库查询, (4) 查找序列无法检测到的远缘同源物, (5) 按相似性对结构进行聚类。

对于序列相似性,请使用uniprot BLAST。 对于结构预测,请使用chai或boltz。 license: MIT category: utilities tags: [search, structure, database, similarity]

Foldseek 结构搜索

先决条件

要求 最低 推荐
Python 3.8+ 3.10
内存 8GB 16GB
磁盘 10GB 50GB (用于本地数据库)

如何运行

注意:Foldseek可以在本地或通过Web服务器运行。不需要GPU。

选项1:Web服务器 (快速;有速率限制,请谨慎使用)

# 将结构上传到Web服务器
curl -X POST "https://search.foldseek.com/api/ticket" \
  -F "q=@query.pdb" \
  -F "database[]=afdb50" \
  -F "database[]=pdb100"

选项2:本地安装

# 安装Foldseek
conda install -c conda-forge -c bioconda foldseek

# 搜索PDB
foldseek easy-search query.pdb /path/to/pdb100 results.m8 tmp/

# 搜索AlphaFold数据库
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"):
    """运行Foldseek搜索。"""
    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 300 通过预过滤的最大命中数;减少此值会影响灵敏度

数据库

数据库 描述 大小
pdb100 在100%水平聚类的PDB ~200K个结构
afdb50 在50%水平聚类的AlphaFold数据库 ~67M个结构
swissprot SwissProt结构 ~500K个结构
cath50 CATH结构域 ~50K个结构域

输出格式

# results.m8 (表格格式)
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/
[INFO] 加载数据库: pdb100 (194,527 个条目)
[INFO] 正在搜索...
[INFO] 找到 127 个命中结果

前5个命中结果:
1. 1abc_A - 85.2% 一致性, E=1e-45
2. 2def_B - 72.1% 一致性, E=1e-32
3. 3ghi_C - 68.5% 一致性, E=1e-28
4. 4jkl_A - 55.3% 一致性, E=1e-18
5. 5mno_B - 42.1% 一致性, E=1e-10

决策树

我应该使用Foldseek吗?
│
├─ 你要搜索什么?
│  ├─ 通过3D结构 → Foldseek ✓
│  ├─ 通过序列 → 使用BLAST (uniprot技能)
│  └─ 两者都要 → 两者都运行,比较结果
│
└─ 你需要什么?
   ├─ 查找结构同源物 → Foldseek ✓
   ├─ 远缘同源物检测 → Foldseek ✓
   ├─ 结构聚类 → Foldseek ✓
   └─ 功能注释 → 与UniProt交叉引用

常见用例

查找相似设计

# 将你的设计与PDB进行比较
foldseek easy-search design.pdb pdb100 similar_natural.m8 tmp/

新颖性检查

# 确保设计是新颖的 (与已知结构相似性低)
foldseek easy-search design.pdb afdb50 novelty.m8 tmp/

# 新颖性标准:最高命中结果一致性 < 30%

支架搜索

# 为基序移植查找支架
foldseek easy-search motif.pdb pdb100 scaffolds.m8 tmp/ \
  --min-seq-id 0.0 -e 10

验证

wc -l results.m8  # 命中结果数量

故障排除

无命中结果:降低e值阈值,尝试更大的数据库 命中结果过多:提高最小序列一致性阈值 搜索缓慢:使用较小的数据库

错误解释

错误 原因 修复方法
Database not found 路径错误 检查数据库位置
Invalid PDB 结构格式错误 验证PDB格式
Out of memory 数据库过大 使用更多内存或Web服务器

下一步:使用 pdb 技能下载命中结果 → 用于支架设计。