X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=parsefastaqcommand.h;h=60c80f48f6f45015d5d493aa7b4e8c772ee920bd;hb=fefd5ee1517abd3bc38b469cb2dffc85a1571c7e;hp=c45405f42455de7bbdf93d7f2c391756d0700a05;hpb=8bc3e5b38c2317a1715f53be22fa96455868c281;p=mothur.git diff --git a/parsefastaqcommand.h b/parsefastaqcommand.h index c45405f..60c80f4 100644 --- a/parsefastaqcommand.h +++ b/parsefastaqcommand.h @@ -12,28 +12,61 @@ #include "command.hpp" +#include "trimoligos.h" +#include "sequence.hpp" +#include "groupmap.h" +#include "oligos.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, reorient; + int pdiffs, bdiffs, ldiffs, sdiffs, tdiffs, split, numBarcodes, numPrimers, numLinkers, numSpacers, numRPrimers; + GroupMap* groupMap; + Oligos oligos; + + vector > fastqFileNames; + string noMatchFile; vector convertQual(string); + vector convertTable; + bool readOligos(string oligosFile); + bool readGroup(string oligosFile); + fastqRead2 readFastq(ifstream&, bool&); + int findGroup(fastqRead2, int&, int&, TrimOligos*&, TrimOligos*&, int, int); + int findGroup(fastqRead2, int&, int&, string); + }; #endif