Background

Local alignments are an essential tool for biologists and often provide the first information about the function of an unknown nucleotide or protein sequence. An important question concerns the relationship of the score of a local alignment with the probability that the alignment occurred by chance.[Karlin and Altschul 1] developed an asymptotic theory for local alignments, assuming that no gaps are permitted. For two random sequences I and J of lengths m and n, respectively, the resulting distribution of the optimal alignment score M ^ approximates a Gumbel distribution[2]

P M ^ > y 1 exp k m n e λ y .
(1)

The two statistical parameters in Equation (1) are λ, the scale parameter, and k, the pre-factor.

Several authors[312] extended this framework to local alignments with gaps and showed that the Gumbel distribution from Equation (1) is still valid, though different values for λ and k are required.[Altschul 13] discussed the need for a “finite-size correction” to the lengths m and n to improve the accuracy of Equation (1). The resulting statistics are an integral part of the Basic Local Alignment Search Tool (BLAST)[14].

The following presentation emphasizes intuition over mathematical formality, to explain how the finite-size correction can account for the finite sequence lengths m and n to improve the accuracy of Equation (1). Let us begin with an optimal local alignment, which starts from score 0 and requires a non-zero sequence length within both I and J, before it achieves score y. Let L I (y) (L J (y)) be the required random lengths within both I (J), and let l I y = E L I y ( l J y = E L J y ) be the corresponding means. The main idea is that the optimal local alignment cannot start anywhere along the full length m (n) of sequence I (J), because there might be insufficient sequence to permit it to achieve the score y (Figure1). The finite-size correction described in[13] and used in BLAST therefore replaced the area mn of the alignment matrix for Equation (1) by

m l I y n l J y .
(2)
Figure 1
figure 1

Sequence alignment graph of two random sequences I and J of lengths m and n , respectively. The black circles are the initiation vertices of local alignment paths just remaining within the large rectangle of the sequence alignment graph before achieving the score y, i.e., the lower local alignment path has length L I (y) within I; and the upper, length L J (y) within J. The gray shaded area is therefore the (random) alignment rectangle that an optimal local alignment must start within to achieve the score y. Thus, if the black circles lie within the gray rectangle, the alignments achieve the score y within m × n alignment rectangle. If the black circles lie further outside the gray rectangle, the alignments do not achieve the score y within m × n alignment rectangle.

Equation (2) approximates the area within the alignment matrix where the optimal local alignment can start and on average still have enough space to exceed the score y. If m < l I (y) or n < l J (y), however, the resulting value in Equation (2) might become negative. The BLAST code for the old finite-size correction therefore set the corrected sequence length to an ad hoc value (typically 1). For very short query or database sequences, the ad hoc correction could underestimate the significance of an alignment by many orders of magnitude.

The purpose of this note is to present a new finite-size correction formula for the BLAST statistics. It avoids the ad hoc correction and improves on them by considering the (approximately normal) distributions of the random lengths L I (y) and L J (y) explicitly, and not just the corresponding means l I (y) and l J (y). We demonstrate below that the new finite-size correction is better than the older one, both in theory and in practice. All BLAST+ protein-protein applications (i.e., BLASTP, BLASTX) use the new finite-size correction by default, starting with version 2.2.26.

Findings

New finite-size correction

As with the old finite-size correction, the expectation l I y = E L I y is approximated linearly:

l I y = a I y + b I .
(3)

Most practical scoring systems are symmetric, with s(A, B) = s(B, A) for any two letters A and B, and for a symmetric scoring matrix and symmetric sequence compositions, expectations corresponding to I and J are the same, e.g., l I (y) = l J (y) = l(y). For asymmetric scoring systems or asymmetric sequence compositions, however, the variates L I (y) and L J (y) can have different distributions, so the following retains the subscripts I and J.

The new finite-size correction replaces mn in Equation (1) by

E m L I y + n L J y + ,
(4)

where x+ = max{x,0}. Rather than taking the expectation ofL I (y) and L J (y) as in Equation (2), Equation (4) is the expected area within the alignment rectangle where an optimal local alignment can start and have enough random sequence length to reach the score y (Figure1).

The practical computation of Equation (4) approximates the distribution of (L I (y),L J (y)) with a bivariate normal distribution, with means l I y = E L I y and l J y = E L J y ,variances var L I (y) = v I (y) and var L J (y) = v J (y), and covariance cov (L I (y), L J (y)) = c(y), all assumed to be linear in the score y, i.e.,

l I y = a I y + b I , l J y = a J y + b J , v I y = α I y + β I , v J y = α J y + β J , c y = σ y + τ .
(5)

The estimation of the parameters a I a J α I α J and σ has mathematical depth and involves many unproved speculations, but involves a heuristic modeling of a random sequence alignment with Markov additive processes[15], ultimately with use of the renewal-reward theorem. The Appendix presents formulas for computing a I a J α I α J and σ.

BLAST p-values are relatively insensitive to the values of the intercepts b I b J β I β J , and τ, so the practical computation approximates them, as follows. Let a u (α u ) be the value of a I (α I ) for ungapped alignment. The mathematical theories for random walks and for renewals yield analytic formulas for a u and α u [16]. For an ungapped optimal alignment, the alignment length required to exceed the score y is the same within the sequences I and J, because it lacks gaps. Thus, a u and α u do not depend on the sequence (I or J) under consideration, so they contain no subscripts I or J. In a gapped alignment, let a gap of length 1 incurs a penalty G. The following uncontrolled approximations hold[17]:

