]> git.donarmstrong.com Git - mothur.git/blobdiff - refchimeratest.cpp
changing command name classify.shared to classifyrf.shared
[mothur.git] / refchimeratest.cpp
index 178d0c46386968982eb85e370d407396be42133b..c084bffd40c94ef9c14a43d05de39e768dc96bea 100644 (file)
@@ -24,7 +24,8 @@ RefChimeraTest::RefChimeraTest(vector<Sequence>& refs, bool aligned) : aligned(a
        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();
        }
        
@@ -117,10 +118,10 @@ int RefChimeraTest::analyzeUnalignedQuery(string queryName, string querySeq, ofs
     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();
@@ -128,7 +129,7 @@ int RefChimeraTest::analyzeUnalignedQuery(string queryName, string querySeq, ofs
     
     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;
@@ -163,7 +164,7 @@ int RefChimeraTest::analyzeUnalignedQuery(string queryName, string querySeq, ofs
         vector<int> bestRight(seqLength, -1);
         
         for(int l=0;l<seqLength;l++){
-            
+                
             for(int i=0;i<numRefSeqs;i++){
                 if(rightDiffs[i][l] < singleRight[l]){
                     singleRight[l] = rightDiffs[i][l];
@@ -324,7 +325,7 @@ double RefChimeraTest::alignQueryToReferences(string query, string reference, st
                        
                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;
@@ -334,7 +335,7 @@ double RefChimeraTest::alignQueryToReferences(string query, string reference, st
         
         end = queryLength - 1;
         int maxColumn = 0;
-        double maxColumnValue = -100000000000;
+        double maxColumnValue = -2147483647;
 
         for(int j=0;j<refLength;j++){
             if(alignMatrix[end][j] > maxColumnValue){