Alphafold实用指南—官网教程2

AlphaFold2与AlphaMissense实用指南

在这里插入图片描述

承接上一篇博客:https://blog.youkuaiyun.com/weixin_62528784/article/details/155072898?spm=1001.2014.3001.5502

本篇博客主要是我参与学习EMBL-EBI关于Alphafold培训课程的第2部分笔记,

官网相关教程信息,参考:https://www.ebi.ac.uk/training/online/courses/alphafold/

文章目录

一,输入与输出

1,AlphaFold2 的输入和输出——回顾

AlphaFold2 输入

关于colabfold,这里只是提一嘴:

https://www.ebi.ac.uk/training/online/courses/alphafold/accessing-and-predicting-protein-structures-with-alphafold/predicting-protein-structures-with-colabfold-and-alphafold-colab/

具体官网链接参考:https://github.com/sokrypton/ColabFold?tab=readme-ov-file

AlphaFold2 输出

2,其他用于检查预测结构质量的工具

希望进一步评估 AlphaFold2 预测的蛋白质结构质量的用户可以使用多种开源工具。

比如说我常用的一个就是PAE viewer,

主要是用于可视化PAE热图

二,使用 AlphaFold 2 获取和预测蛋白质结构

获取和使用方式如下:

这一节其实个人觉得比较重要,毕竟理论说一千道一万,最后还是得用上,怎么用、到哪里用,如何用,有哪些官方的齐全的、全面的途径?

我们的最终评估目的应该是如下的:

1,选择如何访问 AlphaFold2

1个决定是否使用 AlphaFold2 的常见工作流程

先看数据库-colab等计算压力小的工具上初步预测/批量预测-高精度再用AF系列model

总体而言,如何评估你的结构预测任务是否需要升级?

核心准则:工作流程从计算量最小的步骤开始,只有在它不起作用时才升级

下面是三种访问 AlphaFold 方式的优缺点:

2,在 AlphaFold 数据库中访问预测的蛋白质结构

我们可以以多种方式搜索 AFDB,包括:蛋白质名称、基因名称、UniProt ID、生物体名称和氨基酸序列。

3,如何最佳地访问数据库?

4种方式:直接从官网数据库,通过FTP,从Google Cloud公共数据库获取,通过API接口访问

几种方法功能的比对:

如何通过 API、FTP 和 Big Query 访问?

使用 BigQuery 探索 AlphaFold 蛋白质结构数据库

官网提供的google notebook,其中code部分可以借鉴,以及在线运行:

https://colab.research.google.com/github/paulynamagana/AFDB_notebooks/blob/main/AFDB_BigQuery.ipynb

使用 API 获取 AlphaFold 结构

这个一般才是我们生信的手段,所以这一块是划重点的!

官方示例参考:https://colab.research.google.com/github/paulynamagana/AFDB_notebooks/blob/main/AFDB_API.ipynb

从 AlphaFold 数据库 FTP 区域下载蛋白质结构

同样,官方所提供的一个培训模板脚本参考:https://colab.research.google.com/github/PDBeurope/afdb-notebooks/blob/main/AFDB_FTP.ipynb

4,AlphaFold 蛋白质结构数据库在什么情况下不是选择?

这些情况同样可以类比于alphafold3

5,使用 AlphaFold 数据库进行分析

这节培训内容,主要是讲解AFDB数据库中内置的一些处理以及数据分析,

主要是聚类和Foldseek,目的是为了掌握以下目标:

结构相似性聚类(Structure similarity cluster)

‘’

先序列聚类,再进行结构聚类

如何在 AFDB 中访问聚类成员?

在 AFDB 中每个蛋白质的页面上,我们可以发现一个列出其聚类成员的表格。该表格提供了指向同一聚类中其他蛋白质页面的链接,使我们能够快速比较它们的结构并探索潜在的功能关系。

此处我以AFDB中的Striatin-interacting protein 1蛋白质为例,在AFDB中进行聚类搜索演示:
网址参考:https://alphafold.ebi.ac.uk/entry/AF-Q5VSL9-F1?activeTab=summary

我们正常进去的都是summary and model confidence这一块内容,

现在我们需要查看相似的蛋白,就点击similar proteins。

这一块其实还有很多其他的信息,比如说我们看一下Domains,

TED+CATH,更大的一个结构域注释数据库以及注释规则,这个也是重点,做结构生物学会用上。

