File: nast.hpp

package info (click to toggle)
mothur 1.48.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 13,692 kB
  • sloc: cpp: 161,866; makefile: 122; sh: 31
file content (52 lines) | stat: -rwxr-xr-x 1,342 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef NAST_HPP
#define NAST_HPP

/*
 *  nast.hpp
 *  
 *
 *  Created by Pat Schloss on 12/17/08.
 *  Copyright 2008 Patrick D. Schloss. All rights reserved.
 *
 *	This is my implementation of the NAST (nearest alignment space termination) algorithm as described in:
 *
 *	DeSantis TZ, Hugenholtz P, Keller K, Brodie EL, Larsen N, Piceno YM, Phan R, & Anderson GL.  2006.  NAST: a multiple
 *		sequence alignment server for comparative analysis of 16S rRNA genes.  Nucleic Acids Research.  34:W394-9.
 *
 *	To construct an object one needs to provide a method of getting a pairwise alignment (alignment) and the template
 *	and candidate sequence that are to be aligned to each other.
 *
 */

#include "mothur.h"
#include "mothurout.h"

class Alignment;
class Sequence;

/**************************************************************************************************/

class Nast {
	
public:
	Nast(Alignment*, Sequence*, Sequence*);
	~Nast(){};
	float getSimilarityScore();
	int getMaxInsertLength();
	
private:
	void pairwiseAlignSeqs();
	void regapSequences();
	void removeExtraGaps(string&, string, string);
	
	Alignment* alignment;
	Sequence* candidateSeq;
	Sequence* templateSeq;
	
	int maxInsertLength;
	MothurOut* m;
};

/**************************************************************************************************/

#endif