This is a test version of Biostars. For the public version, visit https://www.biostars.org.
seqan local alignment returns incorrect score

Hi, I am using SeqAn 1.3 installed using the debian package seqan-apps on Ubuntu 14.04. I am getting what appears to be an incorrect score when performing a Waterman-Eggert alignment.
Here is my code:
#include <seqan/align.h>

using namespace std;
using namespace seqan;
int main(void) {
Align< String<Dna> > ali2;
appendValue(rows(ali2), "CGATAACATTGAAAGA");
appendValue(rows(ali2), "CGATAAACTCAGTACA");
LocalAlignmentFinder<> finder(ali2);
Score<int> scoring(2,-3,-5,-2);
while (localAlignment(ali2, finder, scoring,
8, WatermanEggert())) {
cout << "Score = " << getScore(finder) << endl;
cout << ali2;
cout << "pos1: ";
cout << clippedBeginPosition(row(ali2,0)) << endl;
cout << "pos2: ";
cout << clippedBeginPosition(row(ali2,1)) << endl;
}
}

Here is the output that this program produces:
/*
Score = 0
0 .
CGATAA
||||||
CGATAA


pos1: 0
pos2: 0
*/

It shows a score of zero, but this should have a score of 12. In fact, the code is supposed to show only those alignments that have scores greater than 8. So internally, the program recognizes that this score is greater than 8, but it reports that the score is zero.

Can you please shed some light on why this is happening?

Sincerely,
RynT

seqan waterman-eggert

0 answers

No answers yet.

Log in to answer this question.