1 #ifndef TRIMFLOWSCOMMAND_H
2 #define TRIMFLOWSCOMMAND_H
8 * Created by Pat Schloss on 12/22/10.
9 * Copyright 2010 Schloss Lab. All rights reserved.
14 #include "command.hpp"
15 #include "sequence.hpp"
19 class TrimFlowsCommand : public Command {
21 TrimFlowsCommand(string);
23 ~TrimFlowsCommand() {}
25 vector<string> setParameters();
26 string getCommandName() { return "trim.flows"; }
27 string getCommandCategory() { return "Hidden"; }
28 string getHelpString();
31 void help() { m->mothurOut(getHelpString()); }
37 unsigned long int start;
38 unsigned long int end;
39 linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
42 vector<int> processIDS; //processid
43 vector<linePair*> lines;
45 vector<unsigned long int> getFlowFileBreaks();
46 int createProcessesCreateTrim(string, string, string, string, vector<vector<string> >);
47 int driverCreateTrim(string, string, string, string, vector<vector<string> >, linePair*);
49 vector<string> outputNames;
50 set<string> filesToRemove;
52 void getOligos(vector<vector<string> >&); //a rewrite of what is in trimseqscommand.h
53 int stripBarcode(Sequence&, int&); //largely redundant with trimseqscommand.h
54 int stripForward(Sequence&, int&); //largely redundant with trimseqscommand.h
55 bool stripReverse(Sequence&); //largely redundant with trimseqscommand.h
56 bool compareDNASeq(string, string); //largely redundant with trimseqscommand.h
57 int countDiffs(string, string); //largely redundant with trimseqscommand.h
61 int numFPrimers, numRPrimers;
62 int maxFlows, minFlows, minLength, maxLength, maxHomoP, tdiffs, bdiffs, pdiffs;
68 string flowFileName, oligoFileName, outputDir;
71 map<string, int> barcodes;
72 map<string, int> primers;
73 vector<string> revPrimer;
75 vector<string> primerNameVector; //needed here?
76 vector<string> barcodeNameVector; //needed here?
78 map<string, int> combos; //needed here?
79 map<string, int> groupToIndex; //needed here?