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);
24 vector<string> getRequiredParameters();
25 vector<string> getValidParameters();
26 vector<string> getRequiredFiles();
27 map<string, vector<string> > getOutputFiles() { return outputTypes; }
35 unsigned long int start;
36 unsigned long int end;
37 linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
40 vector<int> processIDS; //processid
41 vector<linePair*> lines;
43 vector<unsigned long int> getFlowFileBreaks();
44 int createProcessesCreateTrim(string, string, string, string, vector<vector<string> >);
45 int driverCreateTrim(string, string, string, string, vector<vector<string> >, linePair*);
48 map<string, vector<string> > outputTypes;
49 vector<string> outputNames;
50 set<string> filesToRemove;
54 void getOligos(vector<vector<string> >&); //a rewrite of what is in trimseqscommand.h
55 int stripBarcode(Sequence&, int&); //largely redundant with trimseqscommand.h
56 int stripForward(Sequence&, int&); //largely redundant with trimseqscommand.h
57 bool stripReverse(Sequence&); //largely redundant with trimseqscommand.h
58 bool compareDNASeq(string, string); //largely redundant with trimseqscommand.h
59 int countDiffs(string, string); //largely redundant with trimseqscommand.h
63 int numFPrimers, numRPrimers;
64 int totalFlows, minFlows, minLength, maxLength, maxHomoP, tdiffs, bdiffs, pdiffs;
70 string flowFileName, oligoFileName, outputDir;
73 map<string, int> barcodes;
74 map<string, int> primers;
75 vector<string> revPrimer;
77 vector<string> primerNameVector; //needed here?
78 vector<string> barcodeNameVector; //needed here?
80 map<string, int> combos; //needed here?
81 map<string, int> groupToIndex; //needed here?