#include "groupmap.h"
#include "inputdata.h"
#include "listvector.hpp"
+#include "sequence.hpp"
+#include "counttable.h"
/***************************************************************************************/
public:
SplitAbundCommand(string);
+ SplitAbundCommand();
~SplitAbundCommand();
- int execute();
- void help();
-
+
+ vector<string> setParameters();
+ string getCommandName() { return "split.abund"; }
+ string getCommandCategory() { return "OTU-Based Approaches"; }
+
+ string getHelpString();
+ string getOutputPattern(string);
+ string getCitation() { return "http://www.mothur.org/wiki/Split.abund"; }
+ string getDescription() { return "split a list, name, group or fasta file based on abundance"; }
+
+ int execute();
+ void help() { m->mothurOut(getHelpString()); }
private:
- int split(ListVector*);
- int split(); //namefile
+ int splitList(ListVector*);
+ int splitNames(); //namefile
+ int writeNames();
+ int writeList(ListVector*, string, int);
+ int writeAccnos(string);
+ int parseGroup(string);
+ int parseFasta(string);
+ int parseCount(string);
+ int splitCount();
+ int readNamesFile(); //namefile
+ int createNameMap(ListVector*);
vector<string> outputNames;
- ListVector* list;
- GroupMap* groupMap;
- InputData* input;
+ GroupMap groupMap;
+ CountTable ct;
- string outputDir, listfile, namefile, groupfile, label;
- set<string> labels;
- bool abort, allLines, accnos, wroteRareList, wroteAbundList;
+ string outputDir, listfile, namefile, groupfile, countfile, label, groups, fastafile, inputFile;
+ set<string> labels, rareNames, abundNames;
+ vector<string> Groups;
+ bool abort, allLines, accnos;
int cutoff;
+ map<string, string> nameMap;