X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=clustersplitcommand.h;h=e1f17b1bd0b8c4088d5deb3c06691fb3ccf26999;hp=0e32ffaea7710189859f458de4adc897362e12ef;hb=d1c97b8c04bb75faca1e76ffad60b37a4d789d3d;hpb=43ed0accfbc2852849e104ff7eccdd2c42acd4ec diff --git a/clustersplitcommand.h b/clustersplitcommand.h index 0e32ffa..e1f17b1 100644 --- a/clustersplitcommand.h +++ b/clustersplitcommand.h @@ -15,7 +15,7 @@ #include "sabundvector.hpp" #include "listvector.hpp" #include "cluster.hpp" -#include "sparsematrix.hpp" +#include "sparsedistancematrix.h" #include "readcluster.h" #include "splitmatrix.h" #include "readphylip.h" @@ -23,6 +23,7 @@ #include "readmatrix.hpp" #include "inputdata.h" #include "clustercommand.h" +#include "clusterclassic.h" class ClusterSplitCommand : public Command { @@ -34,8 +35,10 @@ public: vector setParameters(); string getCommandName() { return "cluster.split"; } string getCommandCategory() { return "Clustering"; } + string getHelpString(); - string getCitation() { return "Schloss PD, Westcott SL (2011). Assessing and improving methods used in OTU-based approaches for 16S rRNA gene sequence analysis. Appl Environ Microbiol. \nhttp://www.mothur.org/wiki/Cluster.split"; } + string getOutputPattern(string); + string getCitation() { return "Schloss PD, Westcott SL (2011). Assessing and improving methods used in OTU-based approaches for 16S rRNA gene sequence analysis. Appl Environ Microbiol 77:3219. \nhttp://www.mothur.org/wiki/Cluster.split"; } string getDescription() { return "splits your sequences by distance or taxonomy then clusters into OTUs"; } int execute(); @@ -45,19 +48,22 @@ private: vector processIDS; //processid vector outputNames; - string method, fileroot, tag, outputDir, phylipfile, columnfile, namefile, distfile, format, showabund, timing, splitmethod, taxFile, fastafile; + string method, fileroot, tag, outputDir, phylipfile, columnfile, namefile, countfile, distfile, format, showabund, timing, splitmethod, taxFile, fastafile; double cutoff, splitcutoff; int precision, length, processors, taxLevelCutoff; - bool print_start, abort, hard, large; + bool print_start, abort, hard, large, classic, runCluster; time_t start; ofstream outList, outRabund, outSabund; void printData(ListVector*); vector createProcesses(vector< map >, set&); vector cluster(vector< map >, set&); + string clusterFile(string, string, set&, double&); + string clusterClassicFile(string, string, set&, double&); int mergeLists(vector, map, ListVector*); map completeListFile(vector, string, set&, ListVector*&); int createMergedDistanceFile(vector< map >); + int createRabund(CountTable*& ct, ListVector*& list, RAbundVector*& rabund); }; /////////////////not working for Windows//////////////////////////////////////////////////////////// @@ -71,7 +77,7 @@ private: // anything to do with mothur's use of copy constructors in many of our data structures. ie. listvector // is copied by nameassignment and passed to read which passes to the thread? -westcott 2-8-12 //////////////////////////////////////////////////////////////////////////////////////////////////// -/**************************************************************************************************/ +/************************************************************************************************** //custom data structure for threads to use. // This is passed by void pointer so it can be any data type // that can be passed using a single void pointer (LPVOID). @@ -101,7 +107,7 @@ struct clusterData { } }; -/**************************************************************************************************/ +/************************************************************************************************** #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix) #else static DWORD WINAPI MyClusterThreadFunction(LPVOID lpParam){ @@ -253,7 +259,7 @@ static DWORD WINAPI MyClusterThreadFunction(LPVOID lpParam){ } #endif - +*/ #endif