File: removeseqscommand.h

package info (click to toggle)
mothur 1.48.5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,676 kB
  • sloc: cpp: 161,854; makefile: 119; sh: 31
file content (60 lines) | stat: -rwxr-xr-x 1,945 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
#ifndef REMOVESEQSCOMMAND_H
#define REMOVESEQSCOMMAND_H

/*
 *  removeseqscommand.h
 *  Mothur
 *
 *  Created by Sarah Westcott on 7/8/09.
 *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
 *
 */
 
#include "command.hpp"

class RemoveSeqsCommand : public Command {
	
	public:
	
		RemoveSeqsCommand(string);
        RemoveSeqsCommand(string, pair<string, string> dupsFile, string dupsFileType);
        RemoveSeqsCommand(unordered_set<string>, pair<string, string> dupsFile, string dupsFileType);
		~RemoveSeqsCommand(){}
	
		vector<string> setParameters();
		string getCommandName()			{ return "remove.seqs";				}
		string getCommandCategory()		{ return "Sequence Processing";		}
		
	string getHelpString();	
    string getOutputPattern(string);	
		string getCitation() { return "http://www.mothur.org/wiki/Remove.seqs"; }
		string getDescription()		{ return "removes sequences from a list, fasta, name, group, alignreport, contigsreport, quality or taxonomy file"; }

		int execute(); 
		void help() { m->mothurOut(getHelpString()); }	
	
	private:
        unordered_set<string> names;
        vector<string> fastafiles, namefiles, groupfiles, countfiles, alignfiles, listfiles, taxfiles, fastqfiles, contigsreportfiles, qualityfiles, outputNames;
		string accnosfile, format;
		bool abort, dups;
        map<string, string> uniqueMap;
		
		void readFasta(string);
        void readFastq(string);
        void readGZFastq(string);
        void readName(string); //inputNameFile, mothur generates output name
        void readName(string, string); //inputNameFile, outputName (internal use)
		void readGroup(string);
        void readCount(string); //inputCountFile, mothur generates output name
        void readCount(string, string); //inputCountFile, outputName (internal use)
		void readAlign(string);
        void readContigs(string);
		void readList(string);
		void readTax(string);
		void readQual(string);
		
};

#endif