X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothurout.cpp;h=de6da8c217a36a17368be48c21a7116d36a43108;hb=6cf9539162b0fb0b5c0b99673e999df3cd717c55;hp=0c3ef3d9cddf5cc90544d9a6d0117882d60db6b6;hpb=7bf581f8c46b08eb3bb40715dac94695edee4a67;p=mothur.git diff --git a/mothurout.cpp b/mothurout.cpp index 0c3ef3d..de6da8c 100644 --- a/mothurout.cpp +++ b/mothurout.cpp @@ -60,6 +60,16 @@ void MothurOut::setDefaultPath(string pathname) { } } /*********************************************************************************************/ +void MothurOut::setOutputDir(string pathname) { + try { + outputDir = pathname; + } + catch(exception& e) { + errorOut(e, "MothurOut", "setOutputDir"); + exit(1); + } +} +/*********************************************************************************************/ void MothurOut::closeLog() { try { @@ -276,8 +286,9 @@ int MothurOut::openOutputFileAppend(string fileName, ofstream& fileHandle){ /***********************************************************************/ void MothurOut::gobble(istream& f){ try { + char d; - while(isspace(d=f.get())) {;} + while(isspace(d=f.get())) { ;} f.putback(d); } catch(exception& e) { @@ -501,19 +512,29 @@ string MothurOut::getFullPathName(string fileName){ #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) if (path.find("~") != -1) { //go to home directory - string homeDir = getenv ("HOME"); + string homeDir; + + char *homepath = NULL; + homepath = getenv ("HOME"); + if ( homepath != NULL) { homeDir = homepath; } + else { homeDir = ""; } + newFileName = homeDir + fileName.substr(fileName.find("~")+1); return newFileName; }else { //find path if (path.rfind("./") == -1) { return fileName; } //already complete name else { newFileName = fileName.substr(fileName.rfind("./")+2); } //save the complete part of the name - char* cwdpath = new char[1024]; + //char* cwdpath = new char[1024]; + //size_t size; + //cwdpath=getcwd(cwdpath,size); + //cwd = cwdpath; + + char *cwdpath = NULL; + cwdpath = getcwd(NULL, 0); // or _getcwd + if ( cwdpath != NULL) { cwd = cwdpath; } + else { cwd = ""; } - size_t size; - cwdpath=getcwd(cwdpath,size); - - cwd = cwdpath; //rip off first '/' string simpleCWD; @@ -984,7 +1005,7 @@ vector MothurOut::divideFile(string filename, int& proc) { //estimate file breaks unsigned long int chunkSize = 0; chunkSize = size / proc; - + //file to small to divide by processors if (chunkSize == 0) { proc = 1; filePos.push_back(size); return filePos; } @@ -1002,7 +1023,7 @@ vector MothurOut::divideFile(string filename, int& proc) { char c = in.get(); if (c == '>') { in.putback(c); newSpot = in.tellg(); break; } } - + //there was not another sequence before the end of the file unsigned long int sanityPos = in.tellg(); @@ -1017,7 +1038,7 @@ vector MothurOut::divideFile(string filename, int& proc) { //sanity check filePos for (int i = 0; i < (filePos.size()-1); i++) { - if (filePos[(i+1)] <= filePos[i]) { filePos.erase(filePos.begin()+(i+1)); i--; } + if (filePos[(i+1)] <= filePos[i]) { cout << "erasing " << (i+1) << endl; filePos.erase(filePos.begin()+(i+1)); i--; } } proc = (filePos.size() - 1); @@ -1181,7 +1202,20 @@ void MothurOut::getNumSeqs(ifstream& file, int& numSeqs){ //This function parses the estimator options and puts them in a vector void MothurOut::splitAtChar(string& estim, vector& container, char symbol) { try { - string individual; + string individual = ""; + int estimLength = estim.size(); + for(int i=0;i& container, char symbo } } //get last one - container.push_back(estim); + container.push_back(estim); */ } catch(exception& e) { errorOut(e, "MothurOut", "splitAtChar"); @@ -1529,6 +1563,7 @@ bool MothurOut::checkReleaseVersion(ifstream& file, string version) { exit(1); } } + /**************************************************************************************************/