]> git.donarmstrong.com Git - mothur.git/blobdiff - globaldata.cpp
fixed a bug in calculating the # of ambig bases
[mothur.git] / globaldata.cpp
index 405e646a5276e9afa8acaa2b5d0dee776e35b94e..ec937eac09d96bc04bdce2f1f0f2fcf9c08bc3ce 100644 (file)
@@ -96,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
@@ -167,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();
@@ -210,7 +224,6 @@ 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); 
@@ -322,6 +335,12 @@ 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;                                   }
@@ -400,6 +419,13 @@ void GlobalData::clear() {
        mismatch                =       "-1.0";
        gapopen                 =       "-1.0";
        gapextend               =       "-2.0";
+       startPos                =       "-1";
+       endPos                  =       "-1";
+       maxAmbig                =       "-1";
+       maxHomoPolymer  =       "-1";
+       minLength               =       "-1";
+       maxLength               =       "-1";
+       
 }
 
 //*******************************************************/
@@ -433,7 +459,13 @@ void GlobalData::reset() {
        trump           =   "";         
        hard                    =   "";         
        soft            =   ""; 
-
+       startPos                =       "-1";
+       endPos                  =       "-1";
+       maxAmbig                =       "-1";
+       maxHomoPolymer  =       "-1";
+       minLength               =       "-1";
+       maxLength               =       "-1";
+       
 }
 /*******************************************************/
 
@@ -448,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;