]> git.donarmstrong.com Git - mothur.git/blobdiff - sffinfocommand.h
fixed problem with sffinfo that caused a file mismatch when the trimming trimmed...
[mothur.git] / sffinfocommand.h
index b533f2864eb44e9091f1eacaaeab35fabbf00e01..0fdf6fce6647269d476945031255bb585e78ba83 100644 (file)
@@ -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() { } 
@@ -60,29 +63,44 @@ class SffInfoCommand : public Command {
        
 public:
        SffInfoCommand(string);
+       SffInfoCommand();
        ~SffInfoCommand();
+       vector<string> getRequiredParameters();
+       vector<string> getValidParameters();
+       vector<string> getRequiredFiles();
+       map<string, vector<string> > getOutputFiles() { return outputTypes; }
        int execute();
        void help();
        
 private:
-       string sffFilename, outputDir, accnosName;
+       string sffFilename, sfftxtFilename, outputDir, accnosName;
        vector<string> filenames, outputNames, accnosFileNames;
        bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos;
+       int mycount;
        set<string> seqNames;
+       map<string, vector<string> > 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&);
-       int printSffTxtSeqData(ofstream&, seqRead&);
+       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();
+       
+       //parsesfftxt file functions
+       int parseHeaderLineToInt(ifstream&);
+       vector<unsigned short> parseHeaderLineToFloatVector(ifstream&, int);
+       vector<unsigned int> parseHeaderLineToIntVector(ifstream&, int);
+       string parseHeaderLineToString(ifstream&);
 };
 
 /**********************************************************/