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
78
79
80
81
82
83
84
#ifndef _VIHGO_H
#define _VIHGO_H
#include <vector>
#include <map>
#include <htslib/sam.h>
class Vihgo
{
public:
Vihgo();
Vihgo( std::string , std::string , std::string , std::string , std::string , std::string, std::string,std::string,std::string,std::string, int, int , int , double, double, bool);
int mainLoop();
int getGenome();
int getGenes();
int getAnnotation();
int readRunControl();
int readSample();
int variantCalling();
std::string getControlBamFile();
std::string getBamFile();
bool isInGeneList( std::string );
bool getCountStop();
std::string getConsensusFile();
bool isAnnotationDefined();
std::vector<std::string> getAnnotationFiles();
private :
std::string sampleName;
std::string inputBamFile;
std::string integraseFile;
std::string proteaseFile;
std::string retrotranscriptaseFile;
std::string referenceFile;
std::string outputFile;
std::string codonResultFile;
std::string csFile;
std::string inRunControlBam;
std::string geneFile;
int depthThreshold;
int nbThread;
int loggingLevel;
double ratioThreshold;
double pvalueThreshold;
bool countStop;
bool annotationIsOk;
std::map<std::string, std::map<int, char> > referenceSequence;
std::map<std::string, std::map< std::string , std::string> > genes;
std::map<std::string, std::map< int , std::string> > referenceCodon;
std::map<std::string, std::map< int , std::string> > protCodon;
std::map<std::string, std::map<int , int> > refProtCorresp;
std::map<std::string, std::map< std::string , std::string> > knownMutationTable;
// method
void displayGenome();
void displayGenes();
void displayCodons();
void displayData( std::string );
void displayReferenceCodons();
void writeCodonFile( std::string );
std::string isInGene( std::string , int );
bool detectStopInRead( bam1_t * , int32_t , std::string );
void writeConsensus();
std::string getChrFromProt( std::string );
bool isThereAControl();
std::string getAAfromCodon( std::string );
// map of codon
std::map<std::string , std::string > codonTable;
// control data
std::map<std::string , std::map<int , std::map< std::string , int> > > controlData;
// sample data
std::map<std::string , std::map<int , std::map< std::string , int> > > sampleData;
};
#endif