forked from mothur/mothur
-
Notifications
You must be signed in to change notification settings - Fork 0
/
chimeraslayer.h
79 lines (60 loc) · 2.64 KB
/
chimeraslayer.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
69
70
71
72
73
74
75
76
77
#ifndef CHIMERASLAYER_H
#define CHIMERASLAYER_H
/*
* chimeraslayer.h
* Mothur
*
* Created by westcott on 9/25/09.
* Copyright 2009 Schloss Lab. All rights reserved.
*
*/
#include "chimera.h"
#include "maligner.h"
#include "slayer.h"
//***********************************************************************/
//This class was modeled after the chimeraSlayer written by the Broad Institute
/***********************************************************************/
class ChimeraSlayer : public Chimera {
public:
ChimeraSlayer(string, string, bool, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool, string, int);
ChimeraSlayer(string, string, bool, map<string, int>&, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool, string, int);
ChimeraSlayer(string, string, bool, map<string, int>&, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool, string, int, bool);
~ChimeraSlayer();
int getChimeras(Sequence*);
Sequence print(ostream&, ostream&);
Sequence print(ostream&, ostream&, data_results, data_results);
void printHeader(ostream&);
int doPrep();
int getNumNoParents() { return numNoParents; }
data_results getResults() { return printResults; }
#ifdef USE_MPI
Sequence print(MPI_File&, MPI_File&);
Sequence print(MPI_File&, MPI_File&, data_results, data_results, bool&);
#endif
private:
Sequence querySeq;
Sequence trimQuery;
DeCalculator decalc;
Database* databaseRight;
Database* databaseLeft;
map<string, int> priority; //for template=self, seqname, seqAligned, abundance
set<string> chimericSeqs; //for template=self, so we don't add chimeric sequences to the userTemplate set
int numNoParents, threadID;
vector<data_struct> chimeraResults;
data_results printResults;
string chimeraFlags, searchMethod, fastafile, blastlocation;
bool realign, trimChimera;
int window, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, increment;
float divR;
void printBlock(data_struct, string, ostream&);
void printBlock(data_results, data_results, bool, bool, string, ostream&);
string getBlock(data_struct, string);
string getBlock(data_results, data_results, bool, bool, string);
//int readNameFile(string);
vector<Sequence*> getTemplate(Sequence, vector<Sequence*>&);
vector<Sequence> getRefSeqs(Sequence, vector<Sequence*>&, vector<Sequence*>&);
vector<Sequence> getBlastSeqs(Sequence, vector<Sequence*>&, int);
vector<Sequence> getKmerSeqs(Sequence, vector<Sequence*>&, int);
};
/************************************************************************/
#endif