1// File Description
2/// \file BamRecordView.inl
3/// \brief Inline implementations for the BamRecordView class.
4//
5// Author: Derek Barnett
6
7#include "pbbam/BamRecordView.h"
8
9namespace PacBio {
10namespace BAM {
11
12inline BamRecordView::BamRecordView(const BamRecord& record,
13                                    const Orientation orientation,
14                                    const bool aligned,
15                                    const bool exciseSoftClips,
16                                    const PulseBehavior pulseBehavior)
17    : record_(record)
18    , orientation_{orientation}
19    , aligned_{aligned}
20    , exciseSoftClips_{exciseSoftClips}
21    , pulseBehavior_{pulseBehavior}
22{ }
23
24inline QualityValues BamRecordView::AltLabelQVs() const
25{ return record_.AltLabelQV(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
26
27inline std::string BamRecordView::AltLabelTags() const
28{ return record_.AltLabelTag(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
29
30inline QualityValues BamRecordView::DeletionQVs() const
31{ return record_.DeletionQV(orientation_, aligned_, exciseSoftClips_); }
32
33inline std::string BamRecordView::DeletionTags() const
34{ return record_.DeletionTag(orientation_, aligned_, exciseSoftClips_); }
35
36inline QualityValues BamRecordView::InsertionQVs() const
37{ return record_.InsertionQV(orientation_, aligned_, exciseSoftClips_); }
38
39inline Frames BamRecordView::IPD() const
40{ return record_.IPD(orientation_, aligned_, exciseSoftClips_); }
41
42inline Frames BamRecordView::PrebaseFrames() const
43{ return record_.IPD(orientation_, aligned_, exciseSoftClips_); }
44
45inline QualityValues BamRecordView::LabelQVs() const
46{ return record_.LabelQV(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
47
48inline QualityValues BamRecordView::MergeQVs() const
49{ return record_.MergeQV(orientation_, aligned_, exciseSoftClips_); }
50
51inline QualityValues BamRecordView::PulseMergeQVs() const
52{ return record_.PulseMergeQV(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
53
54inline std::vector<float> BamRecordView::Pkmean() const
55{ return record_.Pkmean(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
56
57inline std::vector<float> BamRecordView::Pkmid() const
58{ return record_.Pkmid(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
59
60inline std::vector<float> BamRecordView::Pkmean2() const
61{ return record_.Pkmean2(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
62
63inline std::vector<float> BamRecordView::Pkmid2() const
64{ return record_.Pkmid2(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
65
66inline Frames BamRecordView::PrePulseFrames() const
67{ return record_.PrePulseFrames(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
68
69inline std::string BamRecordView::PulseCalls() const
70{ return record_.PulseCall(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
71
72inline Frames BamRecordView::PulseCallWidth() const
73{ return record_.PulseCallWidth(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
74
75inline Frames BamRecordView::PulseWidths() const
76{ return record_.PulseWidth(orientation_, aligned_, exciseSoftClips_); }
77
78inline QualityValues BamRecordView::Qualities() const
79{ return record_.Qualities(orientation_, aligned_, exciseSoftClips_); }
80
81inline std::string BamRecordView::Sequence() const
82{ return record_.Sequence(orientation_, aligned_, exciseSoftClips_); }
83
84inline std::vector<uint32_t> BamRecordView::StartFrames() const
85{ return record_.StartFrame(orientation_, aligned_, exciseSoftClips_, pulseBehavior_); }
86
87inline QualityValues BamRecordView::SubstitutionQVs() const
88{ return record_.SubstitutionQV(orientation_, aligned_, exciseSoftClips_); }
89
90inline std::string BamRecordView::SubstitutionTags() const
91{ return record_.SubstitutionTag(orientation_, aligned_, exciseSoftClips_); }
92
93} // namespace BAM
94} // namespace PacBio
95