X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=getoturepcommand.h;h=7a17c9de22a4c08b8d44a6e59ea3c6f07f18430a;hb=0bcfddf7bc721a334bdae42d86a580019303537d;hp=4f755d0fccfe68dd1e03b5b36d57ce4b76287df9;hpb=510b1cfc25cd79391d6973ca20c5ec25fb1bb3b2;p=mothur.git diff --git a/getoturepcommand.h b/getoturepcommand.h index 4f755d0..7a17c9d 100644 --- a/getoturepcommand.h +++ b/getoturepcommand.h @@ -13,51 +13,74 @@ #include "command.hpp" #include "globaldata.hpp" -#include "sparsematrix.hpp" #include "listvector.hpp" #include "inputdata.h" #include "readotu.h" #include "fastamap.h" #include "groupmap.h" +#include "readmatrix.hpp" +#include "formatmatrix.h" typedef list::iterator MatData; typedef map SeqMap; +struct repStruct { + string name; + int bin; + int size; + string group; + + repStruct(){} + repStruct(string n, int b, int s, string g) : name(n), bin(b), size(s), group(g) {} + ~repStruct() {} +}; + class GetOTURepCommand : public Command { public: GetOTURepCommand(string); + GetOTURepCommand(); ~GetOTURepCommand(); + vector getRequiredParameters(); + vector getValidParameters(); + vector getRequiredFiles(); + map > getOutputFiles() { return outputTypes; } int execute(); void help(); private: GlobalData* globaldata; - SparseMatrix* matrix; ListVector* list; ReadOTUFile* read; InputData* input; FastaMap* fasta; GroupMap* groupMap; - string filename, fastafile, listfile, namesfile, groupfile, line, label; + ReadMatrix* readMatrix; + FormatMatrix* formatMatrix; + NameAssignment* nameMap; + string filename, fastafile, listfile, namefile, groupfile, label, sorted, phylipfile, columnfile, distFile, format, outputDir, groups; ofstream out; - ifstream in, inNames; - bool groupError; - - bool abort, allLines; - set lines; //hold lines to be used + ifstream in, inNames, inRow; + bool abort, allLines, groupError, large, weighted; set labels; //holds labels to be used map nameToIndex; //maps sequence name to index in sparsematrix - + map nameFileMap; + vector outputNames, Groups; + map outputNameFiles; + float cutoff; + int precision; vector seqVec; // contains maps with sequence index and distance // for all distances related to a certain sequence - + vector rowPositions; + map > outputTypes; void readNamesFile(); + void readNamesFile(bool); int process(ListVector*); - string findRep(int, string&, ListVector*, int&); // returns the name of the "representative" sequence of given bin, - // fills a string containing the groups in that bin if a groupfile is given, - // and returns the number of sequences in the given bin + SeqMap getMap(int); + string findRep(vector); // returns the name of the "representative" sequence of given bin or subset of a bin, for groups + int processNames(string, string); + };