#include "groupmap.h"
#include "readmatrix.hpp"
#include "formatmatrix.h"
+#include "counttable.h"
-typedef list<PCell>::iterator MatData;
typedef map<int, float> SeqMap;
struct repStruct {
vector<string> setParameters();
string getCommandName() { return "get.oturep"; }
string getCommandCategory() { return "OTU-Based Approaches"; }
+
string getHelpString();
+ string getOutputPattern(string);
string getCitation() { return "http://www.mothur.org/wiki/Get.oturep"; }
string getDescription() { return "gets a representative sequence for each OTU"; }
private:
ListVector* list;
- InputData* input;
- FastaMap* fasta;
GroupMap* groupMap;
ReadMatrix* readMatrix;
FormatMatrix* formatMatrix;
NameAssignment* nameMap;
- string filename, fastafile, listfile, namefile, groupfile, label, sorted, phylipfile, columnfile, distFile, format, outputDir, groups;
+ CountTable ct;
+ string filename, fastafile, listfile, namefile, groupfile, label, sorted, phylipfile, countfile, columnfile, distFile, format, outputDir, groups, method;
ofstream out;
ifstream in, inNames, inRow;
- bool abort, allLines, groupError, large, weighted;
+ bool abort, allLines, groupError, large, weighted, hasGroups;
set<string> labels; //holds labels to be used
map<string, int> nameToIndex; //maps sequence name to index in sparsematrix
map<string, string> nameFileMap;
// for all distances related to a certain sequence
vector<int> rowPositions;
- void readNamesFile();
+ void readNamesFile(FastaMap*&);
void readNamesFile(bool);
int process(ListVector*);
SeqMap getMap(int);
- string findRep(vector<string>); // returns the name of the "representative" sequence of given bin or subset of a bin, for groups
+ string findRep(vector<string>, string); // returns the name of the "representative" sequence of given bin or subset of a bin, for groups
+ string findRepAbund(vector<string>, string);
int processNames(string, string);
- int processFastaNames(string, string);
+ int processFastaNames(string, string, FastaMap*&);
+ int readDist();
};
#endif