SuperAPI AI 工具集

foldseek

数据与分析

查看项目

更新于 10-15 10:03

技能介绍

Foldseek 结构搜索

一、用途 Foldseek 用于基于三维结构进行相似性搜索,适用于以下场景:(1)在 PDB/AFDB 数据库中查找相似结构;(2)结构同源搜索;(3)远程同源检测;(4)结构聚类;(5)比较设计结构与天然结构、进行新颖性检查、为基序移植寻找骨架。如果按序列搜索,应使用 BLAST;如果同时需要序列与结构信息,可两者都运行并比较结果。功能注释建议与 UniProt 交叉参考。

二、前置要求 Python:最低 3.8+,推荐 3.10。 内存:最低 8GB,推荐 16GB。 磁盘:最低 10GB,推荐 50GB(用于本地数据库)。 注意:Foldseek 可本地运行或通过网页服务器运行,不需要 GPU。

三、使用方式 说明中提供三种运行方式。

方式 1:网页服务器(快速;有速率限制,请节制使用) 将结构上传到网页服务器: 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 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-value 阈值。 --alignment-type:默认 2,0=3Di,1=TM,2=3Di+AA。 --max-seqs:默认 1000,通过预筛选的最大命中数;降低该值会影响灵敏度。

五、可用数据库 pdb100:PDB 链,约 340K 结构。 afdb50:AlphaFold DB 按 50% 序列一致性聚类,约 53M 结构。 swissprot:SwissProt 结构,约 540K 结构。 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/

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-value 为占位示例;foldseek 不会打印某些其他工具显示的 [INFO] 行。

七、常见用例 查找相似设计(将设计与 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-value 阈值,或尝试更大的数据库。 命中过多:提高 min-seq-id 阈值。 搜索缓慢:使用更小的数据库。

错误表: Database not found:原因是有误的路径,修复方式是检查数据库位置。 Invalid PDB:原因是结构格式错误,修复方式是校验 PDB 格式。 Out of memory:原因是数据库过大,修复方式是使用更多内存或改用网页服务器。

九、后续步骤 资料建议:用 pdb 技能下载命中结果,再用于骨架设计。