蛋白质功能预测中PSSM矩阵的生成

这篇具有很好参考价值的文章主要介绍了蛋白质功能预测中PSSM矩阵的生成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、蛋白质功能预测

蛋白质功能预测

  近年来高通量实验方法快速发展,随之产生大量新型蛋白质,发现的蛋白质数量与其功能注释之间的差距越来越大,蛋白质功能预测成为分子生物学研究领域的核心问题。传统的蛋白质功能预测方法耗时且昂贵,依靠单一数据源的特征信息表达不全面,因此如何选用合适的机器学习方法,构建有效的模型来融合多种生物数据,对预测蛋白质功能具有重要意义。

  蛋白质功能预测通常被视为多标签分类问题,当前用于蛋白质功能预测的最新方法是使用机器学习技术来训练分类器,这些技术是基于大量网络、序列和基因表达等多种数据源进行预测。机器学习模型的应用离不开数据和算法,但是原始数据往往不能直接应用在模型中进行训练,通常需要特征向量化。受到受到氨基酸序列排列顺序及其折叠形成的空间结构影响,蛋白质蕴含不同的理化性质,体现出复杂多样的生物学功能,进而影响生命活动机制。

  研究人员挖掘氨基酸特性的角度存在多样化,故能从序列中得到的生物信息也不同。近些年的研究表明,序列特征表示方法大多从氨基酸组成、氨基酸理化性质、进化信息等生物本质或者深度学习的角度提取想要的信息。本文主要介绍位置特异性打分矩阵 (Position-Specific Scoring Matrix, PSSM)是 Gribskov 等人首次在实验中采用的序列特征表示方法。对比其他序列特征提取方法,一级结构的进化信息借助PSSM得到有效表达,使得蛋白质分配功能注释、预测蛋白质结构、蛋白质结合位点预测等多类生物学研究取得一定的进步。PSSM通过序列相似性比对生成,将氨基酸的保守性信息包含在矩阵中。

二、PSSM矩阵

  PSSM矩阵全称是“position-specific scoring matrix”,翻译为中文是“位置特异性打分矩阵”,也被称为“位置权重矩阵”(position weight matrix,PWM)、“位置特定权重矩阵”(position-specific weight matrix,PSWM),是生物序列中基序(模式)的常用表现形式。对于氨基酸和核苷酸,矩阵的形式不太一样,根据维基百科的解释,DNA(或RNA)序列对应的PSSM矩阵的行数为4,对应着四种不同的核苷酸;蛋白质序列的PSSM矩阵的行数为20,对应着二十种氨基酸。不过二者的PSSM的列数均为序列长度。(注:在使用软件生成的PSSM矩阵中,恰好相反,列数分别为固定的4或20,行数为序列长度。)如下图所示:

pssm,python,人工智能

  图中所示的就是一个具体的蛋白质序列生成的PSSM矩阵,通常来说我们只关注红框中的内容,后面的内容不做过多关注。红框中的内容是一个L*20维的矩阵,L代表着蛋白质序列的长度(图中绿色部分),20代表着20中氨基酸(图中蓝色部分)。

  对于其中的数字,十分常见的一个解释是:对于PSSM中的一个元素Pij,其数值表示序列第i个位置上的氨基酸在进化过程中突变成第j个氨基酸的可能性,若值为正,就表示可能性越大;反之则表示可能性越小。

  接下来介绍使用BLAST软件生成PSSM矩阵的过程,推导过程可看这篇文章:PSSM(一)-什么是PSSM – Ayanokouji Monki的博客

三、生成PSSM矩阵

生成序列文件

  在UniPort网页中搜索蛋白质名称,并从中下载包含序列等信息的fasta文件,只读取其中的序列并生成单独的序列文件。(在使用BLAST软件生成PSSM时,文件中只能包含一条序列)

pssm,python,人工智能

fasta文件格式

pssm,python,人工智能

下载与安装BLAST

  在Windows下下载适合的BLAST版本并配置相应的环境变量。下载地址为:Index of /blast/executables/blast+/LATEST (nih.gov)。我的主页提供了已经下载好的2.13.0版本的BLAST,下载完成后双击进行安装。

pssm,python,人工智能

  安装完成后需要配置环境变量,在系统变量下方“Path”添加变量值,路径写到安装BLAST软件的bin目录下。例如E:\BLAST\blast-BLAST_VERSION+\bin。

  若想要查看是否安装成功,可以点击window的“开始”菜单,输入cmd,打开DOS命令行模式,输入psiblast -version命令来查看安装的版本信息,若能查询到,则代表成功安装。

