大数跨境
0
0

蛋白质结构分析系列(二)

蛋白质结构分析系列(二) Dr.X的基因空间
2020-12-31
0
导读:蛋白质结构分析系列(二):同源建模写在前面的一直在反复思考,是否要把同源建模放在第二次推文里面写。因为从知识

蛋白质结构分析系列(二):同源建模

写在前面的
一直在反复思考,是否要把同源建模放在第二次推文里面写。因为从知识逻辑顺序及结构体系来说,这部分放在后面讲是最合适的。但是考虑到受众面及需求,或许教会大家如何进行简单同源建模效益更大。所以这一节就先讲利用本地软件进行同源建模分析。

同源建模理论

        预测未知蛋白的结构有三种计算方法:1.同源建模;2.折叠模式识别和从头预测结构。这之中,同源建模基于一级结构决定高级结构,相似的一级结构较大可能具有相同或相似的高级结构这一基本假设或原理是目前蛋白质结构分析中准确率最高的方法。相对的,基于同源建模的理论,对一个未知蛋白质结构的预测建模需要一条已经具有已解析空间结构且在一级序列水平具有一定程度相似性(通常大于60%)的模板蛋白。上一次推文提到的PDB数据库储存了大量具有已知空间结构的蛋白质数据。

同源建模步骤

  1. 选择模板和比对序列:选择已知晶体结构的模板蛋白质并进行序列比对,根据比对结果确定该已知晶体结构蛋白是否可以作为模板蛋白(一般来说一级结构相似度大于30%即可,通常认为相似度大于60%建模后的预测结构已经非常接近真实结构);

  2. 构建主链结构:将模板蛋白的原子坐标应用于目标中,生成基本的预测蛋白的主链骨架再适当(以符合立体化学原则为基准)调整主链原子位置;

  3. 构建环区:根据模板蛋白已知的环区结构,或者根据量子化学原理从头构建预测蛋白的环区;

  4. 侧链的建模和优化:根据能量最小化原则,搜索相关旋光异构体数据库或优化蛋白质空间取向寻找能量最低点,即稳定构象;

  5. 优化整体结构:经上述过程得到的三维模型内原子间通常会有不合理接触,需要使用模拟退火和分子动力学等方法消除;

  6. 结构评估:最普遍的评价标准是RMSD,它代表着目标蛋白与模板蛋白间对应原子的均方根偏差。也可以提交到SAVES服务器进行检验。(本人一般做的比较少,因为我并不是专门做结构生物学的,通常在上一步我选择模拟退火算法解析出最稳定的粗糙结构即可)

以SARS的S蛋白为模板使用modeller进行同源建模

        上面的建模步骤看起来似乎很多超过了常规生命科学的知识范畴。说实话,我自学这些理论的时候也看的云里雾里。不过好在已经有专业科学家团队造好了本地分析的轮子。使得我们可以更灵活地进行分析。modeller就是其中较好的软件之一。该软件建议在Unix系统上运行,通过几个python脚本运行软件。下面我们以SARS病毒的S蛋白为模板,建立SARS-CoV-2的S蛋白模型(虽然SARS-CoV-2的S蛋白已经有了空间结构)。

        在PDB数据库中搜索SARS病毒的S蛋白晶体结构(序列号2AJF)文件并下载。



比对模板链和目标链

from modeller import *

env = environ()
aln = alignment(env)
#模板序列文件名称,比对的模板序列链,可以从PDB数据库中获取信息,本次比对A链
mdl = model(env, file='6ajf', model_segment=('FIRST:A','LAST:A')) 
aln.append_model(mdl, align_codes='6ajfA', atom_files='6ajf.pdb')
#输出要进行比对的序列文件名及序列名,COV2是本人存放新冠S蛋白FASTA序列的文件名
aln.append(file='COV2.ali', align_codes='COV2')
aln.align2d()
aln.write(file='COV2-6ajf.ali', alignment_format='PIR')
aln.write(file='COV2-6ajf.pap', alignment_format='PAP')

建立模型

from modeller import *
from modeller.automodel import *
#from modeller import soap_protein_od

env = environ()
#比对好的序列文件就是上一个脚本输出的.ali文件
#选择自动建模的方式,这是适合初学者的傻瓜式操作。效果也较好
a = automodel(env, alnfile='比对好的序列文件.ali',
##6ajf是指模板蛋白名,A是指A链
              knowns='6ajfA', sequence='目标序列名'
              assess_methods=(assess.DOPE,
                              #soap_protein_od.Scorer(),
                              assess.GA341))
#ending_model是输出多少次建模结果,一般是5次,本人设置10次
a.starting_model = 1
a.ending_model = 10
a.make()

结果选择

        一般情况下以上两步进行完成后会输出一个叫model-single.log的文件和多个建模好的pdb文件,选择DOPE score值最小的pdb文件作为同源建模结果文件即可,这个模型就是对应的能量最小化的模型。当然也可以继续使用脚本进行模型评价。也可以直接跳过模型评价进行loop优化。如果这里不需要特别预测精细的结构,选择当前的结构作为粗糙结构即可。

写在后面
因为考虑到太多相关知识点还没有铺展好,所以此次推文并没有打算把同源建模讲深入。使用当前的方法可以得到一个较好的粗糙模型。如果想要更精细的模型可以等待后面持续更新的如何进行环结构优化。如果使用个人笔记本电脑运行上面程序,大概需要12小时。


【声明】内容源于网络
0
0
Dr.X的基因空间
【中国科学院博士】10年生命科学数据挖掘研究经验,关注生物医药领域体外诊断(IVD)方向,如肿瘤早筛、传染病未知病原快速检测中的技术创新及其与人工智能(AI)的赋能应用
内容 176
粉丝 0
Dr.X的基因空间 【中国科学院博士】10年生命科学数据挖掘研究经验,关注生物医药领域体外诊断(IVD)方向,如肿瘤早筛、传染病未知病原快速检测中的技术创新及其与人工智能(AI)的赋能应用
总阅读92
粉丝0
内容176