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
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