1 #ifndef SCREENSEQSCOMMAND_H
2 #define SCREENSEQSCOMMAND_H
8 * Created by Pat Schloss on 6/3/09.
9 * Copyright 2009 Patrick D. Schloss. All rights reserved.
13 #include "command.hpp"
15 class ScreenSeqsCommand : public Command {
18 ScreenSeqsCommand(string);
21 vector<string> getRequiredParameters();
22 vector<string> getValidParameters();
23 vector<string> getRequiredFiles();
24 map<string, vector<string> > getOutputFiles() { return outputTypes; }
31 unsigned long int start;
32 unsigned long int end;
33 linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
36 vector<int> processIDS; //processid
37 vector<linePair*> lines;
39 int screenNameGroupFile(set<string>);
40 int screenGroupFile(set<string>);
41 int screenAlignReport(set<string>);
43 int driver(linePair*, string, string, string, set<string>&);
44 int createProcesses(string, string, string, set<string>&);
47 int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long int>&, set<string>&);
51 string fastafile, namefile, groupfile, alignreport, outputDir;
52 int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength, processors, criteria;
53 vector<string> outputNames;
54 vector<string> optimize;
55 map<string, vector<string> > outputTypes;
57 int getSummary(vector<unsigned long int>&);
58 int createProcessesCreateSummary(vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<int>&, string);
59 int driverCreateSummary(vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<int>&, string, linePair*);