]> git.donarmstrong.com Git - mothur.git/blobdiff - qualityscores.cpp
added name option to trim.seqs
[mothur.git] / qualityscores.cpp
index e26a4ffc74c54cba4c8a7ac9da4f0ba3a6ed6e5c..c9c65042843bffddf5c6d3d7acca4ab38754ac5e 100644 (file)
@@ -44,7 +44,6 @@ QualityScores::QualityScores(ifstream& qFile){
                else{
                        seqName = seqName.substr(1);
                }
-               cout << seqName << endl;
                string qScoreString = m->getline(qFile);
                while(qFile.peek() != '>' && qFile.peek() != EOF){
                        qScoreString += ' ' + m->getline(qFile);
@@ -56,7 +55,6 @@ QualityScores::QualityScores(ifstream& qFile){
                        if (m->control_pressed) { break; }
                        qScoreStringStream >> score;
                        qScores.push_back(score);
-                       cout << score << '\t' << count << endl;
                        count++;
                }
                qScores.pop_back();
@@ -84,7 +82,6 @@ QualityScores::QualityScores(ifstream& qFile){
 //                             if((letter == '>')){    qFile.putback(letter);  break;  }
 //                             else if (isprint(letter)) { scores += letter; }
 //                     }
-//                     cout << scores << endl;
 //                     m->gobble(qFile);
 //                     
 //                     break;
@@ -120,7 +117,6 @@ QualityScores::QualityScores(ifstream& qFile){
 string QualityScores::getName(){
        
        try {
-               cout << qScores.size() << '\t';
                return seqName;
        }
        catch(exception& e) {
@@ -155,9 +151,7 @@ void QualityScores::printQScores(ofstream& qFile){
 void QualityScores::trimQScores(int start, int end){
        try {
                vector<int> hold;
-               
-               cout << seqName << '\t' << qScores.size() << '\t' << start << '\t' << end << endl;
-               
+                       
                if(end == -1){          
                        hold = vector<int>(qScores.begin()+start, qScores.end());
                        qScores = hold;         
@@ -284,7 +278,7 @@ bool QualityScores::stripQualWindowAverage(Sequence& sequence, int stepSize, int
                
                int end = windowSize;
                int start = 0;
-               
+
                if(seqLength < windowSize) {    return 0;       }
                        
                while(start < seqLength){
@@ -306,6 +300,9 @@ bool QualityScores::stripQualWindowAverage(Sequence& sequence, int stepSize, int
                
                if(end == -1){  end = seqLength;        }
                
+               //failed first window
+               if (end < windowSize) { return 0; }
+                       
                sequence.setUnaligned(rawSequence.substr(0,end));
                trimQScores(-1, end);