]> git.donarmstrong.com Git - mothur.git/blob - chimeraslayer.h
added MPI code, broke up chimera.seqs into 5 separated commands, added parse.sff...
[mothur.git] / chimeraslayer.h
1 #ifndef CHIMERASLAYER_H
2 #define CHIMERASLAYER_H
3
4 /*
5  *  chimeraslayer.h
6  *  Mothur
7  *
8  *  Created by westcott on 9/25/09.
9  *  Copyright 2009 Schloss Lab. All rights reserved.
10  *
11  */
12
13
14 #include "chimera.h"
15 #include "maligner.h"
16 #include "slayer.h"
17
18 //***********************************************************************/
19 //This class was modeled after the chimeraSlayer written by the Broad Institute
20 /***********************************************************************/
21
22
23 class ChimeraSlayer : public Chimera {
24         
25         public:
26                 ChimeraSlayer(string, string, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool);
27                 ~ChimeraSlayer();
28                 
29                 int getChimeras(Sequence*);
30                 int print(ostream&, ostream&);
31                 void printHeader(ostream&);
32                 int doPrep();
33                 
34                 #ifdef USE_MPI
35                 int print(MPI_File&, MPI_File&);
36                 #endif
37                 
38         private:
39                 Sequence* querySeq;
40                 DeCalculator* decalc;
41                 Maligner* maligner;
42                 Slayer* slayer;
43                 map<int, int>  spotMap;
44                 Database* databaseRight;
45                 Database* databaseLeft;
46                 
47                 vector<data_struct>  chimeraResults;
48                 string chimeraFlags, searchMethod, fastafile;
49                 bool realign;
50                 int window, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, increment;
51                 float divR;
52         
53                 void printBlock(data_struct, ostream&);
54                 string getBlock(data_struct);
55                 
56 };
57
58 /************************************************************************/
59
60 #endif
61
62