ColabFold - v1.5.5
有关v1.5版本更改的详细信息,请参阅更新日志!
通过Google Colab让蛋白质折叠技术为所有人所用!
笔记本 | 单体 | 复合物 | mmseqs2 | jackhmmer | 模板 |
---|---|---|---|---|---|
AlphaFold2_mmseqs2 | 是 | 是 | 是 | 否 | 是 |
AlphaFold2_batch | 是 | 是 | 是 | 否 | 是 |
AlphaFold2 (来自Deepmind) | 是 | 是 | 否 | 是 | 否 |
relax_amber (放松输入结构) | |||||
ESMFold | 是 | 可能 | 否 | 否 | 否 |
测试版(开发中)笔记本 | |||||
RoseTTAFold2 | 是 | 是 | 是 | 否 | 开发中 |
OmegaFold | 是 | 可能 | 否 | 否 | 否 |
AlphaFold2_advanced_v2 (新的实验性笔记本) | 是 | 是 | 是 | 否 | 是 |
查看wiki页面旧的已停用笔记本以了解不再支持的笔记本。
常见问题
- 我在哪里可以与其他ColabFold用户交流?
- 请查看我们的Discord频道!
- 我可以将这些模型用于分子替换吗?
- 可以,但要小心,b因子列填充了pLDDT置信度值(越高越好)。Phenix.phaser期望"真实"的b因子,其中(越低越好)。请参阅Claudia Millán的帖子。
- 最大长度是多少?
- 限制取决于Google-Colab提供的免费GPU
祈祷
- 对于GPU:
Tesla T4
或Tesla P100
(约16G),最大长度约为2000 - 对于GPU:
Tesla K80
(约12G),最大长度约为1000 - 要检查你获得了什么GPU,打开一个新的代码单元并输入
!nvidia-smi
- 限制取决于Google-Colab提供的免费GPU
- 在本地计算机上使用MMseqs2 MSA服务器(
cf.run_mmseqs2
)可以吗?- 如果你的查询来自单个IP且是串行的,你可以从本地计算机访问服务器。请不要使用多台计算机查询服务器。
- 我在哪里可以下载ColabFold使用的数据库?
- 数据库可在colabfold.mmseqs.com获取
- 我想渲染预测结构的自定义图像,如何按pLDDT着色?
- 在pymol中对AlphaFold结构:
spectrum b, red_yellow_green_cyan_blue, minimum=50, maximum=90
- 如果你想使用AlphaFold颜色(感谢:Konstantin Korotkov)
set_color n0, [0.051, 0.341, 0.827] set_color n1, [0.416, 0.796, 0.945] set_color n2, [0.996, 0.851, 0.212] set_color n3, [0.992, 0.490, 0.302] color n0, b < 100; color n1, b < 90 color n2, b < 70; color n3, b < 50
- 在pymol中对RoseTTAFold结构:
spectrum b, red_yellow_green_cyan_blue, minimum=0.5, maximum=0.9
- 在pymol中对AlphaFold结构:
- AlphaFold2_advanced和AlphaFold2_mmseqs2(_batch)笔记本在复合物预测方面有什么区别?
- 我们目前有两种不同的方法来预测蛋白质复合物:(1)使用带有残基索引跳跃的AlphaFold2模型和(2)使用AlphaFold2-multimer模型。AlphaFold2_advanced支持(1),而AlphaFold2_mmseqs2(_batch)支持(2)。
- localcolabfold和可通过pip安装的colabfold_batch有什么区别?
- LocalColabFold是一个安装脚本,旨在使ColabFold功能在本地用户机器上可用。它支持广泛的操作系统,如Windows 10或更高版本(使用Windows Subsystem for Linux 2)、macOS和Linux。
- 有没有办法进行amber松弛结构而不必从头重新运行alphafold/colabfold?
- 是的,请参阅此笔记本。
- 我在哪里可以找到之前开发现已停用的旧笔记本?
- 你可以在旧的已停用笔记本wiki页面找到已停用笔记本的列表。
- 我在哪里可以找到ColabFold使用的MSA服务器数据库的历史记录?
- 你可以在MSA服务器数据库历史wiki页面查看数据库版本历史。
本地运行
有关如何在本地安装ColabFold的说明,请参阅localcolabfold或查看我们的wiki了解如何在Docker中运行ColabFold。
使用MSA服务器为小规模本地结构/复合物预测生成MSA
当你将包含序列的FASTA或CSV文件传递给colabfold_batch
时,它会自动查询公共MSA服务器以生成MSA。为了更好地利用GPU资源,你可能希望将此过程分为两个步骤:
# 在一次操作中查询MSA服务器并在本地GPU上预测结构:
colabfold_batch input_sequences.fasta out_dir
# 将查询MSA服务器和GPU预测分为两个步骤
colabfold_batch input_sequences.fasta out_dir --msa-only
colabfold_batch input_sequences.fasta out_dir
为大规模结构/复合物预测生成MSA
首先在具有足够存储空间的磁盘上为数据库创建一个目录(940GB(!))。根据你的位置,这将需要几个小时:
注意:ColabFold MSA服务器使用 MMseqs2 71dd32ec43e3ac4dabf111bbc4b124f1c66a85f1
(2023年5月28日) 来创建数据库并执行序列搜索。如果您希望获得与服务器相同的多序列比对结果,请使用此版本。
MMSEQS_NO_INDEX=1 ./setup_databases.sh /path/to/db_folder
如果MMseqs2未安装在您的PATH
中,请在colabfold_search
中添加--mmseqs <mmseqs路径>
:
# 这需要大量CPU资源
colabfold_search --mmseqs /path/to/bin/mmseqs input_sequences.fasta /path/to/db_folder msas
# 这需要GPU
colabfold_batch msas predictions
这将创建一个中间文件夹msas
,其中包含所有以a3m文件格式存储的输入多序列比对,以及一个predictions
文件夹,其中包含所有预测的pdb、json和png文件。
上述过程通过在调用数据库设置脚本之前设置MMSEQS_NO_INDEX=1
环境变量,禁用了各种ColabFold数据库的MMseqs2预索引。对于大多数colabfold_search
用例,预计算索引是不必要的,甚至可能会降低搜索速度。预计算的索引对于ColabFold服务器的快速响应时间是必要的,因为整个数据库会被永久保存在内存中。在任何情况下,批量搜索都需要一台至少128GB RAM的机器,或者如果要将数据库永久保存在RAM中,则需要超过1TB RAM。
在某些情况下,使用预计算的数据库仍然可能有用。对于以下情况,请在调用setup_databases.sh
脚本时不设置MMSEQS_NO_INDEX
环境变量:
(0) 如上所述,如果您想设置服务器。
(1) 如果预计算的索引存储在非常快速的存储系统(如NVMe-SSD)上,从磁盘读取索引可能比实时计算更快。在这种情况下,搜索应该在调用setup_databases.sh
的同一台机器上执行,因为预计算的索引是为给定主内存大小创建的。此外,传递--db-load-mode 0
选项以确保在使用前从存储系统中一次性读取数据库。
(2) 快速单一查询搜索需要将完整索引(.idx
文件)保存在内存中。这可以通过使用vmtouch等工具实现。因此,这种类型的搜索需要至少768GB到1TB RAM的机器来存储ColabfoldDB。如果索引已存在于内存中,请在colabfold_search
中使用--db-load-mode 2
参数以避免索引加载开销。
如果没有创建索引(设置了MMSEQS_NO_INDEX=1
),则--db-load-mode
不会产生任何效果,可以忽略。
教程和演示
基于ColabFold的项目或辅助工具
- 在本地计算机上运行ColabFold,作者:Yoshitaka Moriwaki
- 用于Discoba物种蛋白质结构预测的ColabFold/AlphaFold2,作者:Richard John Wheeler
- 面向所有人的基于云的分子模拟,作者:Pablo R. Arantes, Marcelo D. Polêto, Conrado Pedebos 和 Rodrigo Ligabue-Braun
- getmoonbear是一个预测蛋白质结构的网络服务器,作者:Stephanie Zhang 和 Neil Deshmukh
- ColabFold/AlphaFold2 IDR复合物预测,作者:Balint Meszaros
- 用于大分子结构确定的ColabFold/AlphaFold2(Phenix版本),作者:Tom Terwilliger
- AlphaPickle:使AlphaFold2/ColabFold输出可解释,作者:Matt Arnold
致谢
- 我们要感谢RoseTTAFold和AlphaFold团队在开源软件方面所做的出色工作。
- 同时感谢David Koes开发的出色的py3Dmol插件,没有它这些笔记本将变得相当乏味!
- 这是由Sergey Ovchinnikov (@sokrypton)、Milot Mirdita (@milot_mirdita)和Martin Steinegger (@thesteinegger)开发的colab。
如何引用本工作?
- Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S and Steinegger M. ColabFold: Making protein folding accessible to all.
Nature Methods (2022) doi: 10.1038/s41592-022-01488-1 - 如果您使用AlphaFold,请同时引用:
Jumper et al. "Highly accurate protein structure prediction with AlphaFold."
Nature (2021) doi: 10.1038/s41586-021-03819-2 - 如果您使用AlphaFold-multimer,请同时引用:
Evans et al. "Protein complex prediction with AlphaFold-Multimer."
biorxiv (2021) doi: 10.1101/2021.10.04.463034v1 - 如果您使用RoseTTAFold,请同时引用:
Minkyung et al. "Accurate prediction of protein structures and interactions using a three-track neural network."
Science (2021) doi: 10.1126/science.abj8754
旧更新
2023年7月31日:2023/07/31:ColabFold MSA服务器恢复正常
从27日欧洲中部夏令时间约8:30到31日约11:10期间,它使用的是较旧的数据库(UniRef30 2202/PDB70 220313)。
2023年7月27日:ColabFold MSA服务器问题:
从欧洲中部夏令时间约8:30开始,我们使用带有旧数据库的备用服务器
(UniRef30 2202/PDB70 220313),直到我们解决这个问题。
于2023年7月31日欧洲中部夏令时间约11:10解决。
2023年6月12日:新数据库!UniRef30更新至2302版,PDB更新至230517版。
我们现在使用PDB100而不是PDB70(详见[主要](https://colabfold.com)笔记本中的说明)。
2023年6月12日:我们引入了新的默认配对策略:
之前,对于超过2条链的多聚体预测,
我们只在所有序列分类学匹配时进行配对("完全"配对)。
新的默认"贪婪"策略会配对任何分类学匹配的子集。
2023年4月30日:我们的ColabFold笔记本中的Amber再次正常工作
2023年4月29日:由于Colab更新,我们的笔记本中的Amber无法工作
2023年2月18日:v1.5.2 - 修复:修复大蛋白的内存泄漏问题
- 修复:--use_dropout(随机种子在循环之间未改变)
2023年2月6日:v1.5.1 - 修复:--save-all/--save-recycles
2023年2月4日:v1.5.0 - ColabFold更新至使用AlphaFold v2.3.1!
2023年1月3日:12月26日MSA服务器的故障硬件已被更换。
12月26日和1月3日出现了间歇性故障。目前,
没有已知问题。如果您遇到任何问题,请告知我们。
2022年10月10日:错误修复:random_seed未在alphafold-multimer中使用。
无论定义的种子如何,都返回相同的结构。这个
问题已经修复!
2022年7月13日:我们设置了一个由韩国生物信息中心提供的新ColabFold MSA服务器。
它提供加速的MSA生成,我们将UniRef30更新至2022_02版,PDB/PDB70更新至220313版。
2022年3月11日:我们默认使用AlphaFold-multimer-v2权重进行复合体建模。
我们还提供旧的复合体模式"AlphaFold-ptm"或"AlphaFold-multimer-v1"
2022年3月4日:ColabFold现在使用更强大的服务器进行MSA,并通过ColabFoldDB而不是BFD/MGnify进行搜索。
如果您观察到任何问题,请告知我们。
2022年1月26日:AlphaFold2_mmseqs2、AlphaFold2_batch和colabfold_batch的多聚体复合物预测
现在默认按iptmscore*0.8+ptmscore*0.2而不是ptmscore重新排序
2021年8月16日:警告 - MMseqs2 API正在升级,您可能会看到错误消息。
2021年8月17日:如果您看到任何错误,请报告。
2021年8月17日:我们仍在调试MSA生成程序...
2021年8月20日:警告 - MMseqs2 API正在升级,您可能会看到错误消息。
为避免Google Colab崩溃,对于大型MSA,我们使用-diff 1000获取
1000个最多样化的序列。这导致一些大型MSA质量下降,
因为靠近查询的序列被合并为单个代表。
我们正在更新服务器(今天)以解决这个问题,确保
最终MSA中既包含多样化序列,也包含靠近查询的序列。
更新完成后,我们会在这里发布更新。
2021年8月21日 MSA问题现在应该已经解决!请报告您看到的任何错误。
简而言之,为减小MSA大小,我们过滤(qsc > 0.8,id > 0.95)并在不同的qid(与查询的序列相似度)区间
取3000个最多样化的序列并合并它们。具体来说,在qid为(0→0.2)、(0.2→0.4)、
(0.4→0.6)、(0.6→0.8)和(0.8→1)的区间各取3000个序列。如果您在
2021年8月16日至2021年8月20日之间提交了序列,我们建议重新提交以获得最佳结果!
2021年8月21日 AlphaFold2_mmseqs2中的use_templates选项无法正常工作。我们正在
修复这个问题。如果您不使用模板,这不会影响
结果。其他不使用use_templates的笔记本不受影响。
2021年8月21日 模板问题已解决!
2021年11月11日 [AlphaFold2_mmseqs2]现在使用Alphafold-multimer进行复合体(同源/异源寡聚体)建模。
使用[AlphaFold2_advanced]笔记本获取旧的复合体预测逻辑。
2021年11月11日 ColabFold现在可以通过pip在本地安装!
2021年11月14日 基于模板的预测在Alphafold2_mmseqs2笔记本中再次可用。
2021年11月14日 警告 AlphaFold2_mmseqs2和AlphaFold2_batch中的"单序列"模式从
2021年11月11日开始出现问题。无论选择如何,都使用了MMseqs2 MSA。
2021年11月14日 "单序列"模式现已修复。
2021年11月20日 警告 AlphaFold2_mmseqs2和AlphaFold2_batch中的"AMBER"模式从
2021年11月11日开始出现问题。返回的是未优化的蛋白质。
2021年11月20日 "AMBER"已修复,感谢Kevin Pan