1 #ifndef VALIDCALCULATOR_H 2 #define VALIDCALCULATOR_H 3 4 /* 5 * validcalculator.h 6 * Dotur 7 * 8 * Created by Sarah Westcott on 1/5/09. 9 * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved. 10 * 11 */ 12 13 #include "mothurout.h" 14 #include "utils.hpp" 15 16 //This class contains a list of all valid calculators in Mothur. 17 //It has a function which will tell you if your calculator is valid for the given parameter. 18 //When adding a new calculator you must add it to the valid list. 19 20 21 class ValidCalculators { 22 public: 23 ValidCalculators(); 24 ~ValidCalculators(); 25 bool isValidCalculator(string, string); 26 void printCalc(string, ostream&); 27 string printCalc(string); 28 void printCitations(vector<string>); 29 30 private: 31 set<string> estimators; 32 set<string> single; 33 set<string> shared; 34 set<string> rarefaction; 35 set<string> summary; 36 set<string> sharedrarefaction; 37 set<string> sharedsummary; 38 set<string> vennsingle; 39 set<string> vennshared; 40 set<string> treegroup; 41 set<string> matrix; 42 set<string> heat; 43 set<string> distance; 44 set<string> protdistance; 45 set<string>::iterator it; 46 set<string> allCalcs; 47 48 void initialSingle(); 49 void initialShared(); 50 void initialRarefaction(); 51 void initialSharedRarefact(); 52 void initialSummary(); 53 void initialSharedSummary(); 54 void initialVennSingle(); 55 void initialVennShared(); 56 void initialTreeGroups(); 57 void initialMatrix(); 58 void initialDistance(); 59 void initialProtDistance(); 60 void initialHeat(); 61 void initialEstimators(); 62 63 MothurOut* m; 64 }; 65 66 #endif 67