X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=fileoutput.cpp;h=117f8ab1c3a9a93c5f80f38613c4aefa1c898e32;hb=74844a60d80c6dd06e3fb02ee9b928424f9019b0;hp=2f7639fbbcfec3233f5388e66e2e34637e4d90fe;hpb=58cf1d08fee8c64334979075fa57bcafb035a2ed;p=mothur.git diff --git a/fileoutput.cpp b/fileoutput.cpp index 2f7639f..117f8ab 100644 --- a/fileoutput.cpp +++ b/fileoutput.cpp @@ -16,7 +16,7 @@ ThreeColumnFile::~ThreeColumnFile(){ inFile.close(); outFile.close(); remove(outName.c_str()); -}; +} /***********************************************************************/ @@ -27,7 +27,7 @@ void ThreeColumnFile::initFile(string label){ openInputFile(inName, inFile); string inputBuffer; - getline(inFile, inputBuffer); + inputBuffer = getline(inFile); outFile << inputBuffer << '\t' << label << "\tlci\thci" << endl; } @@ -40,11 +40,7 @@ void ThreeColumnFile::initFile(string label){ outFile.setf(ios::showpoint); } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the ThreeColumnFile class Function initFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - catch(...) { - cout << "An unknown error has occurred in the ThreeColumnFile class function initFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "ThreeColumnFile", "initFile"); exit(1); } } @@ -55,7 +51,7 @@ void ThreeColumnFile::output(int nSeqs, vector data){ try { if(counter != 0){ string inputBuffer; - getline(inFile, inputBuffer); + inputBuffer = getline(inFile); outFile << inputBuffer << setprecision(4) << '\t' << data[0] << '\t' << data[1] << '\t' << data[2] << endl; } @@ -64,14 +60,10 @@ void ThreeColumnFile::output(int nSeqs, vector data){ } } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the ThreeColumnFile class Function output. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - catch(...) { - cout << "An unknown error has occurred in the ThreeColumnFile class function output. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "ThreeColumnFile", "output"); exit(1); } -}; +} /***********************************************************************/ @@ -85,17 +77,126 @@ void ThreeColumnFile::resetFile(){ outFile.close(); } counter = 1; + remove(inName.c_str()); - rename(outName.c_str(), inName.c_str()); + renameOk = rename(outName.c_str(), inName.c_str()); + + //renameFile(outName, inName); + + //checks to make sure user was able to rename and remove successfully + if ((renameOk != 0)) { + m->mothurOut("Unable to rename " + outName); m->mothurOutEndLine(); + perror(" : "); + } } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the ThreeColumnFile class Function resetFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "ThreeColumnFile", "resetFile"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the ThreeColumnFile class function resetFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; +} + +/***********************************************************************/ +/***********************************************************************/ + +ColumnFile::~ColumnFile(){ + + inFile.close(); + outFile.close(); + remove(outName.c_str()); +} + +/***********************************************************************/ + +void ColumnFile::initFile(string label, vector tags){ + try { + if(counter != 0){ + openOutputFile(outName, outFile); + openInputFile(inName, inFile); + + string inputBuffer; + inputBuffer = getline(inFile); + + outFile << inputBuffer << '\t'; + for(int i = 0; i < tags.size(); i++) { + outFile << label + tags[i] << '\t'; + } + outFile << endl; + } + else{ + openOutputFile(outName, outFile); + for(int i = 0; i < tags.size(); i++) { + outFile << label + tags[i] << '\t'; + } + outFile << endl; + } + + outFile.setf(ios::fixed, ios::floatfield); + outFile.setf(ios::showpoint); + } + catch(exception& e) { + m->errorOut(e, "ColumnFile", "initFile"); exit(1); - } + } +} + +/***********************************************************************/ + +void ColumnFile::output(vector data){ + try { + + if(counter != 0){ + string inputBuffer; + inputBuffer = getline(inFile); + + outFile << inputBuffer << '\t' << setprecision(6) << data[0] << setprecision(iters.length()); + for (int i = 1; i< data.size(); i++) { + outFile << '\t' << data[i]; + } + outFile << endl; + } + else{ + outFile << setprecision(6) << data[0] << setprecision(iters.length()); + for (int i = 1; i< data.size(); i++) { + outFile << '\t' << data[i]; + } + outFile << endl; + } + + } + catch(exception& e) { + m->errorOut(e, "ColumnFile", "output"); + exit(1); + } +} + +/***********************************************************************/ + +void ColumnFile::resetFile(){ + try { + if(counter != 0){ + outFile.close(); + inFile.close(); + } + else{ + outFile.close(); + } + counter = 1; + + remove(inName.c_str()); + renameOk = rename(outName.c_str(), inName.c_str()); + + //renameFile(outName, inName); + + //checks to make sure user was able to rename and remove successfully + if ((renameOk != 0)) { + m->mothurOut("Unable to rename " + outName); m->mothurOutEndLine(); + perror(" : "); + } + } + catch(exception& e) { + m->errorOut(e, "ColumnFile", "resetFile"); + exit(1); + } } /***********************************************************************/ @@ -106,7 +207,7 @@ SharedThreeColumnFile::~SharedThreeColumnFile(){ inFile.close(); outFile.close(); remove(outName.c_str()); -}; +} /***********************************************************************/ @@ -117,7 +218,7 @@ void SharedThreeColumnFile::initFile(string label){ openInputFile(inName, inFile); string inputBuffer; - getline(inFile, inputBuffer); + inputBuffer = getline(inFile); outFile << inputBuffer << '\t' << label << "\tlci\thci" << endl; } @@ -130,11 +231,7 @@ void SharedThreeColumnFile::initFile(string label){ outFile.setf(ios::showpoint); } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the SharedThreeColumnFile class Function initFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - catch(...) { - cout << "An unknown error has occurred in the SharedThreeColumnFile class function initFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "SharedThreeColumnFile", "initFile"); exit(1); } } @@ -145,7 +242,7 @@ void SharedThreeColumnFile::output(int nSeqs, vector data){ try { if(counter != 0){ string inputBuffer; - getline(inFile, inputBuffer); + inputBuffer = getline(inFile); outFile << inputBuffer << setprecision(4) << '\t' << data[0] << '\t' << data[1] << '\t' << data[2] << endl; } @@ -155,14 +252,10 @@ void SharedThreeColumnFile::output(int nSeqs, vector data){ } } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the SharedThreeColumnFile class Function output. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "SharedThreeColumnFile", "output"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the SharedThreeColumnFile class function output. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } -}; +} /***********************************************************************/ @@ -176,17 +269,22 @@ void SharedThreeColumnFile::resetFile(){ outFile.close(); } counter = 1; + remove(inName.c_str()); - rename(outName.c_str(), inName.c_str()); + renameOk = rename(outName.c_str(), inName.c_str()); + + //renameFile(outName, inName); + + //checks to make sure user was able to rename and remove successfully + if ((renameOk != 0)) { + m->mothurOut("Unable to rename " + outName); m->mothurOutEndLine(); + perror(" : "); + } } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the SharedThreeColumnFile class Function resetFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "SharedThreeColumnFile", "resetFile"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the SharedThreeColumnFile class function resetFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } } /***********************************************************************/ @@ -198,7 +296,7 @@ OneColumnFile::~OneColumnFile(){ inFile.close(); outFile.close(); remove(outName.c_str()); -}; +} /***********************************************************************/ @@ -209,26 +307,22 @@ void OneColumnFile::initFile(string label){ openInputFile(inName, inFile); string inputBuffer; - getline(inFile, inputBuffer); + inputBuffer = getline(inFile); outFile << inputBuffer << '\t' << label << endl; } else{ openOutputFile(outName, outFile); - outFile << "numsequences\t" << label << endl; + outFile << "numsampled\t" << label << endl; } outFile.setf(ios::fixed, ios::floatfield); outFile.setf(ios::showpoint); } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the OneColumnFile class Function initFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "OneColumnFile", "initFile"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the OneColumnFile class function initFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } } /***********************************************************************/ @@ -237,7 +331,7 @@ void OneColumnFile::output(int nSeqs, vector data){ try { if(counter != 0){ string inputBuffer; - getline(inFile, inputBuffer); + inputBuffer = getline(inFile); outFile << inputBuffer << setprecision(4) << '\t' << data[0] << endl; } @@ -246,14 +340,10 @@ void OneColumnFile::output(int nSeqs, vector data){ } } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the OneColumnFile class Function output. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "OneColumnFile", "output"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the OneColumnFile class function output. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } -}; +} /***********************************************************************/ @@ -262,22 +352,27 @@ void OneColumnFile::resetFile(){ if(counter != 0){ outFile.close(); inFile.close(); - } - else{ + }else{ outFile.close(); } counter = 1; + remove(inName.c_str()); - rename(outName.c_str(), inName.c_str()); + renameOk = rename(outName.c_str(), inName.c_str()); + + //renameFile(outName, inName); + + //checks to make sure user was able to rename and remove successfully + if ((renameOk != 0)) { + m->mothurOut("Unable to rename " + outName); m->mothurOutEndLine(); + perror(" : "); + } + } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the OneColumnFile class Function resetFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "OneColumnFile", "resetFile"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the OneColumnFile class function resetFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } } /***********************************************************************/ @@ -288,7 +383,7 @@ SharedOneColumnFile::~SharedOneColumnFile(){ inFile.close(); outFile.close(); remove(outName.c_str()); -}; +} /***********************************************************************/ @@ -299,7 +394,7 @@ void SharedOneColumnFile::initFile(string label){ openInputFile(inName, inFile); string inputBuffer; - getline(inFile, inputBuffer); + inputBuffer = getline(inFile); outFile << inputBuffer << '\t' << label << endl; @@ -314,13 +409,9 @@ void SharedOneColumnFile::initFile(string label){ outFile.setf(ios::showpoint); } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the OneColumnFile class Function initFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "SharedOneColumnFile", "initFile"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the OneColumnFile class function initFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } } /***********************************************************************/ @@ -336,7 +427,7 @@ void SharedOneColumnFile::output(int nSeqs, vector data){ } if(counter != 0){ string inputBuffer; - getline(inFile, inputBuffer); + inputBuffer = getline(inFile); outFile << inputBuffer << setprecision(2) << '\t' << dataOutput << endl; } @@ -345,14 +436,10 @@ void SharedOneColumnFile::output(int nSeqs, vector data){ } } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the OneColumnFile class Function output. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "SharedOneColumnFile", "output"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the OneColumnFile class function output. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } -}; +} /***********************************************************************/ @@ -366,17 +453,22 @@ void SharedOneColumnFile::resetFile(){ outFile.close(); } counter = 1; + remove(inName.c_str()); - rename(outName.c_str(), inName.c_str()); + renameOk = rename(outName.c_str(), inName.c_str()); + + //renameFile(outName, inName); + + //checks to make sure user was able to rename and remove successfully + if ((renameOk != 0)) { + m->mothurOut("Unable to rename " + outName); m->mothurOutEndLine(); + perror(" : "); + } } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the OneColumnFile class Function resetFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "SharedOneColumnFile", "resetFile"); exit(1); } - catch(...) { - cout << "An unknown error has occurred in the OneColumnFile class function resetFile. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } } /***********************************************************************/