seqan local alignment returns incorrect score
0
0
Entering edit mode
8.6 years ago
RynT • 0

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 • 1.4k views
ADD COMMENT

Login before adding your answer.

Traffic: 2128 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6