1 #ifndef REMOVESEQSCOMMAND_H
2 #define REMOVESEQSCOMMAND_H
3 
4 /*
5  *  removeseqscommand.h
6  *  Mothur
7  *
8  *  Created by Sarah Westcott on 7/8/09.
9  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
10  *
11  */
12 
13 #include "command.hpp"
14 
15 class RemoveSeqsCommand : public Command {
16 
17 	public:
18 
19 		RemoveSeqsCommand(string);
20         RemoveSeqsCommand(string, string dupsFile, string dupsFileType, string output);
~RemoveSeqsCommand()21 		~RemoveSeqsCommand(){}
22 
23 		vector<string> setParameters();
getCommandName()24 		string getCommandName()			{ return "remove.seqs";				}
getCommandCategory()25 		string getCommandCategory()		{ return "Sequence Processing";		}
26 
27 	string getHelpString();
28     string getOutputPattern(string);
getCitation()29 		string getCitation() { return "http://www.mothur.org/wiki/Remove.seqs"; }
getDescription()30 		string getDescription()		{ return "removes sequences from a list, fasta, name, group, alignreport, contigsreport, quality or taxonomy file"; }
31 
32 		int execute();
help()33 		void help() { m->mothurOut(getHelpString()); }
34 
35 	private:
36 		set<string> names;
37 		string accnosfile, fastafile, fastqfile, namefile, groupfile, countfile, alignfile, listfile, taxfile, qualfile,  format, contigsreportfile;
38 		bool abort, dups;
39 		vector<string> outputNames;
40         map<string, string> uniqueMap;
41 
42 		void readFasta();
43         void readFastq();
44 		void readName();
45 		void readGroup();
46         void readCount();
47 		void readAlign();
48         void readContigs();
49 		void readList();
50 		void readTax();
51 		void readQual();
52 
53 };
54 
55 #endif
56 
57