void help();
private:
- void getOligos(vector<ofstream*>&);
+
+ struct linePair {
+ int start;
+ int num;
+ linePair(long int i, int j) : start(i), num(j) {}
+ };
+
+ void getOligos(vector<string>&);
bool stripQualThreshold(Sequence&, ifstream&);
bool cullQualAverage(Sequence&, ifstream&);
- bool stripBarcode(Sequence&, int&);
- bool stripForward(Sequence&);
+ int stripBarcode(Sequence&, int&);
+ int stripForward(Sequence&);
bool stripReverse(Sequence&);
bool cullLength(Sequence&);
bool cullHomoP(Sequence&);
bool cullAmbigs(Sequence&);
bool compareDNASeq(string, string);
+ int countDiffs(string, string);//, int, int&, int);
bool abort;
string fastaFile, oligoFile, qFileName, outputDir;
bool flip, allFiles, qtrim;
- int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, qThreshold, qAverage;
- vector<string> forPrimer, revPrimer;
+ int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, qThreshold, qAverage, processors, tdiffs, bdiffs, pdiffs;
+ vector<string> forPrimer, revPrimer, outputNames;
map<string, int> barcodes;
vector<string> groupVector;
+
+ vector<int> processIDS; //processid
+ vector<linePair*> lines;
+ vector<linePair*> qLines;
+
+ int driverCreateTrim(string, string, string, string, string, vector<string>, linePair*, linePair*);
+ int createProcessesCreateTrim(string, string, string, string, string, vector<string>);
+ int setLines(string, vector<linePair*>&);
+
};
#endif