forked from mothur/mothur
-
Notifications
You must be signed in to change notification settings - Fork 0
/
chimerapintailcommand.h
70 lines (52 loc) · 2.12 KB
/
chimerapintailcommand.h
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
#ifndef CHIMERAPINTAILCOMMAND_H
#define CHIMERAPINTAILCOMMAND_H
/*
* chimerapintailcommand.h
* Mothur
*
* Created by westcott on 4/1/10.
* Copyright 2010 Schloss Lab. All rights reserved.
*
*/
#include "mothur.h"
#include "command.hpp"
#include "chimera.h"
#include "referencedb.h"
/***********************************************************/
class ChimeraPintailCommand : public Command {
public:
ChimeraPintailCommand(string);
ChimeraPintailCommand();
~ChimeraPintailCommand(){}
vector<string> setParameters();
string getCommandName() { return "chimera.pintail"; }
string getCommandCategory() { return "Sequence Processing"; }
string getHelpString();
string getOutputPattern(string);
string getCitation() { return "Ashelford KE, Chuzhanova NA, Fry JC, Jones AJ, Weightman AJ (2005). At least 1 in 20 16S rRNA sequence records currently held in public repositories is estimated to contain substantial anomalies. Appl Environ Microbiol 71: 7724-36. \nAshelford KE, Chuzhanova NA, Fry JC, Jones AJ, Weightman AJ (2006). New screening software shows that most recent large 16S rRNA gene clone libraries contain chimeras. Appl Environ Microbiol 72: 5734-41. \nhttp://www.mothur.org/wiki/Chimera.pintail"; }
string getDescription() { return "detect chimeric sequences"; }
int execute();
void help() { m->mothurOut(getHelpString()); }
private:
ReferenceDB* rdb;
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, string);
int createProcesses(string, string, string);
#ifdef USE_MPI
int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long long>&);
#endif
bool abort, filter, save;
string fastafile, templatefile, consfile, quanfile, maskfile, outputDir, inputDir;
int processors, window, increment, numSeqs, templateSeqsLength;
Chimera* chimera;
vector<string> outputNames;
vector<string> fastaFileNames;
};
/***********************************************************/
#endif