Sign up ×
Biology Stack Exchange is a question and answer site for biology researchers, academics, and students. It's 100% free, no registration required.

I'm currently working on some ribozyme binding, and I'm looking for a tool that will essentially analyze the regions of the degree of complementarity in two sequences in order to extrapolate efficiency of binding. After thinking about it, I'm essentially looking for "the opposite" of BLAST, in that BLAST looks for regions of similarity in sequences in the same orientation, while I'm looking for regions of complementarity in sequence in the opposite orientation.

Does such a tool exist?


To clarify, I'm looking for a tool that can detect the most optimal regions of complementarity in two sequences when both are aligned as such:



share|improve this question
The opposite? You mean regions of low similarity or actually complementary? If the latter, just use translated blast flavors. If you post an example sequence to clarify, I should be able to give you a precise answer. –  terdon Oct 17 '13 at 15:43
Sorry for the confusion: looking for regions of high complementarity. Will edit question in a moment. –  LanceLafontaine Oct 17 '13 at 16:01

3 Answers 3

up vote 4 down vote accepted

I'm not sure this is what you need since the sequences you posted are not actually complementary as far as I can tell. However, exonerate is one of the most powerful tools out there and can do this as well. Using these sequences as examples:


And this command (should be run on a *nix system):

exonerate -m coding2coding -q qq.fa -t test.fa -s 0

I get this output:

C4 Alignment:
         Query: query [revcomp]
        Target: target
         Model: genome2genome
     Raw score: 312
   Query range: 71 -> 0
  Target range: 0 -> 70

 71 :                                                          CCA       :  6
      |||||||||||||||||||||||||||||| |||||| ||||||||| |||||||||||+||||||
  1 :                                                          CCC       : 65

  5 : AGCTA :  1
 66 : AGCTA : 70

vulgar: query 71 0 - target 0 70 + 312 M 30 30 G 1 0 M 26 26 C 3 3 M 11 11

C4 Alignment:
         Query: query
        Target: target [revcomp]
         Model: genome2genome
     Raw score: 309
   Query range: 0 -> 71
  Target range: 70 -> 0

  1 :                      GTC                                           : 66
      ||||||||||| |||||||||||+||||||||| ||||| ||||||||||||||||||||||||||
 70 :                      GTA                                           :  6

 67 : CCAGG : 71
  5 : CCAGG :  1

vulgar: query 0 71 + target 70 0 - 309 M 21 21 C 3 3 M 15 15 G 1 0 M 31 31

Basically it gives you two alignments, one reading the target 3->5 and the query 5->3 and one the other way around.

Alternatively, you could do a translated blast search, tBLASTx which will translate both target and query sequence and so, should find complementary regions.

share|improve this answer
Is that where you grabbed yours? I just installed it and got different results. Some of it is visual (AA names, 1 versus 0-based indexing) but the scores are pretty different. –  Amory Oct 17 '13 at 18:00
@Amory I'm using the one from the Debian repos, v. 2.2.0. Yes, the page you linked to is the homepage, so I'm guessing you just got a newer version and they've changed the algorithm a bit. Perhaps a different scoring matrix. In any case, the score here is irrelevant since it will depend directly on the length of the sequence. –  terdon Oct 17 '13 at 18:09
@terdon On second thought, would doing a regular pairwise alignment with the reverse-complement of only of the sequences yield the same result? –  LanceLafontaine Oct 18 '13 at 1:55
@LanceLafontaine probably but it will be slower and perhaps less accurate. If you are looking for possibly complementary sequences that can bind to each other I would use something like exonerate or blast rather than a sequence aligner. –  terdon Oct 18 '13 at 13:28
@terdon: I dont understand why you suggested tblast. Translation has got no relation to complementarity. –  WYSIWYG Oct 24 '13 at 11:11

You could try using a tool to estimate the binding affinities of the two sequences, i.e. OligoCalc

share|improve this answer

Just run blast with only the Plus-Minus alignments. See this post in biostar; it is similar to what you are interested in. This is for the standalone version. I am not sure about how to do it in the online blast. If you have just two sequences then you can use UNAfold for checking complementarity.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.