X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=parsefastaqcommand.h;h=2ac141626b4b528d352d2860dc64e65826e22357;hp=60524566b2a4f02e4571c38d0602980e676d8138;hb=b206f634aae1b4ce13978d203247fb64757d5482;hpb=a44542a3c740cf957cff72ac71742f2fe48b0eaf diff --git a/parsefastaqcommand.h b/parsefastaqcommand.h index 6052456..2ac1416 100644 --- a/parsefastaqcommand.h +++ b/parsefastaqcommand.h @@ -12,6 +12,20 @@ #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 { @@ -21,9 +35,11 @@ public: ~ParseFastaQCommand() {} vector setParameters(); - string getCommandName() { return "parse.fastq"; } + 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"; } @@ -33,10 +49,29 @@ public: private: vector outputNames; - 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