Minor output file naming bug in shhh.flows in mothur 1.23.1

I think there’s a minor bug with the naming of output files from the shhh.flows() command in mothur 1.23.1 which results in file names with “double-dots” in them (e.g. “N0_1.trim…shhh.fasta” rather than “N0_1.trim.shhh.fasta”).

I see the same behaviour with both the precompiled Linux binaries (64-bit) and when I build from source; I made these changes to shhhercommand.cpp seems to fix it:

--- Mothur.source/shhhercommand.cpp 2012-01-11 12:36:34.000000000 +0000
+++ Mothur.source.new/shhhercommand.cpp 2012-02-27 16:04:53.977885050 +0000
@@ -2152,7 +2152,7 @@
  try {
   string thisOutputDir = outputDir;
   if (outputDir == "") {  thisOutputDir += m->hasPath(flowFileName);  }
-  string qualityFileName = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName)) + ".shhh.qual";
+  string qualityFileName = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName)) + "shhh.qual";
 
   ofstream qualityFile;
   m->openOutputFile(qualityFileName, qualityFile);
@@ -2259,7 +2259,7 @@
  try {
   string thisOutputDir = outputDir;
   if (outputDir == "") {  thisOutputDir += m->hasPath(flowFileName);  }
-  string fastaFileName = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName)) + ".shhh.fasta";
+  string fastaFileName = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName)) + "shhh.fasta";
   ofstream fastaFile;
   m->openOutputFile(fastaFileName, fastaFile);
   
@@ -2307,7 +2307,7 @@
  try {
   string thisOutputDir = outputDir;
   if (outputDir == "") {  thisOutputDir += m->hasPath(flowFileName);  }
-  string nameFileName = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName)) + ".shhh.names";
+  string nameFileName = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName)) + "shhh.names";
   ofstream nameFile;
   m->openOutputFile(nameFileName, nameFile);
   
@@ -2346,7 +2346,7 @@
   string thisOutputDir = outputDir;
   if (outputDir == "") {  thisOutputDir += m->hasPath(flowFileName);  }
   string fileRoot = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName));
-  string groupFileName = fileRoot + ".shhh.groups";
+  string groupFileName = fileRoot + "shhh.groups";
   ofstream groupFile;
   m->openOutputFile(groupFileName, groupFile);
   
@@ -2370,7 +2370,7 @@
  try {
   string thisOutputDir = outputDir;
   if (outputDir == "") {  thisOutputDir += m->hasPath(flowFileName);  }
-  string otuCountsFileName = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName)) + ".shhh.counts";
+  string otuCountsFileName = thisOutputDir + m->getRootName(m->getSimpleName(flowFileName)) + "shhh.counts";
   ofstream otuCountsFile;
   m->openOutputFile(otuCountsFileName, otuCountsFile);

Best wishes, Peter

Thanks! This will be fixed in 1.24.0.

Great! Thanks,
Peter