X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=globaldata.cpp;h=62641beab3e0603715ff4ff57c6a2d7326a22421;hb=544469443afe44920bdf279aefd26d29534cabaf;hp=1baf4edf1bf90ef469a9426de2e06f0a3ce137fc;hpb=b22853b5cfbf5c47949ad2a084f2fad88b2e4be4;p=mothur.git diff --git a/globaldata.cpp b/globaldata.cpp index 1baf4ed..62641be 100644 --- a/globaldata.cpp +++ b/globaldata.cpp @@ -26,9 +26,11 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ if ((commandName == "read.dist") || (commandName == "read.otu") || (commandName == "read.tree")) { clear(); gGroupmap = NULL; + gListVector = NULL; + gSparseMatrix = NULL; gTree.clear(); Treenames.clear(); - labels.clear(); lines.clear(); groups.clear(); + labels.clear(); lines.clear(); Groups.clear(); allLines = 1; } @@ -80,13 +82,13 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ if (key == "sorted") { sorted = value; } if (key == "vertical") { vertical = value; } if (key == "trump") { trump = value; } - if (key == "filter") { filter = value; } + if (key == "hard") { hard = value; } if (key == "soft") { soft = value; } if (key == "scale") { scale = value; } - if (key == "ends" ) { ends = value; } + if (key == "countends" ) { countends = value; } if (key == "processors" ) { processors = value; } if (key == "size" ) { size = value; } - if (key == "template") { templatefile = value; } + if (key == "candidate") { candidatefile = value; } if (key == "search") { search = value; } if (key == "ksize") { ksize = value; } if (key == "align") { align = value; } @@ -94,22 +96,29 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ if (key == "mismatch") { mismatch = value; } if (key == "gapopen") { gapopen = value; } if (key == "gapextend" ) { gapextend = value; } + if (key == "start" ) { startPos = value; } + if (key == "end" ) { endPos = value; } + if (key == "maxambig" ) { maxAmbig = value; } + if (key == "maxhomop" ) { maxHomoPolymer = value; } + if (key == "minlength" ) { minLength = value; } + if (key == "maxlength" ) { maxLength = value; } - if (key == "line") {//stores lines to be used in a set + if (key == "line") {//stores lines to be used in a vector lines.clear(); labels.clear(); line = value; label = ""; - splitAtDash(value, lines); - allLines = 0; + if (line != "all") { splitAtDash(value, lines); allLines = 0; } + else { allLines = 1; } } - if (key == "label") {//stores labels to be used in a set + + if (key == "label") {//stores lines to be used in a vector labels.clear(); lines.clear(); label = value; line = ""; - splitAtDash(value, labels); - allLines = 0; + if (label != "all") { splitAtDash(value, labels); allLines = 0; } + else { allLines = 1; } } if (key == "groups") {//stores groups to be used in a vector @@ -132,7 +141,7 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ if (key == "nexus" ) { nexusfile = value; inputFileName = value; fileroot = value; format = "nexus"; } if (key == "clustal" ) { clustalfile = value; inputFileName = value; fileroot = value; format = "clustal"; } if (key == "tree" ) { treefile = value; inputFileName = value; fileroot = value; format = "tree"; } - if (key == "shared" ) { sharedfile = value; inputFileName = value; fileroot = value; format = "sharedfile"; } + if (key == "shared" ) { sharedfile = value; inputFileName = value; fileroot = value; format = "sharedfile"; } if (key == "name" ) { namefile = value; } if (key == "order" ) { orderfile = value; } if (key == "group" ) { groupfile = value; } @@ -151,13 +160,13 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ if (key == "sorted") { sorted = value; } if (key == "vertical") { vertical = value; } if (key == "trump") { trump = value; } - if (key == "filter") { filter = value; } + if (key == "hard") { hard = value; } if (key == "soft") { soft = value; } if (key == "scale") { scale = value; } - if (key == "ends" ) { ends = value; } + if (key == "countends" ) { countends = value; } if (key == "processors" ) { processors = value; } if (key == "size" ) { size = value; } - if (key == "template") { templatefile = value; } + if (key == "candidate") { candidatefile = value; } if (key == "search") { search = value; } if (key == "ksize") { ksize = value; } if (key == "align") { align = value; } @@ -165,6 +174,13 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ if (key == "mismatch") { mismatch = value; } if (key == "gapopen") { gapopen = value; } if (key == "gapextend" ) { gapextend = value; } + if (key == "start" ) { startPos = value; } + if (key == "end" ) { endPos = value; } + if (key == "maxambig" ) { maxAmbig = value; } + if (key == "maxhomop" ) { maxHomoPolymer = value; } + if (key == "minlength" ) { minLength = value; } + if (key == "maxlength" ) { maxLength = value; } + if (key == "line") {//stores lines to be used in a vector lines.clear(); @@ -198,7 +214,7 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ //input defaults for calculators if (commandName == "collect.single") { - if ((calc == "default") || (calc == "")) { calc = "sobs-chao-ace-jack-shannon-npshannon-simpson-efron-boneh-solow-shen"; } + if ((calc == "default") || (calc == "")) { calc = "sobs-chao-ace-jack-shannon-npshannon-simpson"; } Estimators.clear(); splitAtDash(calc, Estimators); } @@ -208,13 +224,12 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ splitAtDash(calc, Estimators); } if (commandName == "collect.shared") { - if ((calc == "default") || (calc == "")) { calc = "sharedsobs-sharedchao-sharedace-jabund-sorabund-jclass-sorclass-jest-sorest-thetayc-thetan"; } Estimators.clear(); splitAtDash(calc, Estimators); } if (commandName == "summary.single") { - if ((calc == "default") || (calc == "")) { calc = "sobs-chao-ace-jack-shannon-npshannon-simpson-efron-boneh-solow-shen"; } + if ((calc == "default") || (calc == "")) { calc = "sobs-chao-ace-jack-shannon-npshannon-simpson"; } Estimators.clear(); splitAtDash(calc, Estimators); } @@ -229,7 +244,8 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ splitAtDash(calc, Estimators); } if (commandName == "dist.seqs") { - if ((calc == "default") || (calc == "")) { calc = "onegap"; } + if ((calc == "default") || (calc == "")) { calc = "onegap"; } + if (countends == "") { countends = "T"; } Estimators.clear(); splitAtDash(calc, Estimators); } @@ -241,13 +257,20 @@ void GlobalData::parseGlobalData(string commandString, string optionText){ Estimators.clear(); splitAtDash(calc, Estimators); } - if ((commandName == "tree.shared") || (commandName == "bootstrap.shared")) { - if (calc != "") { - Estimators.clear(); - splitAtDash(calc, Estimators); - }else { cout << "You have not specified any calculators." << endl; } + if ((commandName == "tree.shared") || (commandName == "bootstrap.shared") || (commandName == "dist.shared")) { + if ((calc == "default") || (calc == "")) { + calc = "jclass-thetayc"; + } + Estimators.clear(); + splitAtDash(calc, Estimators); } + + if(commandName == "filter.seqs"){ + if(trump == "" && vertical == "" && hard == "" && soft == ""){ + trump = '.'; + } + } //if you have done a read.otu with a groupfile but don't want to use it anymore because you want to do single commands if ((commandName == "collect.single") || (commandName == "rarefaction.single") || (commandName == "summary.single")) { @@ -296,14 +319,15 @@ string GlobalData::getGroups() { return groups; } string GlobalData::getStep() { return step; } string GlobalData::getForm() { return form; } string GlobalData::getSorted() { return sorted; } +string GlobalData::getVertical() { return vertical; } string GlobalData::getTrump() { return trump; } string GlobalData::getSoft() { return soft; } -string GlobalData::getFilter() { return filter; } +string GlobalData::getHard() { return hard; } string GlobalData::getScale() { return scale; } -string GlobalData::getEnds() { return ends; } +string GlobalData::getCountEnds() { return countends; } string GlobalData::getProcessors() { return processors; } string GlobalData::getSize() { return size; } -string GlobalData::getTemplateFile() { return templatefile;} +string GlobalData::getCandidateFile() { return candidatefile;} string GlobalData::getSearch() { return search; } string GlobalData::getKSize() { return ksize; } string GlobalData::getAlign() { return align; } @@ -311,21 +335,27 @@ string GlobalData::getMatch() { return match; } string GlobalData::getMismatch() { return mismatch; } string GlobalData::getGapopen() { return gapopen; } string GlobalData::getGapextend() { return gapextend; } +string GlobalData::getStartPos() { return startPos; } +string GlobalData::getEndPos() { return endPos; } +string GlobalData::getMaxAmbig() { return maxAmbig; } +string GlobalData::getMaxHomoPolymer() { return maxHomoPolymer; } +string GlobalData::getMinLength() { return minLength; } +string GlobalData::getMaxLength() { return maxLength; } -void GlobalData::setListFile(string file) { listfile = file; inputFileName = file;} -void GlobalData::setRabundFile(string file) { rabundfile = file; inputFileName = file;} -void GlobalData::setSabundFile(string file) { sabundfile = file; inputFileName = file;} -void GlobalData::setPhylipFile(string file) { phylipfile = file; inputFileName = file;} -void GlobalData::setColumnFile(string file) { columnfile = file; inputFileName = file;} -void GlobalData::setGroupFile(string file) { groupfile = file; } -void GlobalData::setSharedFile(string file) { sharedfile = file; inputFileName = file; fileroot = file;} +void GlobalData::setListFile(string file) { listfile = file; inputFileName = file; } +void GlobalData::setRabundFile(string file) { rabundfile = file; inputFileName = file; } +void GlobalData::setSabundFile(string file) { sabundfile = file; inputFileName = file; } +void GlobalData::setPhylipFile(string file) { phylipfile = file; inputFileName = file; } +void GlobalData::setColumnFile(string file) { columnfile = file; inputFileName = file; } +void GlobalData::setGroupFile(string file) { groupfile = file; } +void GlobalData::setSharedFile(string file) { sharedfile = file; inputFileName = file; fileroot = file; } void GlobalData::setNameFile(string file) { namefile = file; } void GlobalData::setFormat(string Format) { format = Format; } void GlobalData::setRandomTree(string Random) { randomtree = Random; } void GlobalData::setGroups(string g) { groups = g; } void GlobalData::setCalc(string Calc) { calc = Calc; } -void GlobalData::setEnds(string e) { ends = e; } +void GlobalData::setCountEnds(string e) { countends = e; } void GlobalData::setProcessors(string p) { processors = p; } @@ -357,7 +387,7 @@ void GlobalData::clear() { clustalfile = ""; treefile = ""; sharedfile = ""; - templatefile = ""; + candidatefile = ""; cutoff = "10.00"; format = ""; precision = "100"; @@ -375,20 +405,27 @@ void GlobalData::clear() { form = "integral"; sorted = "T"; //F means don't sort, T means sort. vertical = ""; - trump = ""; - filter = ""; + trump = ""; + hard = ""; soft = ""; scale = "log10"; - ends = "T"; //yes + countends = "T"; //yes processors = "1"; - size = "1000"; - search = "suffix"; - ksize = "7"; - align = "blast"; + size = "0"; + search = "kmer"; + ksize = "8"; + align = "needleman"; match = "1.0"; mismatch = "-1.0"; - gapopen = "-5.0"; + gapopen = "-1.0"; gapextend = "-2.0"; + startPos = "-1"; + endPos = "-1"; + maxAmbig = "-1"; + maxHomoPolymer = "-1"; + minLength = "-1"; + maxLength = "-1"; + } //*******************************************************/ @@ -408,16 +445,27 @@ void GlobalData::reset() { abund = "10"; step = "0.01"; form = "integral"; - ends = "T"; + countends = "T"; processors = "1"; - size = "1000"; - search = "suffix"; - ksize = "7"; - align = "blast"; + size = "0"; + search = "kmer"; + ksize = "8"; + align = "needleman"; match = "1.0"; mismatch = "-1.0"; - gapopen = "-5.0"; + gapopen = "-1.0"; gapextend = "-2.0"; + vertical = ""; + trump = ""; + hard = ""; + soft = ""; + startPos = "-1"; + endPos = "-1"; + maxAmbig = "-1"; + maxHomoPolymer = "-1"; + minLength = "-1"; + maxLength = "-1"; + } /*******************************************************/ @@ -432,6 +480,8 @@ GlobalData::~GlobalData() { /*******************************************************/ void GlobalData::parseTreeFile() { + //Why is THIS in GlobalData??? - PDS + //only takes names from the first tree and assumes that all trees use the same names. try { string filename = treefile;