pssm,python,人工智能

构建BLAST本地数据库

  我们需要首先下载数据库并对其解压,数据库的下载地址为:Index of /blast/db (nih.gov)。通常情况会选择SwissProt数据库、nr数据库等,但nr数据库是一个非冗余的蛋白质序列数据库,整个nr数据库大约上百G,构建本地数据库非常耗时,故通常选择SwissProt数据库。

pssm,python,人工智能

  下载好数据库后,在blast文件夹下创建一个db文件夹,存放解压后的数据库文件。解压后在DOS命令行运行格式化数据库的命令:makeblastdb -in swissprot -dbtype prot -title “swissprot” -out sp。这样就完成了本地数据库的建立。(最新下载下来的数据库文件解压后好像可以直接使用,不用在DOS命令行执行操作,大家可以跳过此步。)

  ①-in:后面跟要格式化的数据库

  ②-dbtype:后跟所格式化的序列的类型,nucl指的是核酸,prot指的是蛋白质

pssm,python,人工智能

生成PSSM

  应用PSI-BLAST读取每个蛋白质对应的氨基酸序列,生成相应的位置特异性打分矩阵。此命令是:psiblast -query 蛋白质序列所在位置 -db 数据库所在位置 -evalue 0.001 -num_iterations 3 -out_ascii_pssm 输出pssm文件的位置。注意:当文件路径中出现空格时,一定要用双引号将路径引起来。例如:

psiblast -query "F:\Protein Prediction SVM\Data\aa.fasta" -db E:\BLAST\blast-BLAST_VERSION+\db\swissprot -evalue 0.001 -num_iterations 3 -out_ascii_pssm C:\Users\DELL\Desktop\ttttt.pssm

  参数列表:

    ①-query:后面跟需要比对的序列位置,文件必须为fasta格式

    ②-num_iterations:迭代次数,一般选择3次

    ③-db:后面跟本地数据库的位置

    ④-out_ascii_pssm:如果需要生成PSSM矩阵,则需要输入此参数,参数后面跟pssm矩阵的名字,可任意取名

    ⑤-evalue:期望阈值,一般选择0.001

  经过以上的步骤,便可以生成一个L*20维的PSSM,但是通过DOS命令行的方式,一次只能为一条蛋白质序列生成PSSM,效率非常底下,故可以选择使用Python程序来实现自动为任意条序列生成PSSM的工作。

四、Python实现批量生成PSSM矩阵

  先放代码,然后解释。(本人Python不是特别熟悉,故实现时没有考虑效率问题,大家如果有什么建议,还请发表在评论区相互学习)

import os
import re
import codecs #或者io,使用哪种包无所谓
import pandas as pandas

def Get_PSSM(species_id):
    
    df = pandas.read_excel(r'../Data/'+str(species_id)+'.xlsx', engine='openpyxl')

    for i in range(0, df.shape[0]) :
        f = open(r'../Data/Temporary.fasta', 'w')
        f.write(df.values[i][1])
        f.close()

        os.system('psiblast -query "F:\Protein Prediction SVM\Data\Temporary.fasta"' + ' -db E:\BLAST\\blast-BLAST_VERSION+\db\swissprot -evalue 0.001 -num_iterations 3' + ' -out_ascii_pssm "F:\Protein Prediction SVM\Data\\'+str(species_id)+'\\' + str(df.values[i][0]) + '.pssm"')
    print("step_1:所有PSSM矩阵构建成功")

  我是将一个物种的所有蛋白质名称及序列利用爬虫技术获取到以后,存在一个名为该物种ID的Excel表格中,然后依次读取表格中的每一行内容,将序列数据放到一个临时的fasta文件中,然后生成该序列对应的PSSM,每一个PSSM的名称都是对应序列的蛋白质的名称。

注意事项

  ①一些过短的蛋白质序列是没有办法在swissprot数据库中完成搜索,并生成PSSM的,一般长度在15以下就无法生成了,可以选择更换nr数据库进行尝试。

  ②使用PSI_BLAST生成的PSSM是一个L*20维的矩阵,并不是一个固定长度。但是基于机器学习或其他方法,通常是需要使用相同长度的特征向量进行训练,所以还需要对不同大小的PSSM矩阵进行信息提取和归一化处理,大家可以上网搜索相关的论文。

  如何生成PSSM矩阵就介绍到这里啦,大家有什么问题可以在评论区讨论!文章来源地址https://www.toymoban.com/news/detail-787596.html

