X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=parsefastaqcommand.h;h=2ac141626b4b528d352d2860dc64e65826e22357;hp=c45405f42455de7bbdf93d7f2c391756d0700a05;hb=b206f634aae1b4ce13978d203247fb64757d5482;hpb=8bc3e5b38c2317a1715f53be22fa96455868c281 diff --git a/parsefastaqcommand.h b/parsefastaqcommand.h index c45405f..2ac1416 100644 --- a/parsefastaqcommand.h +++ b/parsefastaqcommand.h @@ -12,28 +12,66 @@ #include "command.hpp" +#include "trimoligos.h" +#include "sequence.hpp" +#include "groupmap.h" + +struct fastqRead2 { + string quality; + Sequence seq; + string wholeRead; + + fastqRead2() { }; + fastqRead2(Sequence s, string q, string w) : seq(s), quality(q), wholeRead(w){}; + ~fastqRead2() {}; +}; + class ParseFastaQCommand : public Command { public: ParseFastaQCommand(string); ParseFastaQCommand(); - ~ParseFastaQCommand(); - vector getRequiredParameters(); - vector getValidParameters(); - vector getRequiredFiles(); - map > getOutputFiles() { return outputTypes; } - int execute(); - void help(); + ~ParseFastaQCommand() {} + + vector setParameters(); + string getCommandName() { return "fastq.info"; } + string getCommandCategory() { return "Sequence Processing"; } + + string getHelpString(); + string getOutputPattern(string); + string getCitation() { return "http://www.mothur.org/wiki/Parse.fastq"; } + string getDescription() { return "reads a fastq file and creates a fasta and quality file"; } + + int execute(); + void help() { m->mothurOut(getHelpString()); } private: vector outputNames; - map > outputTypes; - string outputDir, fastaQFile; - bool abort; + string outputDir, fastaQFile, format, oligosfile, groupfile; + bool abort, fasta, qual, pacbio, pairedOligos; + int pdiffs, bdiffs, ldiffs, sdiffs, tdiffs, split; + GroupMap* groupMap; + + //oligos file data structures + vector linker, spacer, primerNameVector, barcodeNameVector, revPrimer; + map barcodes; + map primers; + map pairedBarcodes; + map pairedPrimers; + vector > fastqFileNames; + string noMatchFile; vector convertQual(string); + vector convertTable; + bool readOligos(string oligosFile); + bool readGroup(string oligosFile); + string reverseOligo(string oligo); + fastqRead2 readFastq(ifstream&, bool&); + int findGroup(fastqRead2, int&, int&, TrimOligos*&, int, int); + int findGroup(fastqRead2, int&, int&, string); + }; #endif