]> git.donarmstrong.com Git - mothur.git/commitdiff
some more mods to shh.seqs
authorpschloss <pschloss>
Fri, 11 Mar 2011 17:25:49 +0000 (17:25 +0000)
committerpschloss <pschloss>
Fri, 11 Mar 2011 17:25:49 +0000 (17:25 +0000)
shhhercommand.cpp
shhhercommand.h
trimflowscommand.cpp

index 066a9c51f26b764f14fa3f9490e094748ad3e7b6..b21d4140b84280251cb208705bf0fca70919d0e0 100644 (file)
@@ -32,7 +32,7 @@
 vector<string> ShhherCommand::getValidParameters(){    
        try {
                string Array[] =  {     
-                       "file", "flow", "lookup", "cutoff", "sigma", "outputdir","inputdir", "processors", "maxiter", "mindelta"        
+                       "file", "flow", "lookup", "cutoff", "sigma", "outputdir","inputdir", "processors", "maxiter", "mindelta", "order"       
                };
                
                vector<string> myArray (Array, Array+(sizeof(Array)/sizeof(string)));
@@ -111,7 +111,7 @@ ShhherCommand::ShhherCommand(string option) {
                        
                        //valid paramters for this command
                        string AlignArray[] =  {
-                               "file", "flow", "lookup", "cutoff", "sigma", "outputdir","inputdir", "processors", "maxiter", "mindelta"        
+                               "file", "flow", "lookup", "cutoff", "sigma", "outputdir","inputdir", "processors", "maxiter", "mindelta", "order"       
                        };
                        
                        vector<string> myArray (AlignArray, AlignArray+(sizeof(AlignArray)/sizeof(string)));
@@ -211,6 +211,12 @@ ShhherCommand::ShhherCommand(string option) {
                        temp = validParameter.validFile(parameters, "sigma", false);if (temp == "not found")    {       temp = "60";            }
                        convert(temp, sigma); 
                        
+                       flowOrder = validParameter.validFile(parameters, "order", false);
+                       if (flowOrder == "not found"){ flowOrder = "TACG";              }
+                       else if(flowOrder.length() != 4){
+                               m->mothurOut("The value of the order option must be four bases long\n");
+                       }
+                       
                        globaldata = GlobalData::getInstance();
                }
                        
@@ -2010,7 +2016,7 @@ void ShhherCommand::writeQualities(vector<int> otuCounts){
 
 void ShhherCommand::writeSequences(vector<int> otuCounts){
        try {
-               string bases = "TACG";
+               flowOrder = "TACG";
                
                string fastaFileName = flowFileName.substr(0,flowFileName.find_last_of('.')) + ".pn.fasta";
                ofstream fastaFile;
@@ -2026,7 +2032,7 @@ void ShhherCommand::writeSequences(vector<int> otuCounts){
                                
                                for(int j=8;j<numFlowCells;j++){
                                        
-                                       char base = bases[j % 4];
+                                       char base = flowOrder[j % 4];
                                        for(int k=0;k<uniqueFlowgrams[index * numFlowCells + j];k++){
                                                fastaFile << base;
                                        }
index acceb7fdba0aa19c3e5f8b032d11d5ad872dca5c..51a5c3cc46fcad5ab70393bc0e153ffe6715b121 100644 (file)
@@ -37,6 +37,7 @@ private:
 
        int processors, maxIters;
        float cutoff, sigma, minDelta;
+       string flowOrder;
        
        vector<int> nSeqsBreaks;
        vector<int> nOTUsBreaks;
index bb8d3863ea56b52dfea6c772dbf0beb397810849..6592651d068fc12580043897898479bf858a2047 100644 (file)
@@ -738,7 +738,7 @@ int TrimFlowsCommand::stripForward(Sequence& seq, int& group){
                
                string rawSequence = seq.getUnaligned();
                int success = pdiffs + 1;       //guilty until proven innocent
-               
+
                //can you find the primer
                for(map<string,int>::iterator it=primers.begin();it!=primers.end();it++){
                        string oligo = it->first;