nuget server logo nuget api documents
↑

API Docs / SMRUCC.genomics.Interops.NCBI.Extensions / BHR

BHR

Full name SMRUCC.genomics.Interops.NCBI.Extensions.LocalBLAST.Application.BBH.BHR Assembly SMRUCC.genomics.Interops.NCBI.Extensions Members 4

BHR(Bi-directional hit rate)

http://www.genome.jp/tools/kaas/help.html

把要注释的genome作为query,和KEGG数据库中的reference进行blast比对,输出的结果(E>10)称为 homolog。 同时把reference作为query,把genome作为refernce,进行blast比对。按照下面的条件对每个 homolog 进行过滤:

  • Blast bits score > 60
  • bi-directional hit rate (BHR) > 0.95。

Blast Bits Score 是在Blast raw score换算过来的。

BHR是KEGG在Bi-directioanl Best Hit的基础上进行修改的一个选项,BHR = Rf * Rr。

  • Rf和Rr分别为forward sbh以及reverse sbh的R值

Given a genome to be annotated, it is compared against each genome in the reference set of the KEGG GENES database by the homology searches in both forward and reverse directions, taking each gene in genome A as a query compared against all genes in genome B, and vice versa. Those hits with bit scores less than 60 are removed. Because the bit scores of a gene pair a and b from two genomes A and B, respectively, can be different in forward and reverse directions, and because the top scores do not necessarily reflect the order of the rigorous Smith-Waterman scores

Here, R = S'/Sb where S' is the bit score of a against b, and Sb is the score of a against the best-hit gene in genome B (which may not necessarily be b). Rf refers to the score from the forward hit (A against B), and Rr refers to the score from the reverse hit (B against A). We select those genes whose BHR is greater than 0.95 in BBH method, and Rf is greater than 0.95 in SBH method.

KEGG 在做注释的时候,并不是把所有的基因都作为refernce,而是按照是否来自同一个基因组分成一个一个的小的 reference,分别进行blast,假设有两个基因组A和B,含有的基因分别为a1, a2, a3...an, b1, b2, b3...bn先用A 作为query,B作为refer,进行blast比对,A中的基因a1对B中的基因进行遍历,和基因b1有最高的bit score。 现在用B作为refer,A作为query,进行blast比对,B中的基因b1对A中的基因进行遍历,如果bits score最高的是a1, 则a1和a2就是一个BBH,但也有可能不是a1,只能成为 Single-directional hit rate。

用刚才的A和B作为例子。Rf为用A作为query,B作为Refer,a1和B中的每一个基因都计算一次,

 R = Bits_score[a1-b1] / MaxBits_score[a1_b]

分子是a1和B中的一个基因的Bit_score,分母是a1和B中基因最大的bit_score。假设注释得到的a1和b1中的某个基因 是BBH,则BHR一定等于1。当然,容许修改BHR参数<1。计算KO assignment score后, 选择得分最高的KO作为这个gene的KO。

00 Remarks

  • Moriya, Y., Itoh, M., Okuda, S., Yoshizawa, A., and Kanehisa, M.; KAAS: an automatic genome annotation and pathway reconstruction server. Nucleic Acids Res. 35, W182-W185 (2007).

01 Syntax

SMRUCC.genomics.Interops.NCBI.Extensions.LocalBLAST.Application.BBH.BHR

02 Methods

NameOverloadsSummary
HitRate 1 Calculate R score for hit R = bits / max(bits)
BHRResult 1 make term assignment directly via calculate BBH through BHR score
GetTopBHR 1 在这里计算出最高的BHR比对结果
ReverseAssembly 1 Reverse assembling of the subj vs.

03 Members

method HitRate #
HitRate(IEnumerable(Of BestHit), Double, Boolean)

Calculate R score for hit

 R = bits / max(bits)
Parameters
NameTypeDescription
thresholdIEnumerable(Of BestHit)

bit score filter threshold, Those hits with bit scores less than 60 are removed.

method BHRResult #
BHRResult(NamedCollection(Of BestHit)(), NamedCollection(Of BestHit)(), Double, Double)

make term assignment directly via calculate BBH through BHR score

Remarks

BHR的意义在于,

  • 假若BBH结果中,A在B中的bit得分并不是最高的那个的话,则按照传统的严格的BBH方法,A将不是B的BBH.(此时将会丢掉一个可能的BBH结果)
  • 但是现在在引入BHR之后,即使A在B中的bit得分不是最高的,但是BHR是最高的,则可以认为A和B此时是BBH(保留下来了一个非常可能存在的BBH结果)
Parameters
NameTypeDescription
forwardNamedCollection(Of BestHit)()

localblast alignment result of query vs. subj reference

reverseNamedCollection(Of BestHit)()

localblast alignment result of subj reference vs. query

thresholdDouble

The BHR score threshold. (当这个参数为1的时候,算法会变为传统的BBH构建方法)

method GetTopBHR #
GetTopBHR(TopHitRates, Dictionary(Of String, Double))

在这里计算出最高的BHR比对结果

Parameters
NameTypeDescription
qTopHitRates

-

rDictionary(Of String, Double)

-

Returns

Rf * Rr

method ReverseAssembly #
ReverseAssembly(IEnumerable(Of TopHitRates))

Reverse assembling of the subj vs. query result.

Parameters
NameTypeDescription
RrIEnumerable(Of TopHitRates)

-