-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCCSSequence.hpp
37 lines (33 loc) · 1.11 KB
/
CCSSequence.hpp
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
#ifndef _BLASR_CCS_SEQUENCE_HPP_
#define _BLASR_CCS_SEQUENCE_HPP_
#include "Enumerations.h"
#include "SMRTSequence.hpp"
#include "VectorUtils.hpp"
//
// A CCS Sequence is both a SMRTSequence itself, and contains a list of SMRTSequences.
//
class CCSSequence : public SMRTSequence {
public:
UInt numPasses;
UInt numConsensusBases;
std::vector<DNALength> passStartPulse, passNumPulses, passStartBase, passNumBases;
std::vector<Byte> passDirection;
std::vector<Byte> adapterHitBefore, adapterHitAfter, adapterHitConfidence;
//
// The CCS Sequence originates from a full length read. That read
// is stored here for reference later on. The ccs read is stored in
// the inherited fields from SMRTSequence so that it may be worked
// with as if it were a normal non-ccs sequence.
//
SMRTSequence unrolledRead;
void Free();
int 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 Explode(std::vector<SMRTSequence> &subreads);
};
#endif // _BLASR_CCS_SEQUENCE_HPP_