BamRecordBuilder¶
#include <pbbam/BamRecordBuilder.h>
-
class
PacBio::BAM::BamRecordBuilder¶ The BamRecordBuilder class provides a helper utility for building BamRecords.
This class provides a mechanism for building up BAM data and lazy-encoding/constructing the actual BamRecord. Currently, the methods here really only support filling in the low-level SAM/BAM-style fields, not so much the PacBio-specific fields.
Constructors & Related Methods
-
BamRecordBuilder()¶ Creates an empty BAM record builder.
-
BamRecordBuilder(BamHeader header)¶ Creates an empty BAM record builder, with header info to apply to built records.
- Parameters
header: BamHeader object
-
BamRecordBuilder(const BamRecord &prototype)¶ Creates record builder with inital record data.
- Parameters
prototype: data from this record will be used to seed the builder
-
BamRecordBuilder(const BamRecordBuilder &other)¶
-
BamRecordBuilder(BamRecordBuilder &&other)¶
-
BamRecordBuilder &
operator=(const BamRecordBuilder &other)¶
-
BamRecordBuilder &
operator=(BamRecordBuilder &&other)¶
-
~BamRecordBuilder()¶
Record-Building
-
BamRecord
Build() const¶ Builds a BamRecord from current builder attributes.
- Return
- newly-built BamRecord object
-
bool
BuildInPlace(BamRecord &record) const¶ Replaces an existing BamRecord‘s data with current builder attributes.
- Return
- true if successful
- Parameters
record: resulting record
-
void
Reset()¶ Resets builder attributes to default values.
Core Attribute Setup
-
BamRecordBuilder &
Bin(const uint32_t bin)¶ Sets the record’s (BAI) index bin ID.
- Return
- reference to this builder
- Parameters
bin: BAI index bin ID.
-
BamRecordBuilder &
Flag(const uint32_t flag)¶ Sets this record’s alignment flag, using a raw integer.
- Return
- reference to this record
- Parameters
flag: raw alignment flag
-
BamRecordBuilder &
InsertSize(const int32_t iSize)¶ Sets this record’s insert size.
- Return
- reference to this record
- Parameters
iSize: insert size
-
BamRecordBuilder &
MapQuality(const uint8_t mapQual)¶ Sets this record’s map quality.
- Return
- reference to this record
- Parameters
mapQual: mapping quality - value of 255 indicates “unknown”
-
BamRecordBuilder &
MatePosition(const int32_t pos)¶ Sets this record’s mate’s mapped position.
- Return
- reference to this record
- Parameters
pos: mapped position. A value of -1 indicates unmapped.
-
BamRecordBuilder &
MateReferenceId(const int32_t id)¶ Sets this record’s mate’s mapped reference ID.
- Return
- reference to this record
- Parameters
id: reference ID. A value of -1 indicates unmapped.
-
BamRecordBuilder &
Position(const int32_t pos)¶ Sets this record’s mapped position.
- Return
- reference to this record
- Parameters
pos: mapped position. A value of -1 indicates unmapped.
-
BamRecordBuilder &
ReferenceId(const int32_t id)¶ Sets this record’s mapped reference ID.
- Return
- reference to this record
- Parameters
id: reference ID. A value of -1 indicates unmapped.
Alignment Flag Setup
-
BamRecordBuilder &
SetDuplicate(bool ok)¶ Sets whether this record is a PCR/optical duplicate.
-
BamRecordBuilder &
SetFailedQC(bool ok)¶ Sets whether this record failed quality controls.
-
BamRecordBuilder &
SetFirstMate(bool ok)¶ Sets whether this record is the first mate of a pair.
-
BamRecordBuilder &
SetMapped(bool ok)¶ Sets whether this record was aligned.
-
BamRecordBuilder &
SetMateMapped(bool ok)¶ Sets whether this record’s mate was aligned.
-
BamRecordBuilder &
SetMateReverseStrand(bool ok)¶ Sets whether this record’s mate mapped to reverse strand.
-
BamRecordBuilder &
SetPaired(bool ok)¶ Sets whether this record came from paired-end sequencing.
-
BamRecordBuilder &
SetPrimaryAlignment(bool ok)¶ Sets whether this record is a read’s primary alignment.
-
BamRecordBuilder &
SetProperPair(bool ok)¶ Sets whether this record & its mate were properly mapped, per the aligner.
-
BamRecordBuilder &
SetReverseStrand(bool ok)¶ Sets whether this record mapped to reverse strand.
-
BamRecordBuilder &
SetSecondMate(bool ok)¶ Sets whether this record is the second mate of a pair.
-
BamRecordBuilder &
SetSupplementaryAlignment(bool ok)¶ Sets whether this record is a supplementary alignment.
Variable-Length Data Setup
-
BamRecordBuilder &
Cigar(const PacBio::BAM::Cigar &cigar)¶ Sets the record’s CIGAR data.
- Return
- reference to this builder
-
BamRecordBuilder &
Cigar(PacBio::BAM::Cigar &&cigar)¶ Sets the record’s CIGAR data.
- Return
- reference to this builder
-
BamRecordBuilder &
Name(const std::string &name)¶ Sets the record’s name.
- Return
- reference to this builder
-
BamRecordBuilder &
Name(std::string &&name)¶ Sets the record’s name.
- Return
- reference to this builder
-
BamRecordBuilder &
Qualities(const std::string &qualities)¶ Sets the record’s qualities.
- Return
- reference to this builder
-
BamRecordBuilder &
Qualities(std::string &&qualities)¶ Sets the record’s qualities.
- Return
- reference to this builder
-
BamRecordBuilder &
Sequence(const std::string &sequence)¶ Sets the record’s sequence.
- Return
- reference to this builder
-
BamRecordBuilder &
Sequence(std::string &&sequence)¶ Sets the record’s sequence.
- Return
- reference to this builder
-
BamRecordBuilder &
Tags(const TagCollection &tags)¶ Sets the record’s tags.
- Return
- reference to this builder
-
BamRecordBuilder &
Tags(TagCollection &&tags)¶ Sets the record’s tags.
- Return
- reference to this builder
-