]> git.donarmstrong.com Git - mothur.git/blobdiff - sffinfocommand.h
changed random forest output filename
[mothur.git] / sffinfocommand.h
index 0fdf6fce6647269d476945031255bb585e78ba83..5ec6e72239d0772548ce10f584ebccb435230d25 100644 (file)
@@ -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;
@@ -64,28 +64,39 @@ 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();
+       ~SffInfoCommand(){}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "sffinfo";                                     }
+       string getCommandCategory()             { return "Sequence Processing";         }
+       
+       string getHelpString(); 
+    string getOutputPattern(string);   
+       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<string> filenames, outputNames, accnosFileNames;
-       bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos;
-       int mycount;
+       string sffFilename, sfftxtFilename, outputDir, accnosName, currentFileName, oligosfile, noMatchFile;
+       vector<string> filenames, outputNames, accnosFileNames, oligosFileNames;
+       bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos, hasOligos;
+       int mycount, split, numFPrimers, numLinkers, numSpacers, pdiffs, bdiffs, ldiffs, sdiffs, tdiffs;
        set<string> seqNames;
-       map<string, vector<string> > outputTypes;
-       
+    map<string, int> barcodes;
+    map<string, int> primers;
+    vector<string> linker, spacer, primerNameVector, barcodeNameVector, revPrimer;
+    vector<vector<int> > numSplitReads;
+    vector<vector<string> > filehandles, filehandlesHeaders;
+    
        //extract sff file functions
-       int extractSffInfo(string, string);
+       int extractSffInfo(string, string, string);
        int readCommonHeader(ifstream&, CommonHeader&);
-       int readHeader(ifstream&, Header&);
-       int readSeqData(ifstream&, seqRead&, int, int);
+       //int readHeader(ifstream&, Header&);
+       int readSeqData(ifstream&, seqRead&, int, Header&);
        int decodeName(string&, string&, string&, string);
+    bool readOligos(string oligosFile);
        
        int printCommonHeader(ofstream&, CommonHeader&); 
        int printHeader(ofstream&, Header&);
@@ -95,7 +106,11 @@ private:
        int printQualSeqData(ofstream&, seqRead&, Header&);
        int readAccnosFile(string);
        int parseSffTxt();
-       
+       bool sanityCheck(Header&, seqRead&);
+    int adjustCommonHeader(CommonHeader);
+    int findGroup(Header header, seqRead read, int& barcode, int& primer);
+    string reverseOligo(string oligo);
+    
        //parsesfftxt file functions
        int parseHeaderLineToInt(ifstream&);
        vector<unsigned short> parseHeaderLineToFloatVector(ifstream&, int);