[基因家族鉴定] hmmsearch结果解读

在基因家族分析中,hmmsearch用来在很多候选序列中寻找具有某种基因家族结构域的蛋白。在寻找时,需要提供基因家族对应的隐马模型。前段时间给大家介绍了pfam数据库更新后hmm文件不能使用的问题,有粉丝给出了如下解决方案,下载的文件是压缩格式,将文件添加.gz后缀后,解压即可。hmmsearch之前介绍过,今天主要给大家介绍输出结果。

part1. 参数说明

# hmmsearch :: search profile(s) against a sequence database
# HMMER 3.0 (March 2010); http://hmmer.org/
# Copyright (C) 2010 Howard Hughes Medical Institute.
# Freely distributed under the GNU General Public License (GPLv3).
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# query HMM file:                  query.hmm
# target sequence database:        target.fasta
# sequence reporting threshold:    E-value <= 1e-05
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

这里面主要是说明用了哪个模型、输入序列以及设置的参数阈值,这里只设置了evalue一个参数,E-value <= 1e-05。

part2. 筛选结果

Query:       target.test.aln  [M=583]
Scores for complete sequences (score includes all domains):
   --- full sequence ---   --- best 1 domain ---    -#dom-
    E-value  score  bias    E-value  score  bias    exp  N  Sequence            Description
    ------- ------ -----    ------- ------ -----   ---- --  --------            -----------
   6.5e-165  551.5   0.1   8.6e-165  551.1   0.0    1.0  1  test.query01G2293 gene=test.query01G2293
   1.8e-162  543.5   0.0   2.3e-162  543.1   0.0    1.1  1  test.query05G2589 gene=test.query05G2589
   6.8e-162  541.6   0.0   9.1e-162  541.2   0.0    1.1  1  test.query03G0799 gene=test.query03G0799
   4.1e-159  532.4   0.0   5.4e-159  532.0   0.0    1.0  1  test.query07G1076 gene=test.query07G1076
   8.6e-158  528.0   0.0   1.1e-157  527.7   0.0    1.1  1  test.query07G1966 gene=test.query07G1966

使用hmmsearch筛选的时候目的很明确,就是确定哪些序列中包含目标结构域,这个统计表很直观。统计结果中会统计全部序列和结构域比对的结果,每个都有对应的E-value、score和bias三个统计结果,最后是拥有该结构域的候选序列。

part3. 比对结果

这部分首先是输出每条序列中筛选获得的所有结构域比对统计结果,之后给出每个结构域与query序列详细的序列比对结果。

  • 统计结果
>> test.query01G2293  gene=test.query01G2293
   #    score  bias  c-Evalue  i-Evalue hmmfrom  hmm to    alifrom  ali to    envfrom  env to     acc
 ---   ------ ----- --------- --------- ------- -------    ------- -------    ------- -------    ----
   1 !   10.7   0.0   0.00082       0.4     212     263 ..       9      61 ..       2      75 .. 0.88
   2 !   41.6   0.1   3.5e-13   1.7e-10     310     473 ..      97     261 ..      90     266 .. 0.84
   3 !   21.4   0.0   4.6e-07   0.00022     507     582 ..     286     361 ..     282     364 .. 0.90

上面的结果显示test.query01G2293序列中存在3个结构域。

第一列的!表示该结构域全部或者部分存在于比对全序列及结构中,如果不存在,表示为?。

对于c-Evalue和i-Evalue,c表示conditional,计算时假定全序列都是同源序列进行比对,i表示independent E-value,无前面的假设。part2比对结果中的E-value为i-Evalue。

后面几列是比对区间,hmm为模型文件中的比对区间,ali为输入序列中的比对区间,env为输入序列中结构域的区间。
acc为准确度

  • 比对结果

