foldseek

foldseek

高效精准的大规模蛋白质结构比对工具

Foldseek是一款用于大规模蛋白质结构集比对的开源工具。它能快速、敏感地比较海量蛋白质结构,支持对AlphaFoldDB和PDB等数据库进行搜索。Foldseek提供命令行界面和网页服务器,可进行结构搜索、聚类和多聚体比对。采用创新的3Di+AA结构对齐算法,在保证准确性的同时显著提升速度。Foldseek为结构生物学研究提供高效可靠的计算支持,助力蛋白质结构分析。

Foldseek蛋白质结构比对结构搜索结构聚类蛋白质复合物Github开源项目

Foldseek

Foldseek 能够快速、灵敏地比较大型蛋白质结构集。

<p align="center"><img src="https://yellow-cdn.veclightyear.com/835a84d5/0292d4ce-9147-4543-8bb6-9b261ab0bd42.png" height="250"/></p>

相关论文

van Kempen M, Kim S, Tumescheit C, Mirdita M, Lee J, Gilchrist CLM, Söding J, 和 Steinegger M. 使用 Foldseek 进行快速准确的蛋白质结构搜索。Nature Biotechnology, doi:10.1038/s41587-023-01773-0 (2023)

Barrio-Hernandez I, Yeo J, Jänes J, Mirdita M, Gilchrist CLM, Wein T, Varadi M, Velankar S, Beltrao P 和 Steinegger M. 在已知蛋白质宇宙规模上对预测结构进行聚类。Nature, doi:10.1038/s41586-023-06510-w (2023)

Kim W, Mirdita M, Levy Karin E, Gilchrist CLM, Schweke H, Söding J, Levy E, 和 Steinegger M. 使用 Foldseek-Multimer 进行快速敏感的蛋白质复合物比对。bioRxiv, doi:10.1101/2024.04.14.589414 (2024)

目录

网络服务器

使用 Foldseek 网络服务器(代码)在几秒钟内对 AlphaFoldDBPDB 搜索您的蛋白质结构:search.foldseek.com 🚀

安装

# Linux AVX2 版本(使用以下命令检查:cat /proc/cpuinfo | grep avx2)
wget https://mmseqs.com/foldseek/foldseek-linux-avx2.tar.gz; tar xvzf foldseek-linux-avx2.tar.gz; export PATH=$(pwd)/foldseek/bin/:$PATH

# Linux SSE2 版本(使用以下命令检查:cat /proc/cpuinfo | grep sse2)
wget https://mmseqs.com/foldseek/foldseek-linux-sse2.tar.gz; tar xvzf foldseek-linux-sse2.tar.gz; export PATH=$(pwd)/foldseek/bin/:$PATH

# Linux ARM64 版本
wget https://mmseqs.com/foldseek/foldseek-linux-arm64.tar.gz; tar xvzf foldseek-linux-arm64.tar.gz; export PATH=$(pwd)/foldseek/bin/:$PATH

# MacOS
wget https://mmseqs.com/foldseek/foldseek-osx-universal.tar.gz; tar xvzf foldseek-osx-universal.tar.gz; export PATH=$(pwd)/foldseek/bin/:$PATH

# Conda 安装(适用于 Linux 和 macOS)
conda install -c conda-forge -c bioconda foldseek

ARM64 和 SSE2 的其他预编译二进制文件可在 https://mmseqs.com/foldseek 获取。

内存需求

为获得最佳软件性能,请根据您的 RAM 和搜索需求考虑以下三个选项:

  1. 包含 Cα 信息(默认)。 使用此公式计算 RAM - (6 字节 Cα + 1 3Di 字节 + 1 AA 字节) * (数据库残基数)。54M AFDB50 条目需要 151GB。

  2. 不包含 Cα 信息。 通过禁用 --sort-by-structure-bits 0,RAM 需求降至 35GB。但这会改变命中排名和最终得分,而不影响 E 值。结构位主要与 E 值 > 10^-1 的命中排名相关。

  3. 单一查询搜索。 使用 --prefilter-mode 1,不受内存限制并计算所有无间隙比对。此选项可为单一查询优化利用 foldseek 的多线程功能。

教程视频

我们在 SBGrid 上展示了 Foldseek 教程,演示了 Foldseek 的网络服务器和命令行界面。 点击此处查看。

