]> git.donarmstrong.com Git - mothur.git/blobdiff - trimseqscommand.h
added citation function to commands
[mothur.git] / trimseqscommand.h
index 2f8fbd7c499559bf65f9f5393982bd00dddfbcc3..c5a94839cd82427c193e3e78a71c8e8434636653 100644 (file)
@@ -20,13 +20,16 @@ class TrimSeqsCommand : public Command {
 public:
        TrimSeqsCommand(string);
        TrimSeqsCommand();
-       ~TrimSeqsCommand();
-       vector<string> getRequiredParameters();
-       vector<string> getValidParameters();
-       vector<string> getRequiredFiles();
-       map<string, vector<string> > getOutputFiles() { return outputTypes; }
-       int execute();
-       void help();
+       ~TrimSeqsCommand(){}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "trim.seqs";   }
+       string getCommandCategory()             { return "Sequence Processing";         }
+       string getHelpString(); 
+       string getCitation() { return "http://www.mothur.org/wiki/Trim.seqs"; }
+       
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }  
        
 private:
        
@@ -37,24 +40,27 @@ private:
                unsigned long int end;
                linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
        };
-
-       void getOligos(vector<string>&, vector<string>&);
+       
+       void getOligos(vector<vector<string> >&, vector<vector<string> >&);
        int stripBarcode(Sequence&, QualityScores&, int&);
        int stripForward(Sequence&, QualityScores&, int&);
        bool stripReverse(Sequence&, QualityScores&);
+       
+       bool keepFirstTrim(Sequence&, QualityScores&);
+       bool removeLastTrim(Sequence&, QualityScores&);
+
        bool cullLength(Sequence&);
        bool cullHomoP(Sequence&);
        bool cullAmbigs(Sequence&);
        bool compareDNASeq(string, string);
        int countDiffs(string, string);
-       map<string, vector<string> > outputTypes;
 
        bool abort;
        string fastaFile, oligoFile, qFileName, groupfile, outputDir;
        
        bool flip, allFiles, qtrim;
        int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, processors, tdiffs, bdiffs, pdiffs, comboStarts;
-       int qWindowSize, qWindowStep;
+       int qWindowSize, qWindowStep, keepFirst, removeLast;
        double qRollAverage, qThreshold, qWindowAverage, qAverage;
        vector<string> revPrimer, outputNames;
        set<string> filesToRemove;
@@ -63,15 +69,17 @@ private:
        map<string, int> primers;
        map<string, int> combos;
        map<string, int> groupToIndex;
-       
+       vector<string> primerNameVector;        //needed here?
+       vector<string> barcodeNameVector;       //needed here?
+       map<string, int> groupCounts;  
+
        vector<int> processIDS;   //processid
        vector<linePair*> lines;
        vector<linePair*> qLines;
        
-       int driverCreateTrim(string, string, string, string, string, string, string, vector<string>, vector<string>, linePair*, linePair*);     
-       int createProcessesCreateTrim(string, string, string, string, string, string, string, vector<string>, vector<string>);
+       int driverCreateTrim(string, string, string, string, string, string, string, vector<vector<string> >, vector<vector<string> >, linePair*, linePair*);   
+       int createProcessesCreateTrim(string, string, string, string, string, string, string, vector<vector<string> >, vector<vector<string> >);
        int setLines(string, string, vector<unsigned long int>&, vector<unsigned long int>&);
-       
 };
 
 #endif