]> git.donarmstrong.com Git - mothur.git/commitdiff
added degap.seqs command
authorwestcott <westcott>
Mon, 21 Jun 2010 16:58:45 +0000 (16:58 +0000)
committerwestcott <westcott>
Mon, 21 Jun 2010 16:58:45 +0000 (16:58 +0000)
Mothur.xcodeproj/project.pbxproj
commandfactory.cpp
filterseqscommand.cpp
makefile
reversecommand.h

index 1609df908abaa8a95559d009f2351d616049872b..61b807010ef618807f18b7277f937a59b107cde7 100644 (file)
@@ -10,6 +10,8 @@
                7EC61A0911BEA6AF00F668D9 /* weightedlinkage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = weightedlinkage.cpp; sourceTree = "<group>"; };
                A703FE931194645F002C397E /* makegroupcommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = makegroupcommand.h; sourceTree = SOURCE_ROOT; };
                A703FE941194645F002C397E /* makegroupcommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = makegroupcommand.cpp; sourceTree = SOURCE_ROOT; };
+               A7118EE511CFCAC000CFDE03 /* degapseqscommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = degapseqscommand.h; sourceTree = "<group>"; };
+               A7118EE611CFCAC000CFDE03 /* degapseqscommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = degapseqscommand.cpp; sourceTree = "<group>"; };
                A71D924211AEB42400D00CBC /* clustersplitcommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = clustersplitcommand.cpp; sourceTree = "<group>"; };
                A71D924311AEB42400D00CBC /* clustersplitcommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clustersplitcommand.h; sourceTree = "<group>"; };
                A71D924411AEB42400D00CBC /* splitabundcommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = splitabundcommand.cpp; sourceTree = "<group>"; };
                                A7DA202A113FECD400BF472F /* collectsharedcommand.h */,
                                A7DA2031113FECD400BF472F /* consensuscommand.cpp */,
                                A7DA2032113FECD400BF472F /* consensuscommand.h */,
+                               A7118EE511CFCAC000CFDE03 /* degapseqscommand.h */,
+                               A7118EE611CFCAC000CFDE03 /* degapseqscommand.cpp */,
                                A7DA203A113FECD400BF472F /* deconvolutecommand.cpp */,
                                A7DA203B113FECD400BF472F /* deconvolutecommand.h */,
                                A7DA203E113FECD400BF472F /* distancecommand.cpp */,
index bd519eebfd6eaa24134dad9ac08f2193004e6386..7de4d06f25ddbb1414aaea8e7f4b8d7f72d25590 100644 (file)
@@ -80,6 +80,7 @@
 #include "splitabundcommand.h"
 #include "clustersplitcommand.h"
 #include "classifyotucommand.h"
+#include "degapseqscommand.h"
 
 /*******************************************************/
 
