referenceSeqs.resize(numRefSeqs);
referenceNames.resize(numRefSeqs);
for(int i=0;i<numRefSeqs;i++){
- referenceSeqs[i] = refs[i].getAligned();
+ if (aligned) { referenceSeqs[i] = refs[i].getAligned(); }
+ else { referenceSeqs[i] = refs[i].getUnaligned(); }
referenceNames[i] = refs[i].getName();
}
vector<string> queryAlign(numRefSeqs);
vector<string> refAlign(numRefSeqs);
- vector<vector<int> > leftDiffs(numRefSeqs, 0);
- vector<vector<int> > rightDiffs(numRefSeqs, 0);
- vector<vector<int> > leftMaps(numRefSeqs, 0);
- vector<vector<int> > rightMaps(numRefSeqs, 0);
+ vector<vector<int> > leftDiffs(numRefSeqs);
+ vector<vector<int> > rightDiffs(numRefSeqs);
+ vector<vector<int> > leftMaps(numRefSeqs);
+ vector<vector<int> > rightMaps(numRefSeqs);
int bestRefIndex = -1;
int bestRefDiffs = numeric_limits<int>::max();
for(int i=0;i<numRefSeqs;i++){
double length = 0;
- int diffs = alignQueryToReferences(querySeq, referenceSeqs[i], queryAlign[i], refAlign[i], length);
+ double diffs = alignQueryToReferences(querySeq, referenceSeqs[i], queryAlign[i], refAlign[i], length);
if(diffs < bestRefDiffs){
bestRefDiffs = diffs;
bestRefLength = length;
int end = refLength - 1;
int maxRow = 0;
- double maxRowValue = -100000000000;
+ double maxRowValue = -2147483647;
for(int i=0;i<queryLength;i++){
if(alignMatrix[i][end] > maxRowValue){
maxRow = i;
end = queryLength - 1;
int maxColumn = 0;
- double maxColumnValue = -100000000000;
+ double maxColumnValue = -2147483647;
for(int j=0;j<refLength;j++){
if(alignMatrix[end][j] > maxColumnValue){