]> git.donarmstrong.com Git - mothur.git/blob - seqerrorcommand.h
pat's updates on 7/19/10
[mothur.git] / seqerrorcommand.h
1 #ifndef SEQERRORCOMMAND
2 #define SEQERRORCOMMAND
3
4 /*
5  *  seqerrorcommand.h
6  *  Mothur
7  *
8  *  Created by Pat Schloss on 7/15/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "mothur.h"
14 #include "command.hpp"
15 #include "sequence.hpp"
16
17 struct Compare {
18         int AA, AT, AG, AC,     TA, TT, TG, TC, GA, GT, GG, GC, CA, CT, CG, CC, NA, NT, NG, NC, Ai, Ti, Gi, Ci, Ni, dA, dT, dG, dC;
19         string refName, queryName;
20         double errorRate;
21         int weight, matches, mismatches, total;
22         
23         Compare(){
24                 AA=0; AT=0; AG=0; AC=0;
25                 TA=0; TT=0; TG=0; TC=0;
26                 GA=0; GT=0; GG=0; GC=0;
27                 CA=0; CT=0; CG=0; CC=0;
28                 NA=0; NT=0; NG=0; NC=0;
29                 Ai=0; Ti=0; Gi=0; Ci=0; Ni=0;
30                 dA=0; dT=0; dG=0; dC=0;
31                 refName = "";
32                 queryName = "";
33                 weight = 1;
34                 matches = 0;
35                 mismatches = 0;
36                 total = 0;
37                 errorRate = 1.0000;
38         }
39 };
40
41 class SeqErrorCommand : public Command {
42 public:
43         SeqErrorCommand(string);
44         ~SeqErrorCommand();
45         int execute();
46         void help();
47         
48 private:
49         bool abort;
50
51         void getReferences();
52         map<string,int> getWeights();
53         Compare getErrors(Sequence, Sequence);
54         void printErrorHeader();
55         void printErrorData(Compare);
56         
57         string queryFileName, referenceFileName, namesFileName, errorFileName, outputDir;
58         double threshold;
59         int numRefs;
60         ofstream errorFile;
61         
62         vector<Sequence> referenceSeqs;
63 };
64
65 #endif