@@ -167,6 +168,7 @@ CommandFactory::CommandFactory(){
        commands["split.abund"]                 = "split.abund";
        commands["cluster.split"]               = "cluster.split";
        commands["classify.otu"]                = "classify.otu";
+       commands["degap.seqs"]                  = "degap.seqs";
        commands["classify.seqs"]               = "MPIEnabled"; 
        commands["dist.seqs"]                   = "MPIEnabled";
        commands["filter.seqs"]                 = "MPIEnabled";
@@ -291,6 +293,7 @@ Command* CommandFactory::getCommand(string commandName, string optionString){
                else if(commandName == "split.abund")                   {       command = new SplitAbundCommand(optionString);                          }
                else if(commandName == "cluster.split")                 {       command = new ClusterSplitCommand(optionString);                        }
                else if(commandName == "classify.otu")                  {       command = new ClassifyOtuCommand(optionString);                         }
+               else if(commandName == "degap.seqs")                    {       command = new DegapSeqsCommand(optionString);                           }
                else                                                                                    {       command = new NoCommand(optionString);                                          }
 
                return command;
index a6290a6afe55a28001e5e229e518a7c03c6a1c28..2bf0fa344eaeb924525bd6f906d664c8874f3d61 100644 (file)
@@ -102,6 +102,9 @@ FilterSeqsCommand::FilterSeqsCommand(string option)  {
                        // ...at some point should added some additional type checking...
                        
                        string temp;
+                       hard = validParameter.validFile(parameters, "hard", true);                              if (hard == "not found") { hard = ""; }
+                       else if (hard == "not open") { hard = ""; abort = true; }       
+
                        temp = validParameter.validFile(parameters, "trump", false);                    if (temp == "not found") { temp = "*"; }
                        trump = temp[0];
                        
@@ -111,13 +114,13 @@ FilterSeqsCommand::FilterSeqsCommand(string option)  {
                        temp = validParameter.validFile(parameters, "processors", false);       if (temp == "not found"){       temp = "1";                             }
                        convert(temp, processors); 
                        
-                       hard = validParameter.validFile(parameters, "hard", true);                              if (hard == "not found") { hard = ""; }
-                       else if (hard == "not open") { abort = true; }  
-                       
-                       vertical = validParameter.validFile(parameters, "vertical", false);             if (vertical == "not found") { vertical = "T"; }
+                       vertical = validParameter.validFile(parameters, "vertical", false);             
+                       if (vertical == "not found") { 
+                               if ((hard == "") && (trump == '*')) { vertical = "T"; } //you have not given a hard file or set the trump char.
+                               else { vertical = "F";  }
+                       }
                        
                        numSeqs = 0;
-                       
                }
                
        }
@@ -138,11 +141,11 @@ void FilterSeqsCommand::help(){
                m->mothurOut("For example: fasta=abrecovery.fasta-amazon.fasta \n");
                m->mothurOut("The trump parameter .... The default is ...\n");
                m->mothurOut("The soft parameter .... The default is ....\n");
-               m->mothurOut("The hard parameter .... The default is ....\n");
-               m->mothurOut("The vertical parameter .... The default is T.\n");
+               m->mothurOut("The hard parameter allows you to enter a file containing the filter you want to use.\n");
+               m->mothurOut("The vertical parameter removes columns where all sequences contain a gap character. The default is T.\n");
                m->mothurOut("The filter.seqs command should be in the following format: \n");
-               m->mothurOut("filter.seqs(fasta=yourFastaFile, trump=yourTrump, soft=yourSoft, hard=yourHard, vertical=yourVertical) \n");
-               m->mothurOut("Example filter.seqs(fasta=abrecovery.fasta, trump=..., soft=..., hard=..., vertical=T).\n");
+               m->mothurOut("filter.seqs(fasta=yourFastaFile, trump=yourTrump) \n");
+               m->mothurOut("Example filter.seqs(fasta=abrecovery.fasta, trump=.).\n");
                m->mothurOut("Note: No spaces between parameter labels (i.e. fasta), '=' and parameters (i.e.yourFasta).\n\n");
                
        }
@@ -256,23 +259,14 @@ int FilterSeqsCommand::filterSequences() {
                                int outMode=MPI_MODE_CREATE|MPI_MODE_WRONLY; 
                                int inMode=MPI_MODE_RDONLY; 
                                
-                               //char* outFilename = new char[filteredFasta.length()];
-                               //memcpy(outFilename, filteredFasta.c_str(), filteredFasta.length());
-                               
                                char outFilename[1024];
                                strcpy(outFilename, filteredFasta.c_str());
-
-                               //char* inFileName = new char[fastafileNames[s].length()];
-                               //memcpy(inFileName, fastafileNames[s].c_str(), fastafileNames[s].length());
-                               
+                       
                                char inFileName[1024];
                                strcpy(inFileName, fastafileNames[s].c_str());
                                
                                MPI_File_open(MPI_COMM_WORLD, inFileName, inMode, MPI_INFO_NULL, &inMPI);  //comm, filename, mode, info, filepointer
                                MPI_File_open(MPI_COMM_WORLD, outFilename, outMode, MPI_INFO_NULL, &outMPI);
-                               
-                               //delete inFileName;
-                               //delete outFilename;
 
                                if (m->control_pressed) {  MPI_File_close(&inMPI);  MPI_File_close(&outMPI);  return 0;  }
 
index 999664fcaf5787333d98d44bafcc04d465715fc3..415d699a6d30f4deb999a5f398ccfe7bcfaca8c4 100644 (file)
--- a/makefile
+++ b/makefile
@@ -131,6 +131,7 @@ mothur : \
                ./listseqscommand.o\
                ./getseqscommand.o\
                ./removeseqscommand.o\
+               ./degapseqscommand.o\
                ./systemcommand.o\
                ./binsequencecommand.o\
                ./distancecommand.o\
@@ -341,6 +342,7 @@ mothur : \
                ./listseqscommand.o\
                ./getseqscommand.o\
                ./removeseqscommand.o\
+               ./degapseqscommand.o\
                ./systemcommand.o\
                ./binsequencecommand.o\
                ./distancecommand.o\
@@ -554,6 +556,7 @@ clean :
                ./listseqscommand.o\
                ./getseqscommand.o\
                ./removeseqscommand.o\
+               ./degapseqscommand.o\
                ./systemcommand.o\
                ./binsequencecommand.o\
                ./distancecommand.o\
@@ -1718,5 +1721,9 @@ install : mothur
 # Item # 209 -- weightedlinkage --
 ./weightedlinkage.o : weightedlinkage.cpp
        $(CC) $(CC_OPTIONS) weightedlinkage.cpp -c $(INCLUDE) -o ./weightedlinkage.o
+       
+# Item # 210 -- degapseqscommand --
+./degapseqscommand.o : degapseqscommand.cpp
+       $(CC) $(CC_OPTIONS) degapseqscommand.cpp -c $(INCLUDE) -o ./degapseqscommand.o
 
 ##### END RUN ####
index aad454313b6668699ea8626cfdf883b8b2d4902e..874bde62ff5f315d392fc3c51479099b41ada008 100644 (file)
@@ -10,7 +10,6 @@
  *
  */
 
-#include "mothur.h"
 #include "command.hpp"
 
 class ReverseSeqsCommand : public Command {