From 06cf8fa0ded0e427361e9ecd27917c7a8a52b89f Mon Sep 17 00:00:00 2001 From: westcott Date: Fri, 18 Jun 2010 17:50:19 +0000 Subject: [PATCH] fixed problem with trim.seqs writing over files if barcodes belonged to the same group --- splitabundcommand.cpp | 6 +++--- trimseqscommand.cpp | 26 +++++++++++--------------- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/splitabundcommand.cpp b/splitabundcommand.cpp index fab1b64..287086a 100644 --- a/splitabundcommand.cpp +++ b/splitabundcommand.cpp @@ -146,7 +146,7 @@ SplitAbundCommand::SplitAbundCommand(string option) { void SplitAbundCommand::help(){ try { m->mothurOut("The split.abund command reads a fasta file and a list or a names file splits the sequences into rare and abundant groups. \n"); - m->mothurOut("The split.abund command parameters are list, name, cutoff, group, label, groups and accnos.\n"); + m->mothurOut("The split.abund command parameters are fasta, list, name, cutoff, group, label, groups, cutoff and accnos.\n"); m->mothurOut("The fasta and a list or name parameter are required, and you must provide a cutoff value.\n"); m->mothurOut("The cutoff parameter is used to qualify what is abundant and rare.\n"); m->mothurOut("The group parameter allows you to parse a group file into rare and abundant groups.\n"); @@ -155,8 +155,8 @@ void SplitAbundCommand::help(){ m->mothurOut("The groups parameter allows you to parse the files into rare and abundant files by group. \n"); m->mothurOut("For example if you set groups=A-B-C, you will get a .A.abund, .A.rare, .B.abund, .B.rare, .C.abund, .C.rare files. \n"); m->mothurOut("If you want .abund and .rare files for all groups, set groups=all. \n"); - m->mothurOut("The split.abund command should be used in the following format: split.abund(list=yourListFile, group=yourGroupFile, label=yourLabels, cutoff=yourCutoff).\n"); - m->mothurOut("Example: split.abundt(list=abrecovery.fn.list, group=abrecovery.groups, label=0.03, cutoff=2).\n"); + m->mothurOut("The split.abund command should be used in the following format: split.abund(fasta=yourFasta, list=yourListFile, group=yourGroupFile, label=yourLabels, cutoff=yourCutoff).\n"); + m->mothurOut("Example: split.abund(fasta=abrecovery.fasta, list=abrecovery.fn.list, group=abrecovery.groups, label=0.03, cutoff=2).\n"); m->mothurOut("Note: No spaces between parameter labels (i.e. list), '=' and parameters (i.e.yourListfile).\n\n"); } diff --git a/trimseqscommand.cpp b/trimseqscommand.cpp index 580fc22..4947b38 100644 --- a/trimseqscommand.cpp +++ b/trimseqscommand.cpp @@ -283,10 +283,13 @@ int TrimSeqsCommand::execute(){ for(int i=0;i'){ @@ -353,15 +356,8 @@ int TrimSeqsCommand::driverCreateTrim(string filename, string qFileName, string for(int i=0;inum;i++){ if (m->control_pressed) { - inFASTA.close(); - outFASTA.close(); - scrapFASTA.close(); - if (oligoFile != "") { outGroups.close(); } - if(qFileName != "") { qFile.close(); } - for(int i=0;iclose(); - delete fastaFileNames[i]; - } + inFASTA.close(); outFASTA.close(); scrapFASTA.close(); if (oligoFile != "") { outGroups.close(); } if(qFileName != "") { qFile.close(); } + for(int i=0;iclose(); delete fastaFileNames[i]; } for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } return 0; } @@ -587,13 +583,13 @@ void TrimSeqsCommand::getOligos(vector& outFASTAVec){ //vector> group; - barcodes[oligo]=index++; + barcodes[oligo]=index; index++; groupVector.push_back(group); if(allFiles){ //outFASTAVec.push_back(new ofstream((outputDir + getRootName(getSimpleName(fastaFile)) + group + ".fasta").c_str(), ios::ate)); - outputNames.push_back((outputDir + getRootName(getSimpleName(fastaFile)) + group + ".fasta")); - outFASTAVec.push_back((outputDir + getRootName(getSimpleName(fastaFile)) + group + ".fasta")); + outputNames.push_back((outputDir + getRootName(getSimpleName(fastaFile)) + toString(index) + "." + group + ".fasta")); + outFASTAVec.push_back((outputDir + getRootName(getSimpleName(fastaFile)) + toString(index) + "." + group + ".fasta")); } } } -- 2.39.2