-
Notifications
You must be signed in to change notification settings - Fork 2
/
Variation.h
53 lines (43 loc) · 1.39 KB
/
Variation.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
#ifndef CODE_Variation
#define CODE_Variation
#include "IncludeDefine.h"
#include "Parameters.h"
#include <array>
// struct SNPnt
// {
// char ref;
// char a1;
// char a2;
// };
class SNP
{
public:
uint32 N; //number of snps
uint* loci; //snp coordinates
vector<uint> lociV; //snp coordinates vector
// SNPnt* nt; //reference and alternative bases
// char **nt; //reference and alternative bases
// char *nt1; //1D array to store nt
vector<array<char,3>> nt;//reference and alternative bases
//methods
void snpOnBlocks(uint blockStart, uint blockL, int blockShift, vector<vector<array<int,2>>> &snpV);
};
class Variation
{
public:
//methods
Variation (Parameters &Pin, vector <uint> &chrStart, map <string,uint> &chrNameIndex); //create transcriptome structure, load and initialize parameters
void loadVCF(string fileIn); //load VCF file
vector<vector<array<int,2>>> sjdbSnp(uint sjStart, uint sjEnd, uint sjdbOverhang1); //calculates snp loci in sjdb sequences
//variables
bool yes;
SNP snp;
Parameters &P; //TODO: make this private
private:
string vcfFile;
//string varOutFileName;
//ofstream varOutStream;//output file for variations
vector <uint> &chrStart; //this needs to be replaced with a structure that contains basic genome variables
map <string,uint> &chrNameIndex;
};
#endif