#include "command.hpp"
#include "sharedlistvector.h"
#include "inputdata.h"
-#include "readotu.h"
/* The shared() command:
The shared command can only be executed after a successful read.shared command.
There are no shared command parameters. The shared command should be in the following format: shared(). */
-class GlobalData;
-
class SharedCommand : public Command {
public:
SharedCommand(string);
+ SharedCommand();
~SharedCommand();
- int execute();
- void help() {}
+
+ vector<string> setParameters();
+ string getCommandName() { return "make.shared"; }
+ string getCommandCategory() { return "OTU-Based Approaches"; }
+ string getOutputFileNameTag(string, string);
+ string getHelpString();
+ string getCitation() { return "http://www.mothur.org/wiki/Make.shared"; }
+ string getDescription() { return "make a shared file from a list and group file"; }
+
+ int execute();
+ void help() { m->mothurOut(getHelpString()); }
private:
- void printSharedData(vector<SharedRAbundVector*>);
- void createMisMatchFile();
+ void printSharedData(vector<SharedRAbundVector*>, ofstream&);
+ int createMisMatchFile(SharedListVector*, GroupMap*);
+ int readOrderFile();
bool isValidGroup(string, vector<string>);
- void eliminateZeroOTUS(vector<SharedRAbundVector*>&);
+ int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
+ int ListGroupSameSeqs(vector<string>&, SharedListVector*);
+ int createSharedFromListGroup(string);
+ int createSharedFromBiom(string);
+ string getTag(string&);
+ vector<string> readRows(string, ifstream&, int&);
+ int getDims(string, int&, int&);
+ vector<SharedRAbundVector*> readData(string, string, ifstream&, vector<string>&, int);
- GlobalData* globaldata;
- ReadOTUFile* read;
- SharedListVector* SharedList;
- InputData* input;
- GroupMap* groupMap;
- vector<string> groups;
- ofstream out;
- string filename, fileroot, outputDir;
- bool firsttime, pickedGroups;
+ vector<string> Groups, outputNames, order;
+ set<string> labels;
+ string fileroot, outputDir, listfile, groupfile, biomfile, ordergroupfile;
+ bool firsttime, pickedGroups, abort, allLines;
map<string, ofstream*> filehandles;
map<string, ofstream*>::iterator it3;