SGPPI: 使用GCN在严格条件下对蛋白质相互作用的结构感知预测【Briefings in Bioinformatics, 2023】

在这里插入图片描述

背景简述:

深度学习模型的出现极大地促进了蛋白质互作(PPI)的预测。由于蛋白结构有限,因此多数预测方法依赖于蛋白质序列信息(氨基酸理化性质、进化相似性)和蛋白质互作网络信息,而AlphaFold2的出现极大地增加了原子水平上的蛋白质结构数目,因此深度学习整合蛋白质结构特征有助于提升蛋白质互作预测。

研究目的:

On the other hand, it is therefore interesting to explore how the GCN representation of residue networks could better describe the inter- actions between specific protein pairs and predict specific PPIs.

研究思路:

就本文而言,作者开发了一个名为SGPPI的蛋白质互作预测方法。SGPPI利用Siamese network architecture分别对Protein A和Protein B进行特征提取,之后用2层GCN对这两个蛋白分别进行卷积处理得到两组特征矩阵,最后将这两组特征矩阵输入到全连接的前馈神经网络(fully connected feedforward neural network)中并用SoftMax进行处理得到互作预测打分 y_out

材料和方法:

数据集构建:

对数据集进行处理的原因:

In other words, a classical PPI prediction model, which was trained on a dataset with many frequently presented similar proteins, is prone to detect interactions as the consequence of over-representation of proteins that are more likely to be involved in PPIs (e.g. hubs in the PPI network) rather than predicting specific PPIs.

对数据集的处理方法:

To limit the influence of sequence similarity of proteins, the sequence redundancy of interacting proteins was removed by setting the sequence identity threshold to 40%.

数据集的处理结果:

三个来源的数据集(Profppikernel dataset、HuRI 和 Pan’s dataset),结果如下:

名称物种PPI数目
Profppikernel datasethuman and yeast842 human PPIs and 746 yeast PPIs
HuRI human datasethuman1706 PPIs
Pan’s datasethuman1160 PPIs
正负样本构建:

10-fold cross-validation,上述三个数据集各自分为10组,每组进行随机抽样,使得正样本数目:负样本数目 = 1:10,从而确保每组中的样本在序列上是不相似的。

构建SGPPI框架:

SGPPI used a Siamese network architecture to represent and predict the interacting proteins, where each protein was characterized separately.
整体上是一个Siamese network architecture,可以分为Data Preparation和Model Training两部分。

在这里插入图片描述

Data Preparation:

数据准备部分主要是对蛋白的特征进行提取,原始输入是两个蛋白(Protein A和B)的序列和结构,特征提取过程可分为以下几步:(顺序是根据Python源码确定的)

在这里插入图片描述

1. 分别获取Protein A和B的氨基酸残基特征(利用feature_extract.py得到.features):

1.1 进化信息(.pssm):
利用 NCBI在线版本的 PSI-Basic Local Alignment Search Tool 比对 NR90 database,迭代三次,e-value设为0.0001,获得.pssm序列进化信息文件(pssm,position-specific scoring matrices)。

1.2 二级结构信息(dssp.txt):
利用DSSP识别二级结构,输出结果有8种状态,然后用 One-hot 对这8种二级结构状态进行编码,得到dssp.txt文件。

1.3 蛋白质结构的局部和全局几何特征(.cv .cvlocal .atomAxs .axs):
用JET2识别蛋白质互作界面,将界面区域分为3部分:seed、extension和outer layer。seed区域是通过计算蛋白质序列中氨基酸的保守性来确定的;之后在seed的基础上,根据残基的进化信息、界面特性以及圆方差(circular variances)对seed区域进行拓展,得到extension区。
根据JET2的结果,首先用0和1表示氨基酸残基是否在互作界面的区域上,并且用JET2计算的结果来反应原子(.atomAxs)和残基(.axs)水平上的可及性。之后用圆方差来衡量3D空间中某一固定点和周围邻居点集合之间的向量分布,得到全局圆方差.cv和局部圆方差.cvlocal,用来分别描述整个蛋白界面的几何特征和局部残基的几何特征。
同时保留JET2识别的潜在互作界面(.clusters)。

1. 关于JET2全局和局部特征获取参数(PMC4686965):
PMC4686965

2. 关于圆方差(Circular Variance)的理解:
我觉得是用来描述圆或球上点的分布情况,如果分布越集中,那么圆方差就越小,如果分布越分散,圆方差就越大。

1.4 将上述所有氨基酸特征保存在.features文件中。

2. 分别构建Protein A和B的邻接矩阵(利用adjmatrix_extract.py得到.adj):

在这里插入图片描述
根据蛋白质结构中氨基酸残基的 C_alpha 之间的距离 < 10 埃来生成这些残基的邻接矩阵(.adj)(矩阵的行列一样,都是序列中的氨基酸,数值0或1表示某两个氨基酸之间在空间上的距离是否小于10埃),之后再将邻接矩阵转化为网络图谱。

3. 生成带有节点特征的无向图(利用SaveToDict.py得到sample_adj.pklsample_fea.pkl):

在这里插入图片描述
根据邻接矩阵转化的无向图,将上述得到的氨基酸残基特征整合到无向图中,以字典的形式分别存储(sample_adj.pkl sample_fea.pkl)。
得到两个蛋白(Protein A 和 B)各自的 “Undirected graph with node features”(绿色 和 橙色),作为后续模型的输入。

Model Training:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
带有节点特征的无向图 --> 2层GCN --> 节点特征取均值(FeatureAverage)–> Protein A和B的特征作 Hadamard product --> SoftMax获取y_out --> 计算precision、recall等。(train_model.py

其他:

1. 文中提到的一些现有方法:

方法原理
Profppikernel基于进化图谱
PIPRdeep residual recurrent CNN
SigProd3-mers + SVM
PIPE2正样本中序列的子序列在蛋白对中出现次数越多,就认为互作(感觉类似于基于motif-domain互作来预测PPI)

2. 其他的编码方式:

AAC(amino acid composition ):

一条序列中每种氨基酸出现的频率。

CKSAAP(Compositon of k-spaced Amino Acid Pairs):

一条序列中,两个氨基酸组合在所有组合中出现的次数。k表示间隔,因为20种氨基酸可以产生 20x20 种组合,所以会产生一个长度为400的向量。具体参考 http://www.nohup.cc/article/110/ 和 https://bmcstructbiol.biomedcentral.com/articles/10.1186/1472-6807-7-25#Sec7。

3. 文中所用RF和SVM的参数设置:

方法参数
RF + CKSAAPn_estimators and max_depth : 300 and 12
RF + AACn_estimators and max_depth : 100 and 9
SVMkernel function : rbf, the optimized C and gamma : 0.1 and 16
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值