<a href="https://www.youtube.com/watch?v=k5Rbi22TtOA"><img src="https://img.shields.io/youtube/views/k5Rbi22TtOA?style=social"></a>

文档

Foldseek 的许多模块(子程序)依赖于 MMseqs2。有关这些模块的更多信息,请参阅 MMseqs2 维基。有关 Foldseek 特定文档,请查看 Foldseek 维基 此处

快速入门

搜索

easy-search 模块允许对一个或多个单链蛋白质结构(以 PDB/mmCIF 格式,平面或 gzip 压缩)进行查询,搜索目标数据库、文件夹或单个单链蛋白质结构(对于多链蛋白质,请参见 complexsearch)。默认的比对信息输出是制表符分隔文件,但 Foldseek 也支持叠加的 Cα PDB 文件HTML

foldseek easy-search example/d1asha_ example/ aln tmpFolder

搜索输出

制表符分隔

默认输出字段为:query,target,fident,alnlen,mismatch,gapopen,qstart,qend,tstart,tend,evalue,bits,但可以使用 --format-output 选项自定义,例如 --format-output "query,target,qaln,taln" 返回查询和目标序列的标识符以及成对比对,以制表符分隔格式。您可以选择多种不同的输出列。

代码描述
query查询序列标识符
target目标序列标识符
qca查询的 Cα 坐标
tca目标的 Cα 坐标
alntmscore比对的 TM-score
qtmscore按查询长度标准化的 TM-score
ttmscore按目标长度标准化的 TM-score
u旋转矩阵(由 TM-score 计算)
t平移向量(由 TM-score 计算)
lddt比对的平均 LDDT
lddtfull每个比对位置的 LDDT
prob查询和目标为同源的估计概率(例如,属于同一 SCOPe 超家族)

查看 MMseqs2 文档了解其他输出格式代码

叠加的 Cα PDB 文件

Foldseek 的 --format-mode 5 生成 PDB 文件,其中所有目标 Cα 原子基于比对坐标叠加到查询结构上。 每个成对比对都会生成自己的 PDB 文件,因此在进行大规模搜索时请谨慎使用此选项。

交互式 HTML

本地运行的 Foldseek 可以通过指定 --format-mode 3 生成类似于网络服务器生成的 HTML 搜索结果。

foldseek easy-search example/d1asha_ example/ result.html tmp --format-mode 3
<p align="center"><img src="https://yellow-cdn.veclightyear.com/835a84d5/8121a15b-f997-4a7d-a807-c0d9b5078528.png" height="400"/></p>

重要搜索参数

选项类别描述
-s敏感度调整敏感度和速度的平衡;数值越低速度越快,越高则更敏感(快速:7.5,默认:9.5)
--exhaustive-search敏感度跳过预过滤并执行全对全比对(更敏感但速度大大降低)
--max-seqs敏感度调整传递给比对的预过滤数量;增加可能导致更多匹配(默认:1000)
-e敏感度列出E值低于此值的匹配(范围0.0-inf,默认:0.001);增加它会报告更多远距离结构
--alignment-type比对0:3Di Gotoh-Smith-Waterman(局部,不推荐),1:TMalign(全局,慢),2:3Di+AA Gotoh-Smith-Waterman(局部,默认)
-c比对列出高于此比例的已对齐(覆盖)残基的匹配(参见--cov-mode)(默认:0.0);更高覆盖率 = 更全局的比对
--cov-mode比对0:查询和目标的覆盖率,1:目标的覆盖率,2:查询的覆盖率

比对模式

默认情况下,Foldseek使用其局部3Di+AA结构比对,但它也支持使用全局TMalign重新比对匹配结果,以及使用TMscore重新评分比对。

foldseek easy-search example/d1asha_ example/ aln tmp --alignment-type 1

如果比对类型设置为tmalign(--alignment-type 1),结果将按查询长度归一化的TMscore排序。TMscore用于报告两个字段:e-value=(qTMscore+tTMscore)/2和score=(qTMscore*100)。所有输出字段(如pident、fident和alnlen)都基于TMalign比对计算。

从FASTA输入进行结构搜索

通过直接从氨基酸序列预测3Di进行搜索,无需现有蛋白质结构。 此功能使用ProstT5蛋白质语言模型,默认在CPU上运行,比ColabFold预测的结构快约400-4000倍。

