5 * Created by Sarah Westcott on 11/18/08.
6 * Copyright 2008 Schloss Lab UMASS Amherst. All rights reserved.
10 #include "fileoutput.h"
12 /***********************************************************************/
14 ThreeColumnFile::~ThreeColumnFile(){
18 remove(outName.c_str());
21 /***********************************************************************/
23 void ThreeColumnFile::initFile(string label){
26 openOutputFile(outName, outFile);
27 openInputFile(inName, inFile);
30 inputBuffer = getline(inFile);
32 outFile << inputBuffer << '\t' << label << "\tlci\thci" << endl;
35 openOutputFile(outName, outFile);
36 outFile << "numsampled\t" << label << "\tlci\thci" << endl;
39 outFile.setf(ios::fixed, ios::floatfield);
40 outFile.setf(ios::showpoint);
43 errorOut(e, "ThreeColumnFile", "initFile");
48 /***********************************************************************/
50 void ThreeColumnFile::output(int nSeqs, vector<double> data){
54 inputBuffer = getline(inFile);
56 outFile << inputBuffer << setprecision(4) << '\t' << data[0] << '\t' << data[1] << '\t' << data[2] << endl;
59 outFile << nSeqs << setprecision(4) << '\t' << data[0] << '\t' << data[1] << '\t' << data[2] << endl;
63 errorOut(e, "ThreeColumnFile", "output");
68 /***********************************************************************/
70 void ThreeColumnFile::resetFile(){
81 remove(inName.c_str());
82 renameOk = rename(outName.c_str(), inName.c_str());
84 //checks to make sure user was able to rename and remove successfully
85 if ((renameOk != 0)) {
86 mothurOut("Unable to rename " + outName); mothurOutEndLine();
91 errorOut(e, "ThreeColumnFile", "resetFile");
96 /***********************************************************************/
97 /***********************************************************************/
99 ColumnFile::~ColumnFile(){
103 remove(outName.c_str());
106 /***********************************************************************/
108 void ColumnFile::initFile(string label, vector<string> tags){
111 openOutputFile(outName, outFile);
112 openInputFile(inName, inFile);
115 inputBuffer = getline(inFile);
117 outFile << inputBuffer << '\t';
118 for(int i = 0; i < tags.size(); i++) {
119 outFile << label + tags[i] << '\t';
124 openOutputFile(outName, outFile);
125 for(int i = 0; i < tags.size(); i++) {
126 outFile << label + tags[i] << '\t';
131 outFile.setf(ios::fixed, ios::floatfield);
132 outFile.setf(ios::showpoint);
134 catch(exception& e) {
135 errorOut(e, "ColumnFile", "initFile");
140 /***********************************************************************/
142 void ColumnFile::output(vector<double> data){
147 inputBuffer = getline(inFile);
149 outFile << inputBuffer << '\t' << setprecision(6) << data[0] << setprecision(iters.length());
150 for (int i = 1; i< data.size(); i++) {
151 outFile << '\t' << data[i];
156 outFile << setprecision(6) << data[0] << setprecision(iters.length());
157 for (int i = 1; i< data.size(); i++) {
158 outFile << '\t' << data[i];
164 catch(exception& e) {
165 errorOut(e, "ColumnFile", "output");
170 /***********************************************************************/
172 void ColumnFile::resetFile(){
183 remove(inName.c_str());
184 renameOk = rename(outName.c_str(), inName.c_str());
186 //checks to make sure user was able to rename and remove successfully
187 if ((renameOk != 0)) {
188 mothurOut("Unable to rename " + outName); mothurOutEndLine();
192 catch(exception& e) {
193 errorOut(e, "ColumnFile", "resetFile");
198 /***********************************************************************/
199 /***********************************************************************/
201 SharedThreeColumnFile::~SharedThreeColumnFile(){
205 remove(outName.c_str());
208 /***********************************************************************/
210 void SharedThreeColumnFile::initFile(string label){
213 openOutputFile(outName, outFile);
214 openInputFile(inName, inFile);
217 inputBuffer = getline(inFile);
219 outFile << inputBuffer << '\t' << label << "\tlci\thci" << endl;
222 openOutputFile(outName, outFile);
223 outFile << "numsampled\t" << groupLabel << '\t' << label << "\tlci\thci" << endl;
226 outFile.setf(ios::fixed, ios::floatfield);
227 outFile.setf(ios::showpoint);
229 catch(exception& e) {
230 errorOut(e, "SharedThreeColumnFile", "initFile");
235 /***********************************************************************/
237 void SharedThreeColumnFile::output(int nSeqs, vector<double> data){
241 inputBuffer = getline(inFile);
243 outFile << inputBuffer << setprecision(4) << '\t' << data[0] << '\t' << data[1] << '\t' << data[2] << endl;
246 outFile << numGroup << setprecision(4) << '\t' << data[0] << '\t' << data[1] << '\t' << data[2] << endl;
250 catch(exception& e) {
251 errorOut(e, "SharedThreeColumnFile", "output");
256 /***********************************************************************/
258 void SharedThreeColumnFile::resetFile(){
268 remove(inName.c_str());
269 renameOk = rename(outName.c_str(), inName.c_str());
271 //checks to make sure user was able to rename and remove successfully
272 if ((renameOk != 0)) {
273 mothurOut("Unable to rename " + outName); mothurOutEndLine();
277 catch(exception& e) {
278 errorOut(e, "SharedThreeColumnFile", "resetFile");
283 /***********************************************************************/
285 /***********************************************************************/
287 OneColumnFile::~OneColumnFile(){
291 remove(outName.c_str());
294 /***********************************************************************/
296 void OneColumnFile::initFile(string label){
299 openOutputFile(outName, outFile);
300 openInputFile(inName, inFile);
303 inputBuffer = getline(inFile);
305 outFile << inputBuffer << '\t' << label << endl;
308 openOutputFile(outName, outFile);
309 outFile << "numsequences\t" << label << endl;
312 outFile.setf(ios::fixed, ios::floatfield);
313 outFile.setf(ios::showpoint);
315 catch(exception& e) {
316 errorOut(e, "OneColumnFile", "initFile");
321 /***********************************************************************/
323 void OneColumnFile::output(int nSeqs, vector<double> data){
327 inputBuffer = getline(inFile);
329 outFile << inputBuffer << setprecision(4) << '\t' << data[0] << endl;
332 outFile << nSeqs << setprecision(4) << '\t' << data[0] << endl;
335 catch(exception& e) {
336 errorOut(e, "OneColumnFile", "output");
341 /***********************************************************************/
343 void OneColumnFile::resetFile(){
353 remove(inName.c_str());
354 renameOk = rename(outName.c_str(), inName.c_str());
356 //checks to make sure user was able to rename and remove successfully
357 if ((renameOk != 0)) {
358 mothurOut("Unable to rename " + outName); mothurOutEndLine();
362 catch(exception& e) {
363 errorOut(e, "OneColumnFile", "resetFile");
368 /***********************************************************************/
369 /***********************************************************************/
371 SharedOneColumnFile::~SharedOneColumnFile(){
375 remove(outName.c_str());
378 /***********************************************************************/
380 void SharedOneColumnFile::initFile(string label){
383 openOutputFile(outName, outFile);
384 openInputFile(inName, inFile);
387 inputBuffer = getline(inFile);
389 outFile << inputBuffer << '\t' << label << endl;
393 openOutputFile(outName, outFile);
394 outFile << "sampled\t" << label << endl;
398 outFile.setf(ios::fixed, ios::floatfield);
399 outFile.setf(ios::showpoint);
401 catch(exception& e) {
402 errorOut(e, "SharedOneColumnFile", "initFile");
407 /***********************************************************************/
409 void SharedOneColumnFile::output(int nSeqs, vector<double> data){
415 for (int i = 0; i < data.size(); i++) {
416 dataOutput = dataOutput + "\t" + toString(data[i]);
420 inputBuffer = getline(inFile);
422 outFile << inputBuffer << setprecision(2) << '\t' << dataOutput << endl;
425 outFile << nSeqs << setprecision(2) << '\t' << dataOutput << endl;
428 catch(exception& e) {
429 errorOut(e, "SharedOneColumnFile", "output");
434 /***********************************************************************/
436 void SharedOneColumnFile::resetFile(){
447 remove(inName.c_str());
449 renameOk = rename(outName.c_str(), inName.c_str());
451 //checks to make sure user was able to rename and remove successfully
452 if ((renameOk != 0)) {
453 mothurOut("Unable to rename " + outName); mothurOutEndLine();
457 catch(exception& e) {
458 errorOut(e, "SharedOneColumnFile", "resetFile");
463 /***********************************************************************/