]> git.donarmstrong.com Git - mothur.git/blob - nast.hpp
sffinfo bug with flow grams right index when clipQualRight=0
[mothur.git] / nast.hpp
1 #ifndef NAST_HPP
2 #define NAST_HPP
3
4 /*
5  *  nast.hpp
6  *  
7  *
8  *  Created by Pat Schloss on 12/17/08.
9  *  Copyright 2008 Patrick D. Schloss. All rights reserved.
10  *
11  *      This is my implementation of the NAST (nearest alignment space termination) algorithm as described in:
12  *
13  *      DeSantis TZ, Hugenholtz P, Keller K, Brodie EL, Larsen N, Piceno YM, Phan R, & Anderson GL.  2006.  NAST: a multiple
14  *              sequence alignment server for comparative analysis of 16S rRNA genes.  Nucleic Acids Research.  34:W394-9.
15  *
16  *      To construct an object one needs to provide a method of getting a pairwise alignment (alignment) and the template
17  *      and candidate sequence that are to be aligned to each other.
18  *
19  */
20
21 #include "mothur.h"
22 #include "mothurout.h"
23
24 class Alignment;
25 class Sequence;
26
27 /**************************************************************************************************/
28
29 class Nast {
30         
31 public:
32         Nast(Alignment*, Sequence*, Sequence*);
33         ~Nast(){};
34         float getSimilarityScore();
35         int getMaxInsertLength();
36         
37 private:
38         void pairwiseAlignSeqs();
39         void regapSequences();
40         void removeExtraGaps(string&, string, string);
41         
42         Alignment* alignment;
43         Sequence* candidateSeq;
44         Sequence* templateSeq;
45         
46         int maxInsertLength;
47         MothurOut* m;
48 };
49
50 /**************************************************************************************************/
51
52 #endif