]> git.donarmstrong.com Git - mothur.git/blobdiff - shhhercommand.h
added multiple processors option for Windows users to align.seqs, dist.seqs, summary...
[mothur.git] / shhhercommand.h
index b26341ebe4c83dc0024f313640a06bf62f045638..bdc850362b4b08e6c2e14655360e455353e74793 100644 (file)
 
 #include "mothur.h"
 #include "command.hpp"
-#include "globaldata.hpp"
+
 
 class ShhherCommand : public Command {
        
 public:
        ShhherCommand(string);
        ShhherCommand();
-       ~ShhherCommand();
-       vector<string> getRequiredParameters();
-       vector<string> getValidParameters();
-       vector<string> getRequiredFiles();
-       map<string, vector<string> > getOutputFiles() { return outputTypes; }
-       int execute();
-       void help();
+       ~ShhherCommand() {}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "shhh.seqs";   }
+       string getCommandCategory()             { return "Hidden";              }
+       string getHelpString(); 
+       string getCitation() { return "no citation"; }
+       string getDescription()         { return "shhh.seqs"; }
+
        
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }          
 private:
-       GlobalData* globaldata;
        
        int abort;
-       map<string, vector<string> > outputTypes;
        
-       string outputDir, flowFileName, flowFilesFileName, lookupFileName;
+       string outputDir, flowFileName, flowFilesFileName, lookupFileName, compositeFASTAFileName, compositeNamesFileName;
+
        int processors, maxIters;
        float cutoff, sigma, minDelta;
+       string flowOrder;
        
        vector<int> nSeqsBreaks;
        vector<int> nOTUsBreaks;
-       vector<double> flowDataPrI;
-       vector<short> flowDataIntI;
-       vector<int> lengths;
-       vector<string> seqNameVector;
        vector<double> singleLookUp;
        vector<double> jointLookUp;
+       
+       vector<string> seqNameVector;
+       vector<int> lengths;
+       vector<short> flowDataIntI;
+       vector<double> flowDataPrI;
        map<string, int> nameMap;
        vector<int> otuData;
        vector<int> cumNumSeqs;
        vector<int> nSeqsPerOTU;
        vector<vector<int> > aaP;       //tMaster->aanP:        each row is a different otu / each col contains the sequence indices
-       vector<int> seqNumber;          //tMaster->anP:         the sequence id number sorted by OTU
        vector<vector<int> > aaI;       //tMaster->aanI:        that are in each otu - can't differentiate between aaP and aaI 
+       vector<int> seqNumber;          //tMaster->anP:         the sequence id number sorted by OTU
        vector<int> seqIndex;           //tMaster->anI;         the index that corresponds to seqNumber
        vector<double> dist;            //adDist - distance of sequences to centroids
        vector<short> change;           //did the centroid sequence change? 0 = no; 1 = yes
@@ -60,17 +65,19 @@ private:
        vector<double> singleTau;       //tMaster->adTau:       1-D Tau vector (1xnumSeqs)
        vector<short> uniqueFlowgrams;
        vector<int> uniqueCount;
-       vector<int> uniqueLengths;
        vector<int> mapSeqToUnique;
        vector<int> mapUniqueToSeq;
-       
+       vector<int> uniqueLengths;
+
+       vector<string> outputNames;
+
        int numSeqs, numUniques, numOTUs, numFlowCells;
        
        void getSingleLookUp();
        void getJointLookUp();
        void getFlowData();
        void getUniques();
-       float getProbIntensity(int);
+       double getProbIntensity(int);
        float calcPairwiseDist(int, int);
        void flowDistParentFork(string, int, int);
        
@@ -110,4 +117,5 @@ private:
 };
 
 
-#endif
\ No newline at end of file
+#endif
+