]> git.donarmstrong.com Git - mothur.git/blob - aligncommand.h
merged pat's trim seqs edits with sarah's major overhaul of global data; also added...
[mothur.git] / aligncommand.h
1 #ifndef ALIGNCOMMAND_H
2 #define ALIGNCOMMAND_H
3
4 /*
5  *  aligncommand.h
6  *  Mothur
7  *
8  *  Created by Sarah Westcott on 5/15/09.
9  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
10  *
11  */
12
13 #include "mothur.h"
14 #include "command.hpp"
15 #include "database.hpp"
16 #include "alignment.hpp"
17
18 class AlignCommand : public Command {
19         
20 public:
21         AlignCommand(string);   
22         ~AlignCommand();
23         int execute(); 
24         void help();    
25
26 private:
27         struct linePair {
28                 int start;
29                 int numSeqs;
30                 linePair(int i, int j) : start(i), numSeqs(j) {}
31         };
32         map<int, int> processIDS;   //end line, processid
33         vector<linePair*> lines;
34
35         Database* templateDB;
36         Alignment* alignment;
37
38         int driver(linePair*, string, string);
39         void createProcesses(string, string);
40         void appendAlignFiles(string, string); 
41         void appendReportFiles(string, string);
42         
43         string candidateFileName, templateFileName, distanceFileName, search, align;
44         float match, misMatch, gapOpen, gapExtend;
45         int processors, kmerSize;
46
47         bool abort;
48 };
49
50 #endif