Project Icon

foldseek

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

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

Foldseek

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

相关论文

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 的网络服务器和命令行界面。 点击此处查看。

文档

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

重要搜索参数

选项类别描述
-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
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号