注释这一块,确实也就是pLDDT+PAE等指标的可视化,在序列以及结构层面上:

然后就是相似蛋白的搜索:

点击中间这个蓝色的方框,然后它其实是在PDB以及AFDB中寻找与当前结构相似的蛋白质:

比如说我当前的结构在PDB中就找到了真实的4个相似的实验结构数据条目,还有一些指标,我们主要看E值,还有序列相似度,

另外右边还有一个align in 3D,其实就是看实际的相似结构(PDB中的)和预测的结构(AFDB中的)对齐重叠效果如何,

点击之后效果如右图,确实基本上重叠得很多,要深入评估的话,就是RMSD那一套。

使用 Foldseek 在 AlphaFold 数据库中进行基于结构的搜索

Foldseek 可以揭示什么?

6,使用 ColabFold 和 AlphaFold2 Colab预测蛋白质结构

总之,官方推荐,对于计算资源比较吃紧的lab,其实还是以使用ColabFold为主,毕竟也有很多顶刊用的也是ColabFold,

对于AlphaFold3也是同理类推,至少在高通量使用的部署难度上ColabFold要比AlphaFold好用多了。

如何运行 ColabFold 和 AlphaFold2 Colab?

使用 ColabFold 或 AlphaFold2 Colab 在线预测蛋白质结构,这些选项不需要我们安装 AlphaFold2 的源代码。

在Alphafold2刚出来的时候,我就用过ColabFold,只需要顺次执行所有notebook中的cell即可,也是给出5个候选的model预测结果,当时预测一个结构,时间大概在半小时左右(因为涉及到google colab的gpu申请资源吃紧,在批量处理上虽然比web server好多了,但是实际操作效率不见得有多高,但至少人人都能做结构预测)

或者是用自己本地的gpu去进行处理:

一些简单的运行示例demo:具体参考前面colabfold给出的colab notebook

复合物预测,这个是比较重要的,因为大多数人建模一般都是对复合物建模有需求,毕竟单体数据库里一大把而且单体数据也没有多少信息在里面。

主要需要注意的一点就是,复合物多个序列之间输入的时候需要使用:链接

另外需要注意的是我们所谓的5个候选模型中哪个置信度最高,其实是可以通过前面介绍过的一些简单的全局置信指标计算的:

比如说我对生成的所有model(给定数目阈值),按照这两个指标计算一个score,就是全局性置信度的指标,然后拿这个score排一个序,其中model_0我可以指定为score highest的。

7,使用 AlphaFold2 开源代码预测蛋白质结构

主要问题在于部署的问题,如果计算能力强的话就本地部署,简单询问自己是否能够实现alphafold模型源码仓库的各种基本计算注意要求,

当然,部分头部高校其实也会在自己的超算上部署alphafold模型,这个需要实验室lab和学校超算中心协商,看看有没有渠道消费换取访问权限。

安装 AlphaFold2 源代码

对于alphafold来说,真部署了之后运行时间开销主要在MSA多序列比对以及模板搜索上,

当然,我们知道alphafold3已经取消了MSA模块了。

还有就是种子参数seed,以及后续处理软件(评估矫正)的过程:

8,获取预测蛋白质结构的其他方法

这一块培训内容,是要我们跳出AFDB以及alphafold系列模型,查看更大型的结构数据库。

The 3D-Beacons Network

网址链接参考:https://www.ebi.ac.uk/pdbe/pdbe-kb/3dbeacons/

总的来说,3D-Beacons Network 是一个开放性的大分子结构提供合作网络。我们可以比较来自不同提供者的实验测定和预测的大分子结构,包括 AlphaFold 数据库。

这个网站目的非常明确,就是用来搞计算生物学的人来分析、下载数据的:

支持访问 AlphaFold2 的软件包

这里重点提一下奇美拉,因为一般最后结构可视化+画图的时候,基本上大家用的都是pymol+奇美拉这两种。

pymol也行,能够从AFDB中获取数据

如何引用 AlphaFold

这个没什么好说的了,就是最终文献引用的一些注意点,不得不说,alphafold这个体系还是挺完善的,整体引用下来差不多10篇文献了。

参考:https://www.ebi.ac.uk/training/online/courses/alphafold/accessing-and-predicting-protein-structures-with-alphafold/how-to-cite-alphafold/

