背景:为了确定receptor kinase 3所磷酸化的蛋白,希望从蛋白质结构域互作的角度确定可能与receptor kinase 3互作的蛋白。
存放蛋白质结构域的数据库是Pfam数据库。

1隐马尔可夫模型(HMM)

通过给定已知同源基因蛋白序列,在算法中进行机器学习后生成一个隐马尔可夫模型,然后我们可以利用这个模型来预测其他物种中是否存在这样的同源基因蛋白序列。构建HMM模型需要多个输入序列,并产生一个.hmm文件,Pfam数据库收集了大量已经计算好的HMM模型,并为每个模型赋予了PF ID。由于在机器学习过程中存在某些随机过程,想要通过同样的蛋白序列文件获得与数据库中相同的HMM文件,需要使用种子文件,Pfam数据库在每个PF ID 栏都提供了seed。HMM所预测的是蛋白质氨基酸序列对应的可观测特征,这些可观测特征包括motif、repeat、domain、family、coiled-coil、disorder,不同的PF ID归类进入不同的可观测特征类别。一个蛋白序列会包含多个PF ID,因而可以利用多个PF ID搜索到的蛋白序列取交集获得目标蛋白。

1.1下载HMM文件


已经下载了全部HMM数据库在G:/bioinfor/pfam/
具体怎么检索?

1.2利用HMM模型在物种蛋白质组文件中检索序列

根据HMM模型在蛋白数据库中检索需要HMM模型与蛋白质序列文件。在网站下载蛋白质数据库时需要在基因组数据库的上级目录中去找
检索所需要的程序包是HMMER,我安装的是V3.3.2版本,推荐直接下载源码安装。
使用HMMER程序包的hmmsearch命令,一个例子:

hmmsearch --domtblout outputfile. --cut_tc hmmfile.hmm Arabidopsis_thaliana.TAIR10.pep.all.fa

参数解读(注意,单字母的参数起始是-,多字母的是–)
-options directing output 添加此参数后要指定输出文件名与绝对路径
-o输出计算结果到指定文件中,而不是输出到标准输出(屏幕)
-tblout保存每个序列的命中结果的解析表到文件中。
--domtblout保存每个结构域的命中结果的解析表到文件中,这个选项可以分割为dom-tblout,表示输出的是结构域比对信息。输出的文件看起来是以空格为分割符的文本,可以给定.txt后缀用记事本或excel打开。
--pfamtblot以pfam形式保存命中和结构域表格到文件(没理解)。
--noali不要进行比对(比对的内容是什么)
--acc在输出文件中将登录号覆盖名字
Options controlling reporting thresholds 控制报告阈值的参数(显著性控制)
-E <x> : report sequences <= this E-value threshold in output [10.0] (x>0)
在结果中报告E值小于这个阈值的序列
-T <x> : report sequences >= this score threshold in output
在结果中报告得分大于这个阈值的序列
--domE <x> : report domains <= this E-value threshold in output [10.0] (x>0)
在结果中报告E值小于这个阈值的domain
--domT <x> : report domains >= this score cutoff in output
在结果中报告大于这个分数的domain
Options controlling inclusion (significance) thresholds 控制包含(显著性)阈值的参数:
--incE <x> : consider sequences <= this E-value threshold as significant
将<=此e值阈值的序列视为有意义的
--incT <x> : consider sequences >= this score threshold as significant
将得分大于这个阈值的序列设为显著的
--incdomE <x> : consider domains <= this E-value threshold as significant
将大于等于这个E值阈值的domain认为是显著的
--incdomT <x> : consider domains >= this score threshold as significant
将domain得分大于这个阈值的认为是显著的
Options controlling model-specific thresholding 控制模型特异性阈值的参数
--cut_ga : use profile’s GA gathering cutoffs to set all thresholding
使用文件的GA gathering cutoffs来设置所有的阈值
--cut_nc : use profile’s NC noise cutoffs to set all thresholding
使用文件的NC noise cutoffs来设置所有阈值
--cut_tc : use profile’s TC trusted cutoffs to set all thresholding
使用文件的TC trusted cutoffs来设置所有阈值

此profile就是下载的HMM文件。

最后是蛋白质序列数据文件,如拟南芥的蛋白质序列。

1.3输出文件含义

hmmsearch检索产生的文件内容如下:
利用Pkinase的HMM模型在海岛棉中检测相似蛋白序列。
hmmsearch实现的过程就是根据HMM模型文件去判断一个蛋白质序列或domain属于该模型的概率。
target name:target即是被判断的目标蛋白序列名称,看起来是沿用于基因locus ID。
target accession:目标蛋白的记录号,该accession的来源不清楚,可能存在某个数据库赋予了蛋白质序列该ID,大部分物种都是不存在该accession的(需要了解什么数据库提供accession,这个数据库可能更加准确)。
tlen: target sequence length的缩写,即目标蛋白序列的长度。
query name:HMM模型的注释名称,如上图中注释名是Pkinase。
qlen:query sequence length的缩写,即检索蛋白序列的长度
E-value:用来表示比对结果相似性的可信度,越小越好,一个蛋白序列可能包含多个结构域,该E-value将多个结构域合并分析,所以同一个蛋白序列的不同结构域所处的行中,该数值相同。
#:结构域的序号
of:结构域总数。
from和to:该参数在文件中一共有3对,第一对表示参与判断结构相似性的query sequence的序列起止位置,第二对表示目标蛋白序列被比对上的起止位置,第三对没有理解,看起来是低可信度的匹配区域。
acc:The mean posterior probability of aligned residues in the MEA alignment; a measure of how reliable the overall alignment is (from 0 to 1, with 1.00 indicating a completely reliable alignment according to the model).表示对齐可靠性,对齐的具体含义也不清楚。

