]> git.donarmstrong.com Git - mothur.git/blobdiff - sffinfocommand.h
working on get.communitytype command
[mothur.git] / sffinfocommand.h
index 4917a274029f778e957791a744d66b5ff059890c..1909e2d43e6d83b3d48ef06922b2d369a0e104d5 100644 (file)
@@ -11,7 +11,7 @@
  */
 
 #include "command.hpp"
-
+#include "groupmap.h"
 
 /**********************************************************/
 struct CommonHeader {
@@ -69,8 +69,9 @@ public:
        vector<string> setParameters();
        string getCommandName()                 { return "sffinfo";                                     }
        string getCommandCategory()             { return "Sequence Processing";         }
-       string getOutputFileNameTag(string, string);
+       
        string getHelpString(); 
+    string getOutputPattern(string);   
        string getCitation() { return "http://www.mothur.org/wiki/Sffinfo"; }
        string getDescription()         { return "extract sequences reads from a .sff file"; }
 
@@ -78,24 +79,27 @@ public:
        void help() { m->mothurOut(getHelpString()); }  
        
 private:
-       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;
+       string sffFilename, sfftxtFilename, outputDir, accnosName, currentFileName, oligosfile, noMatchFile, groupfile;
+       vector<string> filenames, outputNames, accnosFileNames, oligosFileNames, groupFileNames;
+       bool abort, fasta, qual, trim, flow, sfftxt, hasAccnos, hasOligos, hasGroup;
+       int mycount, split, numFPrimers, numLinkers, numSpacers, pdiffs, bdiffs, ldiffs, sdiffs, tdiffs, numNoMatch;
        set<string> seqNames;
     map<string, int> barcodes;
     map<string, int> primers;
+    GroupMap* groupMap;
     vector<string> linker, spacer, primerNameVector, barcodeNameVector, revPrimer;
     vector<vector<int> > numSplitReads;
-    vector<vector<string> > filehandles, filehandlesHeaders;
+    vector<vector<string> > filehandles;
+    vector<vector<string> > filehandlesHeaders;
     
        //extract sff file functions
        int extractSffInfo(string, string, string);
        int readCommonHeader(ifstream&, CommonHeader&);
-       //int readHeader(ifstream&, Header&);
-       int readSeqData(ifstream&, seqRead&, int, Header&);
+       int readHeader(ifstream&, Header&);
+       bool readSeqData(ifstream&, seqRead&, int, Header&);
        int decodeName(string&, string&, string&, string);
     bool readOligos(string oligosFile);
+    bool readGroup(string oligosFile);
        
        int printCommonHeader(ofstream&, CommonHeader&); 
        int printHeader(ofstream&, Header&);
@@ -108,6 +112,7 @@ private:
        bool sanityCheck(Header&, seqRead&);
     int adjustCommonHeader(CommonHeader);
     int findGroup(Header header, seqRead read, int& barcode, int& primer);
+    int findGroup(Header header, seqRead read, int& barcode, int& primer, string);
     string reverseOligo(string oligo);
     
        //parsesfftxt file functions