- //seach for filePos of each first name in the rfile and save in rfileFilePos
- string junk;
- ifstream inR;
- m->openInputFile(rfilename, inR);
-
- //read column headers
- for (int i = 0; i < 16; i++) {
- if (!inR.eof()) { inR >> junk; }
- else { break; }
- }
-
- while(!inR.eof()){
-
- if (m->control_pressed) { inR.close(); return processors; }
-
- input = m->getline(inR);
-
- if (input.length() != 0) {
-
- istringstream nameStream(input);
- string sname = ""; nameStream >> sname;
-
- map<string, int>::iterator it = firstSeqNamesReport.find(sname);
-
- if(it != firstSeqNamesReport.end()) { //this is the start of a new chunk
- unsigned long long pos = inR.tellg();
- rfileFilePos.push_back(pos - input.length() - 1);
- firstSeqNamesReport.erase(it);
- }
- }
-
- if (firstSeqNamesReport.size() == 0) { break; }
- m->gobble(inR);
- }
- inR.close();
-
- if (firstSeqNamesReport.size() != 0) {
- for (map<string, int>::iterator it = firstSeqNamesReport.begin(); it != firstSeqNamesReport.end(); it++) {
- m->mothurOut(it->first + " is in your fasta file and not in your report file, aborting."); m->mothurOutEndLine();
- }
- m->control_pressed = true;
- return processors;
- }
-
- //get last file position of qfile
- FILE * rFile;
- unsigned long long sizeR;
-
- //get num bytes in file
- rFile = fopen (rfilename.c_str(),"rb");
- if (rFile==NULL) perror ("Error opening file");
- else{
- fseek (rFile, 0, SEEK_END);
- sizeR=ftell (rFile);
- fclose (rFile);
+ if(aligned){
+ //seach for filePos of each first name in the rfile and save in rfileFilePos
+ string junk;
+ ifstream inR;
+
+ m->openInputFile(rfilename, inR);
+
+ //read column headers
+ for (int i = 0; i < 16; i++) {
+ if (!inR.eof()) { inR >> junk; }
+ else { break; }
+ }
+
+ while(!inR.eof()){
+
+ input = m->getline(inR);
+
+ if (input.length() != 0) {
+
+ istringstream nameStream(input);
+ string sname = ""; nameStream >> sname;
+
+ for (int i = 0; i < sname.length(); i++) {
+ if (sname[i] == ':') { sname[i] = '_'; m->changedSeqNames = true; }
+ }
+
+ map<string, int>::iterator it = firstSeqNamesReport.find(sname);
+
+ if(it != firstSeqNamesReport.end()) { //this is the start of a new chunk
+ unsigned long long pos = inR.tellg();
+ rfileFilePos.push_back(pos - input.length() - 1);
+ firstSeqNamesReport.erase(it);
+ }
+ }
+
+ if (firstSeqNamesReport.size() == 0) { break; }
+ m->gobble(inR);
+ }
+ inR.close();
+
+ if (firstSeqNamesReport.size() != 0) {
+ for (map<string, int>::iterator it = firstSeqNamesReport.begin(); it != firstSeqNamesReport.end(); it++) {
+ m->mothurOut(it->first + " is in your fasta file and not in your report file, aborting."); m->mothurOutEndLine();
+ }
+ m->control_pressed = true;
+ return processors;
+ }
+
+ //get last file position of qfile
+ FILE * rFile;
+ unsigned long long sizeR;
+
+ //get num bytes in file
+ rFile = fopen (rfilename.c_str(),"rb");
+ if (rFile==NULL) perror ("Error opening file");
+ else{
+ fseek (rFile, 0, SEEK_END);
+ sizeR=ftell (rFile);
+ fclose (rFile);
+ }
+
+ rfileFilePos.push_back(sizeR);