seqLength = l;
int score;
- string line;
- getline(qFile, line); gobble(qFile);
- istringstream nameStream(line);
+ //string line;
+ //m->getline(qFile, line);
+ //istringstream nameStream(line);
- nameStream >> seqName;
- seqName = seqName.substr(1);
-
- //getline(qFile, line);
+ qFile >> seqName;
+ while (!qFile.eof()) { char c = qFile.get(); if (c == 10 || c == 13 || c == -1){ break; } } // get rest of line
+ m->gobble(qFile);
+ if (seqName == "") { m->mothurOut("Error reading quality file, name blank at position, " + toString(qFile.tellg())); m->mothurOutEndLine(); }
+ else {
+ seqName = seqName.substr(1);
+ }
+
+ //m->getline(qFile, line);
//istringstream qualStream(line);
//while(qualStream){
//seqLength = qScores.size();
+ /*while(!in.eof()){
+ string saveName = "";
+ string name = "";
+ string scores = "";
+
+ in >> name;
+ //cout << name << endl;
+ if (name.length() != 0) {
+ saveName = name.substr(1);
+ while (!in.eof()) {
+ char c = in.get();
+ if (c == 10 || c == 13){ break; }
+ else { name += c; }
+ }
+ m->gobble(in);
+ }
+
+ while(in){
+ char letter= in.get();
+ if(letter == '>'){ in.putback(letter); break; }
+ else{ scores += letter; }
+ }
+
+ //istringstream iss (scores,istringstream::in);
+
+ //int count = 0; int tempScore;
+ //while (iss) { iss >> tempScore; count++; }
+ //cout << saveName << '\t' << count << endl;
+
+ m->gobble(in);
+ }*/
+
+
+
for(int i=0;i<seqLength;i++){
qFile >> score;
qScores.push_back(score);
}
- gobble(qFile);
+ m->gobble(qFile);
}
catch(exception& e) {
}
}
+/**************************************************************************************************/
/**************************************************************************************************/
int seqLength = sequence.getNumBases();
if(seqName != sequence.getName()){
- m->mothurOut("sequence name mismatch btwn fasta: " + sequence.getName() + " and qual file: " + seqName);
- m->mothurOutEndLine();
+ m->mothurOut("sequence name mismatch between fasta: " + sequence.getName() + " and qual file: " + seqName);
+ m->mothurOutEndLine();
}
int end = windowSize;
double windowAverage = windowSum / (double)(end-start);
if(windowAverage < qThreshold){
- end = start;
+ end = end - stepSize;
break;
}
start += stepSize;