三,预测蛋白质结构的先进建模与应用

本节将涵盖如何使用 AlphaFold 进行高级建模,例如预测蛋白质-蛋白质相互作用、建模大型蛋白质复合物和替代结构状态。我们将学习如何使用 AlphaFold 深入了解蛋白质结构和功能。

最终培训的目的如下:

1,定制 AlphaFold2 结构预测

这一节内容,说白了就是调参,就像机器学习一样,广义以及狭义的调参,如何在原始的baseline上调节处更好的结果。

ColabFold 中可用的参数

colab的官网中有更多的细节设置:https://colab.research.google.com/github/sokrypton/ColabFold/blob/main/AlphaFold2.ipynb#scrollTo=UGUBLzB3C6WN

构象采样这一块,聚类也许用于用于降维。

官方提供的一个关于如何使用 ColabFold 的简短示例(多构象蛋白结构预测示例)

这个例子我觉得很重要,启发性很大

考虑到这一点,我们如何使用 AlphaFold2 预测 OCT1 的多构象结构?

ColabFold 的输出

颜色编码这一块参考:https://github.com/sokrypton/ColabFold#faq

2,利用 AlphaFold2 预测的结构解决更深层次的问题

AlphaFold2 有助于揭示蛋白质的功能和进化关系(本质就是功能预测的task)

这一块其实没什么好说的了,生物化学里最基础的原则就是序列-结构-功能-进化,当然对于IDR也就是无序序列我们的结果不是固定的,而是一个动态的构象集合,但是也大致遵守序列-构象集合-功能-进化功能。

我们之所以关注结构,是因为我们关心功能,而结构对于功能非常重要。

所以alphafold其实能够帮我们快速的建立起来一种“从结构预测功能”的范式,而因为功能与保守性相关,而结构相比序列更加保守,所以**“从结构预测功能”比单纯“从序列预测功能”会更加科学合理一点**。

而且一般来说,在功能上结构的保守性比序列更强,也就是结构比序列更加保守,这一点很重要。

简单来说,传统的通过氨基酸序列相似性来预测蛋白质功能的方法有一定的局限性。因为具有相似氨基酸序列的蛋白质可能由于序列的微小变化而具有不同的功能,而蛋白质结构的保守性使得我们可以更准确地预测功能。例如,如果两个蛋白质的三维结构非常相似,它们很可能具有相似的功能,即使它们的氨基酸序列只有部分相似。

例如,有些蛋白质家族的成员在氨基酸序列上差异很大,但它们的结构却很相似,因此它们的功能也相似。通过结构比较,我们可以发现这些蛋白质家族成员之间的功能联系,而仅仅通过序列比较可能会错过这些联系。


