]> git.donarmstrong.com Git - mothur.git/blob - nast.hpp
modified sequence class to read fasta files with comments. this required modification...
[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         ~Nast(){};
33         float getSimilarityScore();
34         int getMaxInsertLength();
35         
36 private:
37         void pairwiseAlignSeqs();
38         void regapSequences();
39         void removeExtraGaps(string&, string, string);
40         
41         Alignment* alignment;
42         Sequence* candidateSeq;
43         Sequence* templateSeq;
44         
45         int maxInsertLength;
46 };
47
48 /**************************************************************************************************/
49
50 #endif