1 #ifndef PARSEFASTAQCOMMAND_H
2 #define PARSEFASTAQCOMMAND_H
8 * Created by westcott on 9/30/10.
9 * Copyright 2010 Schloss Lab. All rights reserved.
14 #include "command.hpp"
15 #include "trimoligos.h"
16 #include "sequence.hpp"
26 fastqRead2(Sequence s, string q, string w) : seq(s), quality(q), wholeRead(w){};
31 class ParseFastaQCommand : public Command {
34 ParseFastaQCommand(string);
36 ~ParseFastaQCommand() {}
38 vector<string> setParameters();
39 string getCommandName() { return "fastq.info"; }
40 string getCommandCategory() { return "Sequence Processing"; }
42 string getHelpString();
43 string getOutputPattern(string);
44 string getCitation() { return "http://www.mothur.org/wiki/Parse.fastq"; }
45 string getDescription() { return "reads a fastq file and creates a fasta and quality file"; }
49 void help() { m->mothurOut(getHelpString()); }
52 vector<string> outputNames;
53 string outputDir, fastaQFile, format, oligosfile, groupfile;
54 bool abort, fasta, qual, pacbio, pairedOligos, reorient;
55 int pdiffs, bdiffs, ldiffs, sdiffs, tdiffs, split, numBarcodes, numPrimers, numLinkers, numSpacers, numRPrimers;
59 vector<vector<string> > fastqFileNames;
62 vector<int> convertQual(string);
63 vector<char> convertTable;
64 bool readOligos(string oligosFile);
65 bool readGroup(string oligosFile);
66 fastqRead2 readFastq(ifstream&, bool&);
67 int findGroup(fastqRead2, int&, int&, TrimOligos*&, TrimOligos*&, int, int);
68 int findGroup(fastqRead2, int&, int&, string);