X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=sffinfocommand.h;fp=sffinfocommand.h;h=0000000000000000000000000000000000000000;hb=4a877efa127e56e81a21f53cfdbbfd3bfbe8c4ff;hp=837435b3a6ca4c4c7f2e7e7579141b8fbece342b;hpb=a6cf29fa4dac0909c7582cb1094151d34093ee76;p=mothur.git diff --git a/sffinfocommand.h b/sffinfocommand.h deleted file mode 100644 index 837435b..0000000 --- a/sffinfocommand.h +++ /dev/null @@ -1,114 +0,0 @@ -#ifndef SFFINFOCOMMAND_H -#define SFFINFOCOMMAND_H - -/* - * sffinfocommand.h - * Mothur - * - * Created by westcott on 7/7/10. - * Copyright 2010 Schloss Lab. All rights reserved. - * - */ - -#include "command.hpp" - - -/**********************************************************/ -struct CommonHeader { - unsigned int magicNumber; - string version; - unsigned long long indexOffset; - unsigned int indexLength; - unsigned int numReads; - unsigned short headerLength; - unsigned short keyLength; - unsigned short numFlowsPerRead; - int flogramFormatCode; - string flowChars; //length depends on number flow reads - string keySequence; //length depends on key length - - CommonHeader(){ magicNumber=0; indexOffset=0; indexLength=0; numReads=0; headerLength=0; keyLength=0; numFlowsPerRead=0; flogramFormatCode='s'; } - ~CommonHeader() { } -}; -/**********************************************************/ -struct Header { - unsigned short headerLength; - unsigned short nameLength; - unsigned int numBases; - unsigned short clipQualLeft; - unsigned short clipQualRight; - 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() { } -}; -/**********************************************************/ -struct seqRead { - vector flowgram; - vector flowIndex; - string bases; - vector qualScores; - - seqRead() { } - ~seqRead() { } -}; -/**********************************************************/ - -class SffInfoCommand : public Command { - -public: - SffInfoCommand(string); - SffInfoCommand(); - ~SffInfoCommand(){} - - vector setParameters(); - string getCommandName() { return "sffinfo"; } - string getCommandCategory() { return "Sequence Processing"; } - 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, sfftxtFilename, outputDir, accnosName; - vector filenames, outputNames, accnosFileNames; - bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos; - int mycount; - set seqNames; - - //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&); - int printSffTxtSeqData(ofstream&, seqRead&, Header&); - int printFlowSeqData(ofstream&, seqRead&, Header&); - 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&); -}; - -/**********************************************************/ - -#endif - -