]> git.donarmstrong.com Git - mothur.git/blobdiff - chimeraslayercommand.h
added name option to trim.seqs
[mothur.git] / chimeraslayercommand.h
index c2d9c45cfa931e9510981a4ff0c82c1d1e0fa890..90f6b62f83fea0bc4abc980baacccb362e216554 100644 (file)
 #include "command.hpp"
 #include "chimera.h"
 
-
 /***********************************************************/
 
 class ChimeraSlayerCommand : public Command {
 public:
        ChimeraSlayerCommand(string);
-       ~ChimeraSlayerCommand();
-       int execute();
-       void help();
+       ChimeraSlayerCommand();
+       ~ChimeraSlayerCommand() {}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "chimera.slayer";              }
+       string getCommandCategory()             { return "Sequence Processing"; }
+       string getHelpString(); 
+       string getCitation() { return "Haas BJ, Gevers D, Earl A, Feldgarden M, Ward DV, Giannokous G, Ciulla D, Tabbaa D, Highlander SK, Sodergren E, Methe B, Desantis TZ, Petrosino JF, Knight R, Birren BW (2011). Chimeric 16S rRNA sequence formation and detection in Sanger and 454-pyrosequenced PCR amplicons. Genome Res. \nhttp://www.mothur.org/wiki/Chimera.slayer"; }
+
+       
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }          
        
-               
 private:
 
        struct linePair {
                unsigned long int start;
-               int numSeqs;
-               linePair(unsigned long int i, int j) : start(i), numSeqs(j) {}
+               unsigned long int end;
+               linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
        };
+
        vector<int> processIDS;   //processid
        vector<linePair*> lines;
        
-       int driver(linePair*, string, string, string);
-       int createProcesses(string, string, string);
+       int driver(linePair*, string, string, string, string);
+       int createProcesses(string, string, string, string);
+       int divideInHalf(Sequence, string&, string&);
+       map<string, int> sortFastaFile(string, string);
                
        #ifdef USE_MPI
-       int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, vector<long>&);
+       int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long int>&);
        #endif
 
-       bool abort, realign;
-       string fastafile, templatefile, outputDir, search;
+       bool abort, realign, trim, trimera;
+       string fastafile, templatefile, outputDir, search, namefile;
        int processors, window, iters, increment, numwanted, ksize, match, mismatch, parents, minSimilarity, minCoverage, minBS, minSNP, numSeqs, templateSeqsLength;
        float divR;
        Chimera* chimera;
        
        vector<string> outputNames;
        vector<string> fastaFileNames;
+       vector<string> nameFileNames;
        
 };