-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCCSSequence.cpp
35 lines (32 loc) · 1.01 KB
/
CCSSequence.cpp
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
#include "CCSSequence.hpp"
void CCSSequence::Free() {
numPasses = 0;
numConsensusBases = 0;
SMRTSequence::Free();
unrolledRead.Free();
/*
ClearMemory(passStartPulse);
ClearMemory(passNumPulses);
ClearMemory(passStartBase);
ClearMemory(passNumBases);
ClearMemory(passDirection);
ClearMemory(adapterHitBefore);
ClearMemory(adapterHitAfter);
ClearMemory(adapterHitConfidence);
*/
}
int CCSSequence::GetStorageSize() {
return SMRTSequence::GetStorageSize() + unrolledRead.GetStorageSize();
}
//
// In the first iteration, Explode simply pulls the subreads out
// that are used in the ccs. Eventually, it will pull out all
// high-quality subreads.
//
void CCSSequence::Explode(std::vector<SMRTSequence> &subreads) {
subreads.resize(numPasses);
int subreadIndex;
for (subreadIndex = 0; subreadIndex < numPasses; subreadIndex++) {
subreads[subreadIndex].ReferenceSubstring(this->unrolledRead, passStartBase[subreadIndex], passNumBases[subreadIndex]);
}
}