X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=sffinfocommand.h;h=4e72a960a7bb07d4e94df795bea462519f6d777a;hb=3cd964b03f04bc569c4a7d0b99be9908c54c1d44;hp=7cf357e07499ad5797dec8bbc1e647c163993aa8;hpb=8bc3e5b38c2317a1715f53be22fa96455868c281;p=mothur.git diff --git a/sffinfocommand.h b/sffinfocommand.h index 7cf357e..4e72a96 100644 --- a/sffinfocommand.h +++ b/sffinfocommand.h @@ -17,7 +17,7 @@ struct CommonHeader { unsigned int magicNumber; string version; - unsigned long int indexOffset; + unsigned long long indexOffset; unsigned int indexLength; unsigned int numReads; unsigned short headerLength; @@ -40,6 +40,9 @@ struct Header { unsigned short clipAdapterLeft; unsigned short clipAdapterRight; string name; //length depends on nameLength + string timestamp; + string region; + string xy; Header() { headerLength=0; nameLength=0; numBases=0; clipQualLeft=0; clipQualRight=0; clipAdapterLeft=0; clipAdapterRight=0; } ~Header() { } @@ -61,25 +64,32 @@ class SffInfoCommand : public Command { public: SffInfoCommand(string); SffInfoCommand(); - ~SffInfoCommand(); - vector getRequiredParameters(); - vector getValidParameters(); - vector getRequiredFiles(); - map > getOutputFiles() { return outputTypes; } - int execute(); - void help(); + ~SffInfoCommand(){} + + vector setParameters(); + string getCommandName() { return "sffinfo"; } + string getCommandCategory() { return "Sequence Processing"; } + string getOutputFileNameTag(string, string); + string getHelpString(); + string getCitation() { return "http://www.mothur.org/wiki/Sffinfo"; } + string getDescription() { return "extract sequences reads from a .sff file"; } + + int execute(); + void help() { m->mothurOut(getHelpString()); } private: - string sffFilename, outputDir, accnosName; + string sffFilename, sfftxtFilename, outputDir, accnosName; vector filenames, outputNames, accnosFileNames; bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos; + int mycount; set seqNames; - map > outputTypes; - + + //extract sff file functions int extractSffInfo(string, string); int readCommonHeader(ifstream&, CommonHeader&); int readHeader(ifstream&, Header&); int readSeqData(ifstream&, seqRead&, int, int); + int decodeName(string&, string&, string&, string); int printCommonHeader(ofstream&, CommonHeader&); int printHeader(ofstream&, Header&); @@ -88,7 +98,14 @@ private: int printFastaSeqData(ofstream&, seqRead&, Header&); int printQualSeqData(ofstream&, seqRead&, Header&); int readAccnosFile(string); - + int parseSffTxt(); + bool sanityCheck(Header&, seqRead&); + + //parsesfftxt file functions + int parseHeaderLineToInt(ifstream&); + vector parseHeaderLineToFloatVector(ifstream&, int); + vector parseHeaderLineToIntVector(ifstream&, int); + string parseHeaderLineToString(ifstream&); }; /**********************************************************/