1 #ifndef KMERALIGN_N
2 #define KMERALIGN_N
3 
4 /*
5  *  kmeralign.h
6  *
7  *
8  *  Created by Pat Schloss on 4/6/14.
9  *  Copyright 2014 Patrick D. Schloss. All rights reserved.
10  *
11  *	This class is an Alignment child class that implements a kmer-based pairwise alignment algorithm
12  *  for making contigs of reads without insertions
13  *
14  *
15  */
16 
17 #include "alignment.hpp"
18 #include "kmer.hpp"
19 
20 #        define PHREDMAX 46
21 #        define PHREDCLAMP(x) ((x) > PHREDMAX ? PHREDMAX : ((x) < 0 ? 0 : (x)))
22 
23 
24 /**************************************************************************************************/
25 
26 class KmerAlign : public Alignment {
27 
28 public:
29 	KmerAlign(int);
30 	~KmerAlign();
31     void align(string, string, bool createBaseMap=false);
32 
33 private:
34     int kmerSize;
35     int maxKmer;
36     Kmer kmerLibrary;
37     double calcProb(string A, string B, int overlap);
38 };
39 
40 /**************************************************************************************************/
41 
42 #endif
43