]> git.donarmstrong.com Git - mothur.git/blob - makecontigscommand.h
Merge branch 'master' of https://github.com/mothur/mothur.git
[mothur.git] / makecontigscommand.h
1 #ifndef Mothur_makecontigscommand_h
2 #define Mothur_makecontigscommand_h
3
4 //
5 //  makecontigscommand.h
6 //  Mothur
7 //
8 //  Created by Sarah Westcott on 5/15/12.
9 //  Copyright (c) 2012 Schloss Lab. All rights reserved.
10 //
11
12 #include "command.hpp"
13
14 struct fastqRead {
15         vector<int> scores;
16         string name;
17         string sequence;
18         
19         fastqRead() { name = ""; sequence = ""; scores.clear(); };
20         fastqRead(string n, string s, vector<int> sc) : name(n), sequence(s), scores(sc) {};
21         ~fastqRead() {};
22 };
23
24 /**************************************************************************************************/
25
26 class MakeContigsCommand : public Command {
27 public:
28     MakeContigsCommand(string);
29     MakeContigsCommand();
30     ~MakeContigsCommand(){}
31     
32     vector<string> setParameters();
33     string getCommandName()                     { return "make.contigs";                        }
34     string getCommandCategory()         { return "Sequence Processing";         } 
35     //commmand category choices: Sequence Processing, OTU-Based Approaches, Hypothesis Testing, Phylotype Analysis, General, Clustering and Hidden
36     string getHelpString();     
37     string getCitation() { return "http://www.mothur.org/wiki/Make.contigs"; }
38     string getDescription()             { return "description"; }
39     
40     int execute(); 
41     void help() { m->mothurOut(getHelpString()); }      
42     
43 private:
44     bool abort;
45     string outputDir, ffastqfile, rfastqfile, align;
46         float match, misMatch, gapOpen, gapExtend;
47         int processors, longestBase;
48     vector<string> outputNames;
49     
50     fastqRead readFastq(ifstream&);
51     vector< vector<string> > readFastqFiles(int&);
52     bool checkReads(fastqRead&, fastqRead&);
53 };
54
55 /**************************************************************************************************/
56
57
58
59
60
61
62
63 #endif