Sequencing projects sequence one strand and call that the + strand and then extrapolate the sequence of the - strand. This means that sometimes the genomic sequence that you download from a database might be the complement of the actual sequence you are looking for.ORF tools like exonerate and genewise takes this into account and thereby look for six possible reading frames.Do sequence similarity tools like blastn take this into account and do pairwise alignment for complement of the actual sequence also?
It depends on the flavor of BLAST you are using. Some do, some don't. Specifically, the classic BLAST flavors are:
- blastp : compares an amino acid query sequence against a protein sequence database
- blastn : compares a nucleotide query sequence against a nucleotide sequence database
- blastx : compares the six-frame conceptual translation products of a nucleotide query sequence (both strands) against a protein sequence database
- tblastn : compares a protein query sequence against a nucleotide sequence database dynamically translated in all six reading frames (both strands).
- tblastx : compares the six-frame translations of a nucleotide query sequence against the six-frame translations of a nucleotide sequence database. (Due to the nature of tblastx, gapped alignments are not available with this option)
blastx all check the 6 possible reading frames (both strands). This only makes sense for protein searches since that's the only case where the reading frame is relevant. The simple blastn does not deal with reading frames but it does deal with hits against the reverse strand. The matching strand is highlighted in the output and the numbers in the HSP reflect that.
For example, these are the first and last lines of one of the hits when blasting the reverse complement of the human tP53 gene against the human sequences of the
Range 1: 1 to 2591GenBankGraphics Next Match Previous Match Alignment statistics for match #1 Score Expect Identities Gaps Strand 4673 bits(5182) 0.0 2591/2591(100%) 0/2591(0%) Plus/Minus Query 1 CACCCCTCAGACACACAGGTGGCAGCAAAGTTTTATTGTAAAATAAGAGATCGATATAAA 60 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Sbjct 2591 CACCCCTCAGACACACAGGTGGCAGCAAAGTTTTATTGTAAAATAAGAGATCGATATAAA 2532 [...] Query 2521 AGACTTTTGAGAAGCTCAAAACTTTTAGCGCCAGTCTTGAGCACATGGGAGGGGAAAACC 2580 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Sbjct 71 AGACTTTTGAGAAGCTCAAAACTTTTAGCGCCAGTCTTGAGCACATGGGAGGGGAAAACC 12 Query 2581 CCAATCCCATC 2591 ||||||||||| Sbjct 11 CCAATCCCATC 1
Note that 1) the strands are given as "Plus/Minus" which means that the query sequence is aligned against the - strand of the target and 2) that the coordinates of the subject sequence start from the end (2591) and go to the beginning (1).
So yes, even simple tools like untranslated BLAST take the two strands into account.