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