Why Do I Get The Exonerate Error: Cannot Perform Heuristic Alignment Using Non-Local Model
Entering edit mode
10.1 years ago
Woa ★ 2.9k

Hello All,

I'm trying to align two DNA sequences with EBI's Exonerate sequence alignment tool. When trying to do

affine:global or affine:bestfit or affine:overlap, the program exits with generating the following error message

**"** FATAL ERROR **: Cannot perform heuristic alignment using non-local model"**

Running the program with "--exhaustive y" switch , as shown below, stops it from exiting. However, no alignment is produced.

exonerate --model affine:global --exhaustive y -q ./query_seq.fasta -t ./target_seq.fasta

affine:local, ungapped, ungapped:trans etc. are working fine. The two input sequences are of different lengths. I'm not sure if they have to be of same length if I've to do affine:global or affine:bestfit or affine:overlap,though I guess not.

Thanks for your answers

alignment • 4.8k views
Entering edit mode

I have sent a message via the request help link above to the contact info listed for the tool

Entering edit mode
10.1 years ago
terdon ▴ 430

You get this error because, well, exonerate "Cannot perform heuristic alignment using non-local model" :). From the exonarate man page :


exonerate is a general tool for sequence comparison.

It uses the C4 dynamic programming library. It is designed to be both general and fast. It can produce either gapped or ungapped alignments, according to a variety of different alignment models. The C4 library allows sequence alignment using a reduced space full dynamic programming implementation, but also allows automated generation of heuristics from the alignment models, using bounded sparse dynamic programming, so that these alignments may also be rapidly generated. Alignments generated using these heuristics will represent a valid path through the alignment model, yet (unlike the exhaustive alignments), the results are not guaranteed to be optimal.


-E | --exhaustive <boolean>

Specify whether or not exhaustive alignment should be used. By default, this is FALSE, and alignment heuristics will be used. If it is set to TRUE, an exhaustive alignment will be calculated. This requires quadratic time, and will be much, much slower, but will provide the optimal result for the given model.

So, by default exonerate uses heuristics to speed up the alignment. However, heuristics cannot be used when calculating a global alignment since the entire sequences need to be aligned. So, exonerate complains in a surpsisingly informative manner telling you exactly what is wrong: It cannot perform heuristic alignment using non-local model. It works when you use the -E switch because that disables the heuristics.

Now why you get no alignment I cannot tell you unless you post the actual sequences (and commands) that you used.

Why are you using exonerate for this? Why not a _bona fide_ alignment program like mafft or t_coffee or any of the others available?

Entering edit mode


Are there any alternatives to using exonerate and the affine:overlap model. I have found this to be very slow. In order to see if any gaps are closed, I am trying to map cDNA query sequences to an assembly. Are there other tools which will accomplish this? Ideally I'd like to have a standard looking blast-style output, rather than using an assembly program such as AMOS minimus.

Thanks, Jon.

Entering edit mode

you should ask this as a separate question, when you post a comment only the people on this thread are notified


Login before adding your answer.

Traffic: 972 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6