X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=clustersplitcommand.cpp;h=0dae8934f9331cdf5364769d6736a14e4fa56065;hb=60928795782d8f8648ec373d6a96b53032a77429;hp=b02bd20063e9f70bb422fa541403013d6a1976ab;hpb=4283eb0248ca6e7e3e3344647f16166da0e14147;p=mothur.git diff --git a/clustersplitcommand.cpp b/clustersplitcommand.cpp index b02bd20..0dae893 100644 --- a/clustersplitcommand.cpp +++ b/clustersplitcommand.cpp @@ -61,7 +61,7 @@ string ClusterSplitCommand::getHelpString(){ helpString += "The cluster parameter allows you to indicate whether you want to run the clustering or just split the distance matrix, default=t"; helpString += "The cutoff parameter allow you to set the distance you want to cluster to, default is 0.25. \n"; helpString += "The precision parameter allows you specify the precision of the precision of the distances outputted, default=100, meaning 2 decimal places. \n"; - helpString += "The method allows you to specify what clustering algorythm you want to use, default=average, option furthest, nearest, or average. \n"; + helpString += "The method allows you to specify what clustering algorithm you want to use, default=average, option furthest, nearest, or average. \n"; helpString += "The splitmethod parameter allows you to specify how you want to split your distance file before you cluster, default=distance, options distance, classify or fasta. \n"; helpString += "The taxonomy parameter allows you to enter the taxonomy file for your sequences, this is only valid if you are using splitmethod=classify. Be sure your taxonomy file does not include the probability scores. \n"; helpString += "The taxlevel parameter allows you to specify the taxonomy level you want to use to split the distance file, default=3, meaning use the first taxon in each list. \n"; @@ -833,8 +833,10 @@ int ClusterSplitCommand::mergeLists(vector listNames, map us m->openOutputFile(listFileName, outList); outputNames.push_back(listFileName); outputTypes["list"].push_back(listFileName); - map::iterator itLabel; + + //clears out junk for autocompleting of list files above. Perhaps there is a beter way to handle this from within the data structure? + m->printedListHeaders = false; //for each label needed for(itLabel = userLabels.begin(); itLabel != userLabels.end(); itLabel++) { @@ -890,6 +892,8 @@ int ClusterSplitCommand::mergeLists(vector listNames, map us rabund->print(outRabund); } //outList << endl; + if (!m->printedListHeaders) { + m->listBinLabelsInFile.clear(); completeList.printHeaders(outList); } completeList.print(outList); if (rabund != NULL) { delete rabund; } @@ -977,7 +981,7 @@ vector ClusterSplitCommand::createProcesses(vector< map vector listFileNames = cluster(dividedNames[process], labels); //write out names to file - string filename = toString(getpid()) + ".temp"; + string filename = m->mothurGetpid(process) + ".temp"; ofstream out; m->openOutputFile(filename, out); out << tag << endl; @@ -986,7 +990,7 @@ vector ClusterSplitCommand::createProcesses(vector< map //print out labels ofstream outLabels; - filename = toString(getpid()) + ".temp.labels"; + filename = m->mothurGetpid(process) + ".temp.labels"; m->openOutputFile(filename, outLabels); outLabels << cutoff << endl; @@ -1174,7 +1178,7 @@ string ClusterSplitCommand::clusterClassicFile(string thisDistFile, string thisN cluster->readPhylipFile(thisDistFile, nameMap); }else if (countfile != "") { ct = new CountTable(); - ct->readTable(thisNamefile, false); + ct->readTable(thisNamefile, false, false); cluster->readPhylipFile(thisDistFile, ct); } tag = cluster->getTag(); @@ -1302,7 +1306,7 @@ string ClusterSplitCommand::clusterFile(string thisDistFile, string thisNamefile read->read(nameMap); }else if (countfile != "") { ct = new CountTable(); - ct->readTable(thisNamefile, false); + ct->readTable(thisNamefile, false, false); read->read(ct); }else { read->read(nameMap); }