]> git.donarmstrong.com Git - mothur.git/blobdiff - summarysharedcommand.h
added citation function to commands
[mothur.git] / summarysharedcommand.h
index c531b8aafafc03632db7e3e7f52c48a29cdca83c..a66027ac8c408685563314f548ae540c87de01c6 100644 (file)
@@ -9,55 +9,48 @@
  *
  */
 
-#include <iostream>
-#include <fstream>
-#include <vector>
+
 #include "command.hpp"
 #include "sharedrabundvector.h"
 #include "inputdata.h"
 #include "calculator.h"
-#include "readmatrix.hpp"
-#include "sharedlistvector.h"
 #include "validcalculator.h"
 
-/*The summary.shared() command
-       The summary.shared command can only be executed after a successful read.shared command. 
-       It outputs a file for each estimator you choose to use.  The summary.shared command parameters are label, 
-       line, jumble and sharedsummary.  No parameters are required, but you may not use both the line and label parameters at the same time.  
-       The summary.shared command should be in the following format: summary.shared(label=yourLabel, 
-       line=yourLines, jumble=yourJumble, sharedsummary=yourEstimators).  
-       Example summary.shared(label=unique-.01-.03, line=0,5,10, jumble=1, sharedsummary=sharedChao-sharedAce-sharedJabund
-       -sharedSorensonAbund-sharedJclass-sharedSorClass-sharedJest-sharedSorEst-SharedThetaYC-SharedThetaN).  
-       The default value for jumble is 0 (meaning don’t jumble, if it’s set to 1 then it will jumble) and 
-       sharedsummary is sharedChao-sharedAce-sharedJabund-sharedSorensonAbund-sharedJclass-sharedSorClass-sharedJest-sharedSorEst-SharedThetaYC-SharedThetaN. 
-       The valid sharedsummary estimators are: sharedChao-sharedAce-sharedJabund-sharedSorensonAbund-sharedJclass-sharedSorClass
-       -sharedJest-sharedSorEst-SharedThetaYC-SharedThetaN.  The label and line parameters are used to analyze specific lines in your input. */
-
-
-class GlobalData;
-
-
 class SummarySharedCommand : public Command {
 
 public:
+       SummarySharedCommand(string);
        SummarySharedCommand();
-       ~SummarySharedCommand();
-       int execute();
+       ~SummarySharedCommand() {}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "summary.shared";                      }
+       string getCommandCategory()             { return "OTU-Based Approaches";        }
+       string getHelpString(); 
+       string getCitation() { return "http://www.mothur.org/wiki/Summary.shared"; }
+       
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }  
        
-private:
-       void getSharedVectors();
        
-       GlobalData* globaldata;
-       ReadMatrix* read;
+private:
+       struct linePair {
+               int start;
+               int end;
+       };
+       vector<linePair> lines;
        vector<Calculator*> sumCalculators;     
        InputData* input;
-       ValidCalculators* validCalculator;
-       SharedListVector* SharedList;
-       SharedOrderVector* order;
+       
+       bool abort, allLines, mult, all, createPhylip;
+       set<string> labels; //holds labels to be used
+       string label, calc, groups, sharedfile;
+       vector<string>  Estimators, Groups, outputNames;
        vector<SharedRAbundVector*> lookup;
-       SharedRAbundVector* shared1, shared2;
-       string outputFileName, format;
-       ofstream outputFileHandle;
+       string format, outputDir;
+       int numGroups, processors;
+       int process(vector<SharedRAbundVector*>, string, string);
+       int driver(vector<SharedRAbundVector*>, int, int, string, string, vector< vector<seqDist> >&);
 
 };