]> git.donarmstrong.com Git - mothur.git/blob - nast.hpp
added alignment code
[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
23 class Alignment;
24 class Sequence;
25
26 /**************************************************************************************************/
27
28 class Nast {
29         
30 public:
31         Nast(Alignment*, Sequence*, Sequence*);
32         float getSimilarityScore();
33         int getMaxInsertLength();
34         
35 private:
36         void pairwiseAlignSeqs();
37         void regapSequences();
38         void removeExtraGaps(string&, string, string);
39         
40         Alignment* alignment;
41         Sequence* candidateSeq;
42         Sequence* templateSeq;
43         
44         int maxInsertLength;
45 };
46
47 /**************************************************************************************************/
48
49 #endif