说到这里,其实我想起之前的一篇博客(详细链接参考:https://blog.youkuaiyun.com/weixin_62528784/article/details/151230484?spm=1001.2014.3001.5502),

主要是讲如何在序列水平上简单分析一个新蛋白质序列,简单来说就是进化分析、系统发生分析。

虽然与序列无关,但是我这里还是补充一点,光光是做进化,也就是功能分析、进化分析的话,其实从结构上看会更加靠谱一点,因为功能是进化保守的,而结构的保守性一般比序列的保守性更好,所以如果有新序列了,其实可以从结构层面进行进化保守性分析,比如说使用Foldseek或MMseq2(也就是本篇博客讨论的内容),可以将新序列的结构与结构数据库进行比对,这个道理其实类似于用BLAST系列工具将新序列的序列与序列数据库进行比对。

AlphaFold2 预测结构的进一步洞察

3,科学界对 AlphaFold2 的改进

预测免疫系统蛋白质的结构

预测跨膜蛋白的结构

简化蛋白质-蛋白质相互作用预测

预测蛋白质互作的AlphaPullDown:https://github.com/KosinskiLab/AlphaPulldown/

添加配体和辅因子

AlphaFill 的功能,现在Alphafold3已经能够实现

四,使用 AlphaMissense 对错义变异进行分类

本节内容的目的在于探究错义突变的预测以及功能解读,最终培训目标是掌握以下内容:

1,介绍错义变异和 AlphaMissense

首先我们得了解一下什么是错义突变:
简单来说就是DNA序列上的变化,影响了其翻译成氨基酸时的替换,可以对照密码子表进行理解。

2,AlphaMissense 的工作原理

从目标上来看,AlphaMissense的目的是为了预测一个错义突变是否致病(病原性),

从实现手段以及逻辑上来看,其实就是预测一个氨基酸在其背景中,也就是上下文语境中是否是一个重要的、关键的氨基酸,其实就是氨基酸重要性评估。

类似于一些语言模型能够评估基因的重要性。

我的理解是这样的:其实重要性本质上就是功能的一些抽象概括,或者说是模糊总结,比如说某个氨基酸是酶活性位点,那当然很重要;或者是参与到重要的生物学过程中,比如说YDF或者是KQYTR等motif在loop挤出中很重要,总之重要性肯定是和功能挂钩的。

那么从我们的研究层次逻辑上来看,序列-结构/构象集合-功能-进化,那我们肯定是从功能的底层去研究,

比如说序列,序列能够做什么呢,其实也就是序列比对,也就是序列保守性分析一下;

然后除了序列,就是结构了

然后这里提几个氨基酸序列变异的benchmark数据库:

ClinVar:https://www.ncbi.nlm.nih.gov/clinvar/,汇总了有关基因组变异及其与人类健康关系的信息

EVE:https://evemodel.org/,EVE 是一个基于跨物种进化序列预测人类变异临床重要性的模型。它使用在超过 140K 个物种的氨基酸序列上训练的完全无监督深度学习。我们对所有与疾病相关的基因的单个氨基酸变异进行预测,其形式为一个分数,范围从 1(最致病性)到 0(最良性)。

MAVE:https://www.mavedb.org/,MaveDB 是一个用于存储多重变异效应分析(MAVEs)数据集的公共数据库,例如由深度突变扫描(DMS)或大规模平行报告基因检测(MPRA)实验产生。

=

3,理解 AlphaMissense 中的致病性评分

这个score的分类体系:

4,Applications of AlphaMissense

简单来说,这个数据就是关于蛋白质功能的数据,可以看作是功能建模时辅助使用的数据。

5,AlphaFold 数据库中的 AlphaMissense

效果大概如下,就是两种视图,

原始研讨会视频,在油管上:https://youtu.be/49E9m3XcgjU

### AlphaFold2 使用教程 #### 安装与配置 为了在Linux上本地安装并配置AlphaFold2,而不使用Docker容器,可以遵循以下指导。 ##### 数据库下载 运行AlphaFold2需要特定的数据库支持。这些数据库可以从多个途径获得: - **官方渠道**:访问Alphafold官方网站获取最新版本的数据资源[^1]。 - **自动化脚本辅助下载**:利用参考文献中提到的一个Python脚本来简化这一过程。 - **手动下载链接**:直接从给定的URL地址逐一下载必要的文件至本地存储设备。 ##### Conda环境搭建 建立专门用于AlphaFold2操作的Conda虚拟环境至关重要。这一步骤涉及创建新的环境以及安装一系列必需软件包: - 创建一个新的Conda环境来隔离不同项目的依赖关系。 ```bash conda create -n alphafold python=3.8 ``` - 激活新创建的环境,并开始安装各种依赖项,特别是那些不易引发冲突的基础库和可能引起麻烦的关键组件如`jax`及其扩展库`jaxlib`。 ```bash conda activate alphafold pip install numpy scipy tensorflow==2.5.0 jax jaxlib ``` ##### 获取AlphaFold2源码及相关资料 接下来是从GitHub克隆AlphaFold2项目仓库,并确保所有额外的支持性文档都被正确放置于相应位置: - 通过Git工具拉取AlphaFold2官方发布的v2.3.1版次代码库。 ```bash git clone https://github.com/deepmind/alphafold.git cd alphafold ``` - 将化学特性描述符等补充信息存入`common`子目录内以便后续调用。 #### 测试与验证 完成上述准备工作之后,应该尝试执行一些简单的测试案例以确认整个系统的正常运作状态。如果一切顺利,则表明已经具备了启动实际蛋白质结构预测工作的条件;反之则需排查可能出现的问题直至解决为止。 #### 实际应用实例 最后,在正式投入使用前还需了解具体的操作流程。通常情况下只需要调整好预设参数并通过命令行提交待处理的任务即可发起计算作业。对于初次使用者来说,建议参照提供的Shell脚本(`run_alphafold.sh`)来进行初步探索。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值