]> git.donarmstrong.com Git - mothur.git/blobdiff - fastamap.cpp
added parse.list command
[mothur.git] / fastamap.cpp
index 9b2438f4e18986f7fc362c71f77c3e71caa448a3..f5ac122112a633de7768b251568edda33623a81c 100644 (file)
@@ -24,30 +24,27 @@ void FastaMap::readFastaFile(string inFileName) {
                        Sequence currSeq(in);
                        name = currSeq.getName();
                        
-                       if(currSeq.getIsAligned())      {       sequence = currSeq.getAligned();        }
-                       else                                            {       sequence = currSeq.getUnaligned();      }
-                       
-                       seqmap[name] = sequence;  
-                       map<string,group>::iterator it = data.find(sequence);
-                       if (it == data.end()) {         //it's unique.
-                               data[sequence].groupname = name;  //group name will be the name of the first duplicate sequence found.
-//                             data[sequence].groupnumber = 1;
-                               data[sequence].names = name;
-                       }else { // its a duplicate.
-                               data[sequence].names += "," + name;
-//                             data[sequence].groupnumber++;
-                       }       
-                       
+                       if (name != "") {
+                               if(currSeq.getIsAligned())      {       sequence = currSeq.getAligned();        }
+                               else                                            {       sequence = currSeq.getUnaligned();      }
+                               
+                               seqmap[name] = sequence;  
+                               map<string,group>::iterator it = data.find(sequence);
+                               if (it == data.end()) {         //it's unique.
+                                       data[sequence].groupname = name;  //group name will be the name of the first duplicate sequence found.
+                                       //                              data[sequence].groupnumber = 1;
+                                       data[sequence].names = name;
+                               }else { // its a duplicate.
+                                       data[sequence].names += "," + name;
+                                       //                              data[sequence].groupnumber++;
+                               }       
+                       }
                        gobble(in);
                }
                in.close();             
        }
        catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the FastaMap class Function readFastaFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }
-       catch(...) {
-               cout << "An unknown error has occurred in the FastaMap class function readFastaFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               errorOut(e, "FastaMap", "readFastaFile");
                exit(1);
        }
 }
@@ -75,20 +72,21 @@ void FastaMap::readFastaFile(string inFastaFile, string oldNameFileName){ //prin
                Sequence currSeq(inFASTA);
                name = currSeq.getName();
                
-               if(currSeq.getIsAligned())      {       sequence = currSeq.getAligned();        }
-               else                                            {       sequence = currSeq.getUnaligned();      }
-               
-               seqmap[name] = sequence;  
-               map<string,group>::iterator it = data.find(sequence);
-               if (it == data.end()) {         //it's unique.
-                       data[sequence].groupname = name;  //group name will be the name of the first duplicate sequence found.
-//                     data[sequence].groupnumber = 1;
-                       data[sequence].names = oldNameMap[name];
-               }else { // its a duplicate.
-                       data[sequence].names += "," + oldNameMap[name];
-//                     data[sequence].groupnumber++;
-               }       
-               
+               if (name != "") {
+                       if(currSeq.getIsAligned())      {       sequence = currSeq.getAligned();        }
+                       else                                            {       sequence = currSeq.getUnaligned();      }
+                       
+                       seqmap[name] = sequence;  
+                       map<string,group>::iterator it = data.find(sequence);
+                       if (it == data.end()) {         //it's unique.
+                               data[sequence].groupname = name;  //group name will be the name of the first duplicate sequence found.
+                               //                      data[sequence].groupnumber = 1;
+                               data[sequence].names = oldNameMap[name];
+                       }else { // its a duplicate.
+                               data[sequence].names += "," + oldNameMap[name];
+                               //                      data[sequence].groupnumber++;
+                       }       
+               }
                gobble(inFASTA);
        }
        
@@ -152,11 +150,7 @@ void FastaMap::printNamesFile(string outFileName){ //prints data
                outFile.close();
        }
        catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the FastaMap class Function print. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }
-       catch(...) {
-               cout << "An unknown error has occurred in the FastaMap class function print. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               errorOut(e, "FastaMap", "printNamesFile");
                exit(1);
        }
 }
@@ -175,11 +169,7 @@ void FastaMap::printCondensedFasta(string outFileName){ //prints data
                out.close();
        }
        catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the FastaMap class Function print. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }
-       catch(...) {
-               cout << "An unknown error has occurred in the FastaMap class function print. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               errorOut(e, "FastaMap", "printCondensedFasta");
                exit(1);
        }
 }