foldseek databases ProstT5 weights tmp
foldseek databases PDB pdb tmp
foldseek easy-search QUERY.fasta pdb result.m8 tmp --prostt5-model weights

或从fasta文件创建结构数据库。

foldseek createdb db.fasta db --prostt5-model weights

也支持使用GPU/CUDA进行更快的推理。从源码编译时使用cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCUDAToolkit_ROOT=Path-To-Cuda-Toolkit,并调用createdb/easy-search --prostt5-model weights --gpu 1

数据库

databases命令下载预生成的数据库,如PDB或AlphaFoldDB。

# pdb  
foldseek databases PDB pdb tmp 
# alphafold db
foldseek databases Alphafold/Proteome afdb tmp 

我们目前支持以下数据库:

  名称                   	类型     	分类学	网址
- Alphafold/UniProt   	氨基酸	     是	https://alphafold.ebi.ac.uk/
- Alphafold/UniProt50 	氨基酸	     是	https://alphafold.ebi.ac.uk/
- Alphafold/Proteome  	氨基酸	     是	https://alphafold.ebi.ac.uk/
- Alphafold/Swiss-Prot	氨基酸	     是	https://alphafold.ebi.ac.uk/
- ESMAtlas30          	氨基酸	       -	https://esmatlas.com
- PDB                 	氨基酸	     是	https://www.rcsb.org

创建自定义数据库和索引

目标数据库可以通过createdb预处理。这在多次搜索相同目标结构集时很有用。

foldseek createdb example/ targetDB
foldseek createindex targetDB tmp  #可选,生成并存储索引到磁盘
foldseek easy-search example/d1asha_ targetDB aln.m8 tmpFolder

聚类

easy-cluster算法旨在通过将结构分配给代表性蛋白质结构来进行结构聚类。它接受PDB或mmCIF格式的输入,支持平面和gzip压缩文件。默认情况下,easy-cluster生成三个带有以下前缀的输出文件:(1) _clu.tsv,(2) _repseq.fasta,和 (3) _allseq.fasta。第一个文件(1)是描述从代表到成员映射的制表符分隔文件,第二个文件(2)仅包含代表序列,第三个文件(3)包括所有聚类成员序列

foldseek easy-cluster example/ res tmp -c 0.9 

输出聚类

制表符分隔聚类

提供的格式以制表符分隔的两列布局(代表和成员)表示蛋白质结构聚类。每行表示一个聚类代表和聚类成员的关系,表明成员与代表具有显著的结构相似性,因此属于同一聚类。

Q0KJ32	Q0KJ32
Q0KJ32	C0W539
Q0KJ32	D6KVP9
E3HQM9	E3HQM9
E3HQM9	F0YHT8
代表fasta

_repseq.fasta包含聚类的所有代表性蛋白质序列。

>Q0KJ32
MAGA....R
>E3HQM9
MCAT...Q
所有成员fasta

_allseq.fasta文件中,聚类的所有序列都存在。新聚类由代表序列的两个相同名称行标记,第一行代表聚类,第二行是第一个聚类序列的名称行。随后是所有成员的fasta格式序列。

>Q0KJ32	
>Q0KJ32
MAGA....R
>C0W539
MVGA....R
>D6KVP9
MVGA....R
>D1Y890
MVGV....R
>E3HQM9	
>E3HQM9
MCAT...Q
>Q223C0
MCAR...Q

重要聚类参数

选项类别描述
-e敏感度列出E值低于此值的匹配(范围0.0-inf,默认:0.001);增加它会报告更多远距离结构
--alignment-type比对0:3Di Gotoh-Smith-Waterman(局部,不推荐),1:TMalign(全局,慢),2:3Di+AA Gotoh-Smith-Waterman(局部,默认)
-c比对列出高于此比例的已对齐(覆盖)残基的匹配(参见--cov-mode)(默认:0.0);更高覆盖率 = 更全局的比对
--cov-mode比对0:查询和目标的覆盖率,1:目标的覆盖率,2:查询的覆盖率
--min-seq-id比对被聚类的最小序列一致性
--tmscore-threshold比对接受比对TMscore > 阈值的比对
--lddt-threshold比对接受比对LDDT得分 > 阈值的比对

多聚体搜索

easy-multimersearch模块旨在查询一个或多个蛋白质复合物(多链)结构(支持的输入格式:PDB/mmCIF,平面或gzip压缩)与目标蛋白质复合物结构数据库。它报告复合物之间的相似性度量(例如,TMscore)。