1.4筛选并取出目标蛋白序列

先根据筛选条件筛选蛋白序列号(target name,第一列)

grep -v "#" outfile|awk '($7 + 0) < 1E-20'|cut -f1 -d  " "|sort -u

选择不带”#“的行|筛选E-value小于1E-20的行|读取每一行的第一个数据块即target name|确保每一行唯一存在

再从蛋白序列文件中搜索蛋白序列

less Arabidopsis_thaliana.TAIR10.pep.all.fa.gz | /data1/spider/ytbiosoft/seqkit grep -f NBS-ARC_qua_id.txt > NBS-ARC_qua.fa

使用HMMERsearch搜索某物种中含有某蛋白质结构域的全部蛋白相关推荐

  1. 轻松查询多个韵达快运最后物流中含有某个地方的单号

    一般大家除了在官网查询快递物流之外,还有没有更简单的方法呢?小编的回答当然是有的,下面就以同时查询多个韵达快运物流并筛选出最后物流中含有某个地方的单号为例,一起来试试. 查询韵达物流 首先将需要查询的 ...

  2. 论文阅读笔记——模式物种中个体的自动检测和识别

    模式物种中个体的自动检测和识别 论文简介 标题 期刊情况 论文内容 摘要 介绍 相关工作 动物检测 个体动物识别 背景 快速RCNN AlexNet 方法论 日期增加 基于快速RCNN的检测 鉴定 实 ...

  3. 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写

    002-华为机试-在线测试 题目描述 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 输入描述: 输入一个有字母和数字以及空格组成的字 ...

  4. python实现:计算字符的个数,接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数。不区分大小写。

    题目内容: 接受一个由字母和数字组成的字符串和一个字符,然后输出输入的字符串中含有该字符的个数.不区分大小写. 可以使用以下语句实现字符串s的输入: s=str(input()) 输入格式: 输入一个 ...

  5. (转)java 中的try catch finally 语句中含有return语句的执行情况(总结版)

    原处:http://blog.csdn.net/ns_code/article/details/17485221 在这里看到了try catch finally块中含有return语句时程序执行的几种 ...

  6. 求n!中含有质因子p的个数

    定理:  中含有质因子p的个数为  ,其中  int cal(int n, int p) {int ans = 0;while (n != 0) {ans += n / p;n /= p; //相当与 ...

  7. java word模板占位符_word模板导出的几种方式:第一种:占位符替换模板导出(只适用于word中含有表格形式的)...

    1.占位符替换模板导出(只适用于word中含有表格形式的): /// /// 使用替换模板进行到处word文件 /// public class WordUtility { private objec ...

  8. 输入字符串中含有该字符的个数

    2019独角兽企业重金招聘Python工程师标准>>> ##需求:写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小 ...

  9. 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题

    解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 参考文章: (1)解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 (2)ht ...

最新文章

  1. CTFshow 命令执行 web55
  2. linux+网络根文件系统,认识Linux根文件系统结构
  3. 对俄罗斯应用“一刀切”,乌克兰知名开发商推出 Mac 专用反间谍软件
  4. 头条号【编编成程】开通
  5. Python学习【第2篇】:基本数据类型(详解)
  6. Cannot add task ‘wrapper‘ as a task with that name already exists.
  7. 从源码的角度分析ViewGruop的事件分发
  8. 图像算术编码 matlab,实验二:算术编码及MATLAB实现.doc
  9. EasyNVR无插件网页摄像机直播流媒体服务器对接海康8700平台视频出现RTSP视频无法接入的问题解决
  10. 洛谷 P2706 巧克力 题解
  11. 排水管网信息系统、市政排水管网信息化智慧化管理
  12. AccessibilityService——实现微信切换账号功能
  13. sin30的c语言表达式,c语言sin30怎么写
  14. 考研数学汤家凤笔记第二章:导数与微分
  15. android模拟器pc版怎么玩,原神电脑版安卓模拟器怎么使用,电脑上怎么玩原神手游...
  16. 计算机校准颜色,直观:如何在Win7计算机中校准显示器|计算机显示器颜色校准...
  17. C# ManualResetEventSlim类
  18. Exynos_4412——IIC总线概述
  19. Gdevops 2017全球敏捷运维峰会即将登陆北京!
  20. 酷壳陈皓:如何学好C语言

热门文章

  1. 多语种翻译互译,批量小语种翻译互译
  2. 神经网络讲解与实例,神经网络讲解教案
  3. 线速度、线加速度与参数化路径标量的速度、加速度之间的转换
  4. word2vector安装
  5. 4、欧姆定律和焦耳定律
  6. java 线程僵死_线程的生命周期?什么时候会出现僵死进程?
  7. 如何回答「宝洁八大问」?
  8. 计算机考研413,考研初试413分学子备考经验
  9. 回溯算法背包问题(java实现)
  10. 观自在:对无畏自在心境的领悟与实践