]> git.donarmstrong.com Git - mothur.git/blob - chimeracheckrdp.h
added count file to get.sabund and get.rabund commands. fixed bug in windows paralell...
[mothur.git] / chimeracheckrdp.h
1 #ifndef CHIMERACHECK_H
2 #define CHIMERACHECK_H
3
4 /*
5  *  chimeracheckrdp.h
6  *  Mothur
7  *
8  *  Created by westcott on 9/8/09.
9  *  Copyright 2009 Schloss Lab. All rights reserved.
10  *
11  */
12
13
14 #include "chimera.h"
15 #include "kmer.hpp"
16 #include "kmerdb.hpp"
17 #include "alignmentdb.h"
18
19 /***********************************************************/
20 //This class was created using the algorythms described in 
21 //CHIMERA_CHECK version 2.7 written by Niels Larsen. 
22
23 /***********************************************************/
24
25 class ChimeraCheckRDP : public Chimera {
26         
27         public:
28                 ChimeraCheckRDP(string, string, string, bool, int, int, string); //fasta, template, name, svg, increment, ksize, outputDir      
29                 ~ChimeraCheckRDP();
30                 
31                 int getChimeras(Sequence*);
32                 Sequence print(ostream&, ostream&);
33                 
34                 #ifdef USE_MPI
35                 Sequence print(MPI_File&, MPI_File&);
36                 #endif
37                 
38         private:
39                 
40                 Sequence* querySeq;
41                 AlignmentDB* templateDB;
42                 Kmer* kmer;
43                 Sequence closest;               //closest is the closest overall seq to query
44
45                 vector<sim>  IS;  //IS is the vector of IS values for each window for query
46                 string fastafile;
47                 map<string, string> names;
48                 string name;
49                 bool svg;
50                 int kmerSize, increment;
51                 
52                 vector<sim> findIS();
53                 int calcKmers(map<int, int>, map<int, int>);
54                 void makeSVGpic(vector<sim>);
55                 void readName(string);
56 };
57 /***********************************************************/
58
59 #endif
60