使用多聚体搜索

以下示例使用可在Foldseek仓库的example目录中找到的文件。 如果您使用软件的预编译版本,可以直接下载这些文件:1tim.pdb.gz8tim.pdb.gz

使用easy-multimersearch进行复合物的成对比对,运行以下命令:

foldseek easy-multimersearch example/1tim.pdb.gz example/8tim.pdb.gz result tmpFolder

Foldseek easy-multimersearch也可用于搜索一个或多个查询复合物与目标数据库:

foldseek databases PDB pdb tmp 
foldseek easy-multimersearch example/1tim.pdb.gz pdb result tmpFolder

Multimer 搜索输出

制表符分隔的复合体

默认情况下,easy-multimersearch 以制表符分隔的文件格式报告输出对齐结果。 默认输出字段为:query,target,fident,alnlen,mismatch,gapopen,qstart,qend,tstart,tend,evalue,bits,complexassignid,但可以使用 --format-output 选项进行自定义,例如:--format-output "query,target,complexqtmscore,complexttmscore,complexassignid" 将输出改为显示特定的评分和标识符。

代码描述
通用
query查询序列标识符
target目标序列标识符
仅用于 scorecomplex
complexqtmscore复合体对齐的 TM-score,按查询长度归一化
complexttmscore复合体对齐的 TM-score,按目标长度归一化
complexu复合体对齐的旋转矩阵(由 TM-score 计算)
complext复合体对齐的平移向量(由 TM-score 计算)
complexassignid复合体对齐的索引

输出示例:

1tim.pdb.gz_A   8tim.pdb.gz_A   0.967   247 8   0   1   247 1   247 5.412E-43   1527    0
1tim.pdb.gz_B   8tim.pdb.gz_B   0.967   247 8   0   1   247 1   247 1.050E-43   1551    0
复合体报告

easy-multimersearch 还会生成一份报告(前缀为 _report),提供复合体间链匹配的摘要,包括标识符、链、TM 评分、旋转矩阵、平移向量和分配 ID。报告包含以下字段:

描述
1查询复合体的标识符
2目标复合体的标识符
3查询复合体中匹配的链(逗号分隔)
4目标复合体中匹配的链(逗号分隔)
5按查询长度归一化的 TM 评分 [0-1]
6按目标长度归一化的 TM 评分 [0-1]
7九个旋转矩阵 (U) 值(逗号分隔)
8三个平移向量 (T) 值(逗号分隔)
9复合体对齐 ID

输出示例:

1tim.pdb.gz 8tim.pdb.gz A,B A,B 0.98941 0.98941 0.999983,0.000332,0.005813,-0.000373,0.999976,0.006884,-0.005811,-0.006886,0.999959 0.298992,0.060047,0.565875  0

主要模块

  • easy-search 快速蛋白质结构搜索
  • easy-cluster 快速蛋白质结构聚类
  • createdb 从蛋白质结构(PDB、mmCIF、mmJSON)创建数据库
  • databases 下载预组装的数据库

示例

使用 TMscore 重新评分对齐结果

获取以 min(alnLen,qLen,targetLen) 归一化的对齐 TMscore 以及旋转矩阵的最简单方法是通过以下命令:

foldseek easy-search example/ example/ aln tmp --format-output query,target,alntmscore,u,t

另外,也可以使用以下命令计算特定类型对齐输出(如 3Di+AA)的 TMscore:

foldseek createdb example/ targetDB
foldseek createdb example/ queryDB
foldseek search queryDB targetDB aln tmpFolder -a
foldseek aln2tmscore queryDB targetDB aln aln_tmscore
foldseek createtsv queryDB targetDB aln_tmscore aln_tmscore.tsv

aln_tmscore.tsv 的输出格式:查询和目标标识符、TMscore、平移向量(3)和旋转向量(3x3)

聚类搜索结果

以下命令对输入结构进行全对全对齐,仅保留覆盖序列 80% 的对齐结果(-c 0.8)(关于对齐覆盖选项的更多信息,请参阅此处)。然后使用贪心集合覆盖算法对结果进行聚类。可以使用 --cluster-mode 调整聚类模式,更多信息请参阅此处。聚类输出格式的说明请参阅此处

