From: westcott Date: Wed, 18 May 2011 13:22:43 +0000 (+0000) Subject: fixed bug with trim.seqs allfiles=t X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=commitdiff_plain;h=a834131359fd7cf3625df70d7e77ca90a159e9fd fixed bug with trim.seqs allfiles=t --- diff --git a/trimseqscommand.cpp b/trimseqscommand.cpp index 6d87f89..61a58a4 100644 --- a/trimseqscommand.cpp +++ b/trimseqscommand.cpp @@ -314,7 +314,7 @@ int TrimSeqsCommand::execute(){ outputNames.push_back(outputGroupFileName); outputTypes["group"].push_back(outputGroupFileName); getOligos(fastaFileNames, qualFileNames); } - + vector fastaFilePos; vector qFilePos; @@ -337,7 +337,7 @@ int TrimSeqsCommand::execute(){ #endif if (m->control_pressed) { return 0; } - + if(allFiles){ map uniqueFastaNames;// so we don't add the same groupfile multiple times map::iterator it; @@ -345,19 +345,21 @@ int TrimSeqsCommand::execute(){ for(int i=0;iisBlank(fastaFileNames[i][j])){ - remove(fastaFileNames[i][j].c_str()); - namesToRemove.insert(fastaFileNames[i][j]); + if (namesToRemove.count(fastaFileNames[i][j]) == 0) { + if(m->isBlank(fastaFileNames[i][j])){ + remove(fastaFileNames[i][j].c_str()); + namesToRemove.insert(fastaFileNames[i][j]); - if(qFileName != ""){ - remove(qualFileNames[i][j].c_str()); - namesToRemove.insert(qualFileNames[i][j]); + if(qFileName != ""){ + remove(qualFileNames[i][j].c_str()); + namesToRemove.insert(qualFileNames[i][j]); + } + }else{ + it = uniqueFastaNames.find(fastaFileNames[i][j]); + if (it == uniqueFastaNames.end()) { + uniqueFastaNames[fastaFileNames[i][j]] = barcodeNameVector[i]; + } } - }else{ - it = uniqueFastaNames.find(fastaFileNames[i][j]); - if (it == uniqueFastaNames.end()) { - uniqueFastaNames[fastaFileNames[i][j]] = barcodeNameVector[i]; - } } } } @@ -1027,27 +1029,30 @@ void TrimSeqsCommand::getOligos(vector >& fastaFileNames, vector< comboGroupName = barcodeNameVector[itBar->second] + "." + primerNameVector[itPrimer->second]; } } - - ofstream temp; - fastaFileName = outputDir + m->getRootName(m->getSimpleName(fastaFile)) + comboGroupName + ".fasta"; - if (uniqueNames.count(fastaFileName) == 0) { - outputNames.push_back(fastaFileName); - outputTypes["fasta"].push_back(fastaFileName); - uniqueNames.insert(fastaFileName); - } - fastaFileNames[itBar->second][itPrimer->second] = fastaFileName; - m->openOutputFile(fastaFileName, temp); temp.close(); - - if(qFileName != ""){ - qualFileName = outputDir + m->getRootName(m->getSimpleName(qFileName)) + comboGroupName + ".qual"; + if ((comboGroupName == "") || (comboGroupName == ".")) {} + else { + ofstream temp; + fastaFileName = outputDir + m->getRootName(m->getSimpleName(fastaFile)) + comboGroupName + ".fasta"; if (uniqueNames.count(fastaFileName) == 0) { - outputNames.push_back(qualFileName); - outputTypes["qfile"].push_back(qualFileName); + outputNames.push_back(fastaFileName); + outputTypes["fasta"].push_back(fastaFileName); + uniqueNames.insert(fastaFileName); } - qualFileNames[itBar->second][itPrimer->second] = qualFileName; - m->openOutputFile(qualFileName, temp); temp.close(); + fastaFileNames[itBar->second][itPrimer->second] = fastaFileName; + m->openOutputFile(fastaFileName, temp); temp.close(); + + if(qFileName != ""){ + qualFileName = outputDir + m->getRootName(m->getSimpleName(qFileName)) + comboGroupName + ".qual"; + if (uniqueNames.count(fastaFileName) == 0) { + outputNames.push_back(qualFileName); + outputTypes["qfile"].push_back(qualFileName); + } + + qualFileNames[itBar->second][itPrimer->second] = qualFileName; + m->openOutputFile(qualFileName, temp); temp.close(); + } } } }