5 // Created by SarahsWork on 10/28/13.
6 // Copyright (c) 2013 Schloss Lab. All rights reserved.
9 #ifndef Mothur_sracommand_h
10 #define Mothur_sracommand_h
12 #include "command.hpp"
13 #include "trimoligos.h"
15 /**************************************************************************************************/
17 class SRACommand : public Command {
23 vector<string> setParameters();
24 string getCommandName() { return "sra"; }
25 string getCommandCategory() { return "Sequence Processing"; }
27 string getOutputPattern(string);
29 string getHelpString();
30 string getCitation() { return "http://www.mothur.org/wiki/sra"; }
31 string getDescription() { return "create a Sequence Read Archive / SRA"; }
34 void help() { m->mothurOut(getHelpString()); }
37 bool abort, isSFF, pairedOligos;
38 int tdiffs, bdiffs, pdiffs, sdiffs, ldiffs;
39 string sfffile, fastqfile, outputDir, groupfile, file, oligosfile, contactfile, inputfile;
40 string libStrategy, libSource, libSelection, libLayout, platform, instrumentModel, fileType;
41 string submissionName, lastName, firstName, email, centerName, centerType, description;
42 vector<string> outputNames, Groups, revPrimer;
43 vector<string> primerNameVector;
44 vector<string> barcodeNameVector;
45 map<string, string> Group2Barcode;
46 map<int, oligosPair> pairedBarcodes;
47 map<int, oligosPair> pairedPrimers;
48 map<string, int> barcodes;
49 map<string, int> primers;
50 vector<string> linker;
51 vector<string> spacer;
53 bool checkCasesInstrumentModels(string&);
54 bool checkCasesPlatforms(string&);
55 bool checkCasesLibStrategy(string&);
56 bool checkCasesLibSource(string&);
57 bool checkCasesLibSelection(string&);
58 int readFile(map<string, vector<string> >&);
59 int readContactFile();
61 int parseSffFile(map<string, vector<string> >&);
62 int parseFastqFile(map<string, vector<string> >&);
63 int checkGroups(map<string, vector<string> >&);
64 int mapGroupToFile(map<string, vector<string> >&, vector<string>);
65 string reverseOligo(string oligo);
69 /**************************************************************************************************/