b I = 2 G a u a I , b J = 2 G a u a J β I = 2 G α u α I , β J = 2 G α u α J τ = 2 G α u σ .
(6)

Under the normal approximation, routine computation shows that Equation (4) is approximately

E m L I y + n L J y + m l I y P X m Φ v I y E X ; X m Φ × n l J y P X n Φ v J y E X ; X n Φ + c y P X m Φ P X n Φ ,
(7)

where m Φ : = m l I y / v I y , n Φ : = n l J y / v J y , and X is a standard normal variate. The final product P X m Φ P X n Φ is an uncontrolled independence approximation for the bivariate normal distribution.

Comparison of p-values for the new and old finite-size corrections

We compared p-values for the new finite-size correction with those for the old finite-size correction using the BLOSUM62 scoring matrix and affine gap penalty 11 + g. Hartmann used a rare-event simulation method to compute the local alignment score distribution for ranges that included small p-values like p = 10−50[18], thereby producing a theoretical standard for small p-values.

Figure2 plots relative errors in logarithmic scale against true p-values for equal sequence lengths m = n = 40, 100, 200, and 400. Using Hartmann’s theoretical standard, the new finite-size correction outperforms as the p-value decreases, sometimes by orders of magnitude.

Figure 2
figure 2

Comparison of p -values for the new and old finite-size corrections using the BLOSUM62 scoring matrix and 11 + g affine gap penalty for equal sequence lengths ( m = n ) 40, 100, 200, and 400. Figure2 plots log 10 p ^ / p against p, where p ^ is the calculated p-value and p is the p-value from the simulation. Thus, a perfect p-value estimate corresponds to the horizontal line y = 0. The red line shows the results from the new finite-size correction; the black line, the old finite-size correction.

Evaluation of accuracy

We evaluated the performance of the new finite-size correction using the ASTRAL SCOP 40 subset[19] of release 1.75 of the Structural Classification of Proteins (SCOP)[20] database. We sorted the SCOP domains by lexicographic order and used the even numbered sequences as our query set, but removed any query that was the sole member of the superfamily in ASTRAL 40. For a given query sequence, we considered any database sequence belonging to the same SCOP superfamily as a true positive, and any database sequence belonging to a different SCOP fold as a false positive. Following[21], in the retrieval list for each query, we censored all sequences belonging to the same fold but different superfamily, so those sequences contributed neither true or false positives to the retrieval.

We report the performance in terms of the Receiver Operator Characteristics (ROC). Specifically, we report the ROC n score, which is obtained by pooling the results of all queries, ordering them by expect value, but only keeping results up the n-th false positive[21]. The expect value for the database search was obtained from the pairwise p-values using a length-proportional correction that takes the ratio of the database length to the target sequence length into account[13].

As discussed above, the new finite-size correction should show the greatest improvement for short sequences. Therefore, we also produced ROC n scores for different subsets of the SCOP database. One database subset has sequences shorter than the 25th percentile length (95 residues), and another has sequences shorter than the 50th percentile length (137 residues).

Table1 presents ROC n scores for the full database as well as the two subsets described above. These scores have an average of one false positive per query (4852), a threshold found useful in other studies (Altschul SF, private communication). The ROC-4852 scores for the full database demonstrate a small improvement of the new finite-size correction over the older one. The subsets show a more impressive improvement. For the 50th percentile subset, the ROC-4852 score improves by 9%. For the 25th percentile subset, the ROC-4852 score shows a 13% improvement. In the 25th percentile subset, the new finite-size correction produces roughly 12% more true positives overall at 4852 false positives than the old finite-size correction (Figure3). These results confirm our expectation that the new finite-size correction will display greatest improvement in retrieval for short sequences.

Table 1 Retrieval accuracy for different subsets of SCOP database with the new and old finite-size correction
Figure 3
figure 3

Number of true positives vs. number of false positives for both new and old finite-size corrections using short SCOP sequences as a database. The searched database was created from the shortest 25% of the ASTRAL 40 sequences for SCOP version 1.75 (see text).

To assess the significance of this improvement on BLAST searches, one may look to the length distribution of sequences in a heavily used protein BLAST database. The non-redundant (“nr”) database is the default protein database at the NCBI BLAST web site. Of the sequences in the nr database, 11% are 95 residues or shorter; and 21%, 137 residues or shorter. The new finite-size correction improves the retrieval accuracy for a noticeable fraction of the proteins in the nr database.

Conclusion

We have described a new finite-size correction. The new correction has a more rigorous derivation than the current finite-size correction and avoids the use of an ad hoc value for short sequences. We have tested the retrieval accuracy of the new finite-size correction on the gold standard SCOP set, and have shown that the improvement is most important for short sequences. This correction has been made part of the BLAST+ protein-protein applications (e.g., BLASTP, BLASTX) as well as at the NCBI BLAST web site. In the future, we plan to implement this correction for nucleotide-nucleotide comparisons.

Availability and requirements

Project Name: BLAST Statistical Parameters

Project home page:http://www.ncbi.nlm.nih.gov/CBBresearch/Spouge/html_ncbi/html/blast/

Operating systems: Windows, MacOSX, LINUX, UNIX

Programming language: C++

License: Public Domain (seehttp://www.ncbi.nlm.nih.gov/books/NBK22952/)

Any restrictions to use by non-academics: None