File: aligncheckcommand.h

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 (65 lines) | stat: -rwxr-xr-x 1,617 bytes parent folder | download | duplicates (3)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef SECONDARYSTRUCTURECHECKERCOMMAND_H
#define SECONDARYSTRUCTURECHECKERCOMMAND_H

/*
 *  aligncheckcommand.h
 *  Mothur
 *
 *  Created by westcott on 9/18/09.
 *  Copyright 2009 Schloss Lab. All rights reserved.
 *
 */
 
#include "command.hpp"

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

struct statData {
	int pound;
	int tilde;
	int dash;
	int plus;
	int equal;
	int loop;
	int total;
	statData() : pound(0), loop(0), tilde(0), dash(0), plus(0), equal(0), total(0) {};	
};

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


class AlignCheckCommand : public Command {
	
	public:
	
		AlignCheckCommand(string);	
		~AlignCheckCommand(){}
	
		vector<string> setParameters();
		string getCommandName()			{ return "align.check";				}
		string getCommandCategory()		{ return "Sequence Processing";		}
		
	string getHelpString();	
    string getOutputPattern(string);	
		string getCitation() { return "http://www.mothur.org/wiki/Align.check"; }
		string getDescription()		{ return "calculate the number of potentially misaligned bases in a 16S rRNA gene sequence alignment"; }

	
		int execute(); 
		void help() { m->mothurOut(getHelpString()); }	
	
	private:
		vector<int> structMap;
		string mapfile, fastafile, namefile, countfile;
		bool abort;
		int seqLength, haderror;
		vector<string> outputNames;
		map<string, int> nameMap;
		
		void readMap();
		statData getStats(string sequence);
};

/**************************************************************************************************/
#endif