]> git.donarmstrong.com Git - mothur.git/blob - getlineagecommand.h
Merge remote-tracking branch 'mothur/master'
[mothur.git] / getlineagecommand.h
1 #ifndef GETLINEAGECOMMAND_H
2 #define GETLINEAGECOMMAND_H
3
4 /*
5  *  getlineagecommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 9/24/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12  
13 #include "command.hpp"
14
15 class GetLineageCommand : public Command {
16         
17         public:
18         
19                 GetLineageCommand(string);
20                 GetLineageCommand();
21                 ~GetLineageCommand(){}
22         
23                 vector<string> setParameters();
24                 string getCommandName()                 { return "get.lineage";                         }
25                 string getCommandCategory()             { return "Phylotype Analysis";          }
26                 string getOutputFileNameTag(string, string);
27         string getHelpString(); 
28                 string getCitation() { return "http://www.mothur.org/wiki/Get.lineage"; }
29                 string getDescription()         { return "gets sequences from a list, fasta, name, group, alignreport or taxonomy file from a given taxonomy or set of taxonomies"; }
30
31         
32                 int execute(); 
33                 void help() { m->mothurOut(getHelpString()); }  
34         
35         
36         private:
37                 set<string> names;
38                 vector<string> outputNames, listOfTaxons;
39                 string fastafile, namefile, groupfile, alignfile, listfile, taxfile, outputDir, taxons;
40                 bool abort, dups;
41                 
42                 int readFasta();
43                 int readName();
44                 int readGroup();
45                 int readAlign();
46                 int readList();
47                 int readTax();  
48                 vector< map<string, float> > getTaxons(string);
49 };
50
51 #endif
52