foldseek createdb example/ db
foldseek search db db aln tmpFolder -c 0.8 
foldseek clust db aln clu
foldseek createtsv db db clu clu.tsv

以查询为中心的多序列对齐

Foldseek 可以使用以下命令以 a3m 格式输出多序列对齐结果。 要将 a3m 格式转换为 FASTA 格式,可以使用以下脚本 reformat.plreformat.pl in.a3m out.fas)。

foldseek createdb example/ targetDB
foldseek createdb example/ queryDB
foldseek search queryDB targetDB aln tmpFolder -a
foldseek result2msa queryDB targetDB aln msa --msa-format-mode 6
foldseek unpackdb msa msa_output --unpack-suffix a3m --unpack-name-mode 0

编辑推荐精选

Manus

Manus

全面超越基准的 AI Agent助手

Manus 是一款通用人工智能代理平台,能够将您的创意和想法迅速转化为实际成果。无论是定制旅行规划、深入的数据分析,还是教育支持与商业决策,Manus 都能高效整合信息,提供精准解决方案。它以直观的交互体验和领先的技术,为用户开启了一个智慧驱动、轻松高效的新时代,让每个灵感都能得到完美落地。

飞书知识问答

飞书知识问答

飞书官方推出的AI知识库 上传word pdf即可部署AI私有知识库

基于DeepSeek R1大模型构建的知识管理系统,支持PDF、Word、PPT等常见文档格式解析,实现云端与本地数据的双向同步。系统具备实时网络检索能力,可自动关联外部信息源,通过语义理解技术处理结构化与非结构化数据。免费版本提供基础知识库搭建功能,适用于企业文档管理和个人学习资料整理场景。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

TraeAI IDE协作生产力转型热门AI工具
酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

使用教程AI工具酷表ChatExcelAI智能客服AI营销产品
DeepEP

DeepEP

DeepSeek开源的专家并行通信优化框架

DeepEP是一个专为大规模分布式计算设计的通信库,重点解决专家并行模式中的通信瓶颈问题。其核心架构采用分层拓扑感知技术,能够自动识别节点间物理连接关系,优化数据传输路径。通过实现动态路由选择与负载均衡机制,系统在千卡级计算集群中维持稳定的低延迟特性,同时兼容主流深度学习框架的通信接口。

DeepSeek

DeepSeek

全球领先开源大模型,高效智能助手

DeepSeek是一家幻方量化创办的专注于通用人工智能的中国科技公司,主攻大模型研发与应用。DeepSeek-R1是开源的推理模型,擅长处理复杂任务且可免费商用。

KnowS

KnowS

AI医学搜索引擎 整合4000万+实时更新的全球医学文献

医学领域专用搜索引擎整合4000万+实时更新的全球医学文献,通过自主研发AI模型实现精准知识检索。系统每日更新指南、中英文文献及会议资料,搜索准确率较传统工具提升80%,同时将大模型幻觉率控制在8%以下。支持临床建议生成、文献深度解析、学术报告制作等全流程科研辅助,典型用户反馈显示每周可节省医疗工作者70%时间。

Windsurf Wave 3

Windsurf Wave 3

Windsurf Editor推出第三次重大更新Wave 3

新增模型上下文协议支持与智能编辑功能。本次更新包含五项核心改进:支持接入MCP协议扩展工具生态,Tab键智能跳转提升编码效率,Turbo模式实现自动化终端操作,图片拖拽功能优化多模态交互,以及面向付费用户的个性化图标定制。系统同步集成DeepSeek、Gemini等新模型,并通过信用点数机制实现差异化的资源调配。

AI IDE
腾讯元宝

腾讯元宝

腾讯自研的混元大模型AI助手

腾讯元宝是腾讯基于自研的混元大模型推出的一款多功能AI应用,旨在通过人工智能技术提升用户在写作、绘画、翻译、编程、搜索、阅读总结等多个领域的工作与生活效率。

AI 办公助手AI对话AI助手AI工具腾讯元宝智能体热门
Grok3

Grok3

埃隆·马斯克旗下的人工智能公司 xAI 推出的第三代大规模语言模型

Grok3 是由埃隆·马斯克旗下的人工智能公司 xAI 推出的第三代大规模语言模型,常被马斯克称为“地球上最聪明的 AI”。它不仅是在前代产品 Grok 1 和 Grok 2 基础上的一次飞跃,还在多个关键技术上实现了创新突破。

下拉加载更多