public:
TrimSeqsCommand(string);
TrimSeqsCommand();
- ~TrimSeqsCommand();
- vector<string> getRequiredParameters();
- vector<string> getValidParameters();
- vector<string> getRequiredFiles();
- map<string, vector<string> > getOutputFiles() { return outputTypes; }
- int execute();
- void help();
+ ~TrimSeqsCommand(){}
+
+ vector<string> setParameters();
+ string getCommandName() { return "trim.seqs"; }
+ string getCommandCategory() { return "Sequence Processing"; }
+ string getHelpString();
+ string getCitation() { return "http://www.mothur.org/wiki/Trim.seqs"; }
+ string getDescription() { return "provides the preprocessing features needed to screen and sort pyrosequences"; }
+
+ int execute();
+ void help() { m->mothurOut(getHelpString()); }
private:
GroupMap* groupMap;
struct linePair {
- unsigned long int start;
- unsigned long int end;
- linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
+ unsigned long long start;
+ unsigned long long end;
+ linePair(unsigned long long i, unsigned long long j) : start(i), end(j) {}
};
- void getOligos(vector<string>&, vector<string>&);
- int stripBarcode(Sequence&, QualityScores&, int&);
- int stripForward(Sequence&, QualityScores&, int&);
- bool stripReverse(Sequence&, QualityScores&);
-
+ bool getOligos(vector<vector<string> >&, vector<vector<string> >&, vector<vector<string> >&);
bool keepFirstTrim(Sequence&, QualityScores&);
bool removeLastTrim(Sequence&, QualityScores&);
-
bool cullLength(Sequence&);
bool cullHomoP(Sequence&);
bool cullAmbigs(Sequence&);
- bool compareDNASeq(string, string);
- int countDiffs(string, string);
- map<string, vector<string> > outputTypes;
- bool abort;
- string fastaFile, oligoFile, qFileName, groupfile, outputDir;
+ bool abort, createGroup;
+ string fastaFile, oligoFile, qFileName, groupfile, nameFile, outputDir;
bool flip, allFiles, qtrim;
int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, processors, tdiffs, bdiffs, pdiffs, comboStarts;
map<string, int> primers;
map<string, int> combos;
map<string, int> groupToIndex;
-
+ vector<string> primerNameVector; //needed here?
+ vector<string> barcodeNameVector; //needed here?
+ map<string, int> groupCounts;
+ map<string, string> nameMap;
+
vector<int> processIDS; //processid
vector<linePair*> lines;
vector<linePair*> qLines;
- int driverCreateTrim(string, string, string, string, string, string, string, vector<string>, vector<string>, linePair*, linePair*);
- int createProcessesCreateTrim(string, string, string, string, string, string, string, vector<string>, vector<string>);
- int setLines(string, string, vector<unsigned long int>&, vector<unsigned long int>&);
+ int driverCreateTrim(string, string, string, string, string, string, string, string, string, vector<vector<string> >, vector<vector<string> >, vector<vector<string> >, linePair*, linePair*);
+ int createProcessesCreateTrim(string, string, string, string, string, string, string, string, string, vector<vector<string> >, vector<vector<string> >, vector<vector<string> >);
+ int setLines(string, string, vector<unsigned long long>&, vector<unsigned long long>&);
};
#endif