-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCallResult.h
executable file
·57 lines (44 loc) · 1.57 KB
/
CallResult.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
#ifndef CALLRESULT
#define CALLRESULT
#include "ChromosomeRegion.h"
#include "sequencefetcher.h"
class CallResult
{
public:
CallResult(const ChromosomeRegion& cRegion,
const Interval& startInterval,
const Interval& endInterval,
const std::string& microIns,
const std::string& microHom)
: cRegion(cRegion),
startInterval(startInterval),
endInterval(endInterval),
microIns(microIns),
microHom(microHom)
{}
ChromosomeRegion GetChromoRegion() const
{
return cRegion;
}
std::string GetMicroIns() const { return microIns; }
std::string GetMicroHom() const { return microHom; }
Interval GetStartInterval() const { return startInterval; }
Interval GetEndInterval() const { return endInterval; }
int GetStart1() const { return cRegion.GetStartPosition() + startInterval.GetStart(); }
int GetEnd1() const { return cRegion.GetStartPosition() + startInterval.GetEnd(); }
int GetStart2() const { return cRegion.GetEndPosition() + endInterval.GetStart(); }
int GetEnd2() const { return cRegion.GetEndPosition() + endInterval.GetEnd(); }
int GetSvLength() const { return cRegion.GetLength() - 2; }
bool IsValid(int minSvLength)
{
return cRegion.GetLength() - 2 > abs(minSvLength);
}
friend std::ostream& operator <<(std::ostream& stream, const CallResult& cResult);
private:
ChromosomeRegion cRegion;
Interval startInterval;
Interval endInterval;
std::string microIns;
std::string microHom;
};
#endif // CALLRESULT