1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#ifndef CHIMERACHECKCOMMAND_H
#define CHIMERACHECKCOMMAND_H
/*
* chimeracheckcommand.h
* Mothur
*
* Created by westcott on 3/31/10.
* Copyright 2010 Schloss Lab. All rights reserved.
*
*/
#include "mothur.h"
#include "command.hpp"
#include "chimera.h"
#include "chimeracheckrdp.h"
/***********************************************************/
class ChimeraCheckCommand : public Command {
public:
ChimeraCheckCommand(string);
ChimeraCheckCommand();
~ChimeraCheckCommand(){}
vector<string> setParameters();
string getCommandName() { return "chimera.check"; }
string getCommandCategory() { return "Sequence Processing"; }
string getHelpString();
string getOutputPattern(string);
string getCitation() { return "CHIMERA_CHECK version 2.7 written by Niels Larsen (http://wdcm.nig.ac.jp/RDP/docs/chimera_doc.html) \nhttp://www.mothur.org/wiki/Chimera.check"; }
string getDescription() { return "detect chimeric sequences"; }
int execute();
void help() { m->mothurOut(getHelpString()); }
private:
struct linePair {
unsigned long long start;
unsigned long long end;
linePair(unsigned long long i, unsigned long long j) : start(i), end(j) {}
};
vector<int> processIDS; //processid
vector<linePair*> lines;
int driver(linePair*, string, string);
int createProcesses(string, string);
#ifdef USE_MPI
int driverMPI(int, int, MPI_File&, MPI_File&, vector<unsigned long long>&);
#endif
bool abort, svg, save;
string fastafile, templatefile, namefile, outputDir;
int processors, increment, ksize, numSeqs, templateSeqsLength;
Chimera* chimera;
vector<string> fastaFileNames;
vector<string> nameFileNames;
vector<string> outputNames;
};
/***********************************************************/
#endif
|