X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=parsefastaqcommand.h;h=2ac141626b4b528d352d2860dc64e65826e22357;hp=96fcb7d6799358ff4e10f930d1ad4165763b46a0;hb=b206f634aae1b4ce13978d203247fb64757d5482;hpb=90708fe9701e3827e477c82fb3652539c3bf2a0d diff --git a/parsefastaqcommand.h b/parsefastaqcommand.h index 96fcb7d..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,10 +35,11 @@ public: ~ParseFastaQCommand() {} vector setParameters(); - string getCommandName() { return "parse.fastq"; } + string getCommandName() { return "fastq.info"; } string getCommandCategory() { return "Sequence Processing"; } - string getOutputFileNameTag(string, string); + 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"; } @@ -34,11 +49,29 @@ public: private: vector outputNames; - string outputDir, fastaQFile, format; - bool abort, fasta, qual; + 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