之前没有注意过这个结果,发现这里面的东西还挺多,详细说一下。

  Alignments for each domain:
  == domain 1    score: 10.7 bits;  conditional E-value: 0.00082
       target.test.aln 212 lrelLvecaeavsednlelaqellarlselsSpegn.pseRlaayfaeaLear 263
                             +lL++ca+a++ ++l+ a  ll  +  l+  +    + Rl++yfa+aL  r
     test.query01G2293   9 ALRLLLSCAKAIEDGDLKSADALLHIILVLADERPYlYESRLVKYFADALVRR 61 
                           5689***********************9999988887889**********987 PP

  == domain 2    score: 41.6 bits;  conditional E-value: 3.5e-13
       target.test.aln 310 ilealenedrvHiiDfdisqGlQwpsLlqeLasrsnkspslriTgigepesgvrseeglretgdrLaqfaeelnvpfe..f 388
                           i +al ++ r+H iDf i + +   s l++L + s+ +  +r+  i +p  + +  e   ++ + L++ a +lnv++e   
     test.query01G2293  97 IDDALMGNRRLHLIDFSIPYENFEGSVLRTLPTFSGDPLPVRVSYILPPFLK-KYVESFSQM-EFLTKDAMNLNVKLEaeL 175
                           558999999**************************************99998.445555544.679999999998886115 PP

       target.test.aln 389 navvs.kledirlesLkv...kegEtvaVnlvfqlhklldesVtesardelLrlikslnPkvvvlaeqeantndasFltrf 465
                           ++v    l +++  +L++   +e+E v+V   f+l kll ++   +a+++ L ++k++nP +v++ +   n+  + Flt +
     test.query01G2293 176 KVVYAnSLAEVDEYKLDFkrrREDEMVVVYYKFKLDKLLTDG---KAMERELVRLKEINPTIVIMLDFYSNHTHSNFLTCL 253
                           56666677778888887633369*****************96...5555556679************************** PP

       target.test.aln 466 iealeyYs 473
                            ++ +yYs
     test.query01G2293 254 EHSFQYYS 261
                           *******9 PP

==后面的内容为每个结构域的统计结果,下方是序列的比对结果。

第一行为数据库中的序列,.表示在输入序列中存在插入,大写的氨基酸表示该位置高度保守(emission probability比较高,隐马模型中术语,具体原理及算法有兴趣的可以查阅相关资料)。第三行为输入的待测序列,-表示相对于数据库序列,输入序列中存在缺失。

最后一行为后验概率值,区间从0-9,0表示0-5%,1表示5-15%,以此类推,*表示95-100%。

两条序列中间为一致性序列(consensus sequence),字母的大小写与数据库中序列保持一致,+表示保守型置换(conservative substitution)。这里并不是说一对相同的氨基酸只要出现就被定义为保守置换(示例如下)。

17 sllsssrk.........................llsdalaaqakeksl.....................vqhP......lr 45 
   + +s++ +                         +++d+la+qa+eksl                     v+ P      + 
79 DTFSPTDDtdvsdtvlkyisqvlleeemeekpcMFHDSLALQAAEKSLyevlgesypprdqapvcvdpsVESPdncsfgTS 159
   556666666666666666666666677778888********************8888885555544444444476666633 PP

第二位和倒数第二位都是l-->T,第二个为保守性置换。这是因为在计算时,只有该位点emission probability大于背景频率才会定义成保守性置换。

part4. summary结果

Internal pipeline statistics summary:
-------------------------------------
Query model(s):                            1  (583 nodes)
Target sequences:                      40960  (16088871 residues)
Passed MSV filter:                      2227  (0.0543701); expected 819.2 (0.02)
Passed bias filter:                     1064  (0.0259766); expected 819.2 (0.02)
Passed Vit filter:                       179  (0.00437012); expected 41.0 (0.001)
Passed Fwd filter:                        90  (0.00219727); expected 0.4 (1e-05)
Initial search space (Z):              40960  [actual number of targets]
Domain search space  (domZ):              84  [number of targets reported over threshold]
# CPU time: 2.95u 0.08s 00:00:03.03 Elapsed: 00:00:00.51
# Mc/sec: 18355.80

对于整个筛选过程,先后经过MSV、bias、Vit以及Fwd过滤,具体原理及算法可以查看官方文档[1]。summary中Domain search space (domZ)为最终筛选后获得的序列,有84条。

参考文献

[1] http://eddylab.org/software/hmmer/Userguide.pdf

你可能感兴趣的:([基因家族鉴定] hmmsearch结果解读)