]> git.donarmstrong.com Git - mothur.git/blobdiff - eachgapignore.h
changing command name classify.shared to classifyrf.shared
[mothur.git] / eachgapignore.h
index 8e027b7d72e33cb27599268f6c779c369ea8bdd6..2e7fbd6bd228d3ed625cd1904ecd7d15075d9234 100644 (file)
 class eachGapIgnoreTermGapDist : public Dist {
        
 public:
+       eachGapIgnoreTermGapDist() {}
+       eachGapIgnoreTermGapDist(const eachGapIgnoreTermGapDist& ddb) {}
        
        void calcDist(Sequence A, Sequence B){          
                int diff = 0;
                int length = 0;
                int start = 0;
                int end = 0;
+               bool overlap = false;
                
                string seqA = A.getAligned();
                string seqB = B.getAligned();
@@ -31,14 +34,16 @@ public:
                for(int i=0;i<alignLength;i++){
                        if(seqA[i] != '.' && seqB[i] != '.' && seqA[i] != '-' && seqB[i] != '-' ){
                                start = i;
-                               cout << "start: " << start << endl;
+//                             cout << "start: " << start << endl;
+                               overlap = true;
                                break;
                        }
                }
                for(int i=alignLength-1;i>=0;i--){
                        if(seqA[i] != '.' && seqB[i] != '.' && seqA[i] != '-' && seqB[i] != '-' ){
                                end = i;
-                               cout << "end: " << end << endl;
+//                             cout << "end: " << end << endl;
+                               overlap = true;
                                break;
                        }
                }
@@ -55,6 +60,9 @@ public:
                        }
                }
                
+               //non-overlapping sequences
+               if (!overlap) { length = 0; }
+               
                if(length == 0) {       dist = 1.0000;                                                          }
                else                    {       dist = ((double)diff  / (double)length);        }