到了这里,关于蛋白质功能预测中PSSM矩阵的生成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PSP - 基于开源框架 OpenFold Multimer 蛋白质复合物的结构预测与BugFix

    欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132410296 AlphaFold2-Multimer 是一个基于 AlphaFold2 的神经网络模型,可以预测多链蛋白复合物的结构。该模型在训练和推理时都可以处理多链输入,并且考虑了链之间的对称性和遗传信息。 对于

    2024年02月11日
    浏览(42)
  • PSP - 蛋白质与核酸(RNA\DNA)复合物结构预测 RoseTTAFoldNA 算法框架

    欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134208615 Paper: Accurate prediction of nucleic acid and protein-nucleic acid complexes using RoseTTAFoldNA GitHub: RoseTTAFold2NA 蛋白质-核酸复合物 (Protein - Nucleic Acid Complexes),在生物学中发挥着关键作用。 尽管蛋白质

    2024年02月22日
    浏览(39)
  • PAM(Point Accepted Mutation)矩阵是一种用于比较蛋白质序列相似性的矩阵

    PAM(Point Accepted Mutation)矩阵是一种用于比较蛋白质序列相似性的矩阵。它是根据蛋白质序列的进化关系和突变概率来构建的。 PAM矩阵的构建过程基于以下假设:在蛋白质序列的进化过程中,突变的概率是相对稳定的。因此,通过比较现有蛋白质序列的差异,可以推断出它们

    2024年03月14日
    浏览(49)
  • 利用深度蛋白质序列嵌入方法通过 Siamese neural network 对 virus-host PPIs 进行精准预测【Patterns,2022】

    病毒感染可以导致多种组织特异性损伤,所以 virus-host PPIs 的预测有助于新的治疗方法的研究; 目前已有的一些 virus-host PPIs 鉴定或预测方法效果有限(传统实验方法费时费力、计算方法要么基于蛋白结构或基因,要么基于手动特征工程的机器学习); DL在PPIs预测中的应用愈

    2024年02月11日
    浏览(50)
  • 比最优技术快 8 倍:浙大侯廷军等人提出 ResGen,基于蛋白质口袋的 3D 分子生成模型

    作者:彬彬 编辑:李宝珠,三羊 浙江大学与之江实验室研究团队提出了一种基于蛋白质口袋 (protein pocket) 的 3D 分子生成模型——ResGen,与以往最优技术相比,速度提升 8 倍,成功地生成了具有更低结合能和更高多样性的类药物分子。 过去,创新药物的发现往往依赖于古早配

    2024年01月22日
    浏览(46)
  • 学术速运|通过剂量和时间分辨的蛋白质组学来解密药物作用和蛋白质修饰

    ​题目:Decrypting drug actions and protein modifications bydose- and time-resolved proteomics 文献来源:10.1126/science.ade3925 (2023) (Science) 代码:无 简介:虽然大多数癌症药物通过改变翻译后修饰(PTMs)来调节细胞通路的活性,但令人惊讶的是,关于药物调节的PTMs的程度和时间和剂量反应特征,我

    2023年04月17日
    浏览(47)
  • 蛋白质深度学习

    本文主要面向两类目标读者: 一类是想使用机器学习的生物学家,一类是想进入生物学领域的机器学习研究者。如果你不熟悉生物学或机器学习,仍然欢迎你阅读本文,但有时你可能会觉得有点读不太懂!如果你已经熟悉这两者,那么你可能根本不需要本文 —— 你可以直接跳

    2024年02月03日
    浏览(43)
  • ESM蛋白质语言模型系列

    第一篇《Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences 》ESM-1b 第二篇《MSA Transformer》在ESM-1b的基础上作出改进,将模型的输入从单一蛋白质序列改为MSA矩阵,并在Transformer中加入行、列两种轴向注意力机制,对位点分别计算第个序列和第个

    2024年02月07日
    浏览(59)
  • ESM2蛋白预训练模型 蛋白质、氨基酸向量表示

    参考: https://github.com/facebookresearch/esm https://huggingface.co/facebook/esm2_t33_650M_UR50D https://esmatlas.com/resources?action=fold 直接输入Fasta 氨基酸序列格式就行;第一次下载esm2_t33_650M_UR50D模型有点慢,有2个多G大

    2024年02月15日
    浏览(128)
  • Top 15 开源3D分子蛋白质建模与渲染软件

    如今,WebGL 是一种趋势技术,因为它允许开发人员使用现代浏览器作为客户端来创建复杂的 3D 交互式图形、游戏,而无需安装额外的插件、扩展或软件。 WebGL允许浏览器直接与GPU(图形处理单元)一起工作。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 有多种 JavaScript 框架旨

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包