Class: HTS::Bam::Flag

Inherits:
Object
  • Object
show all
Defined in:
lib/hts/bam/flag.rb

Constant Summary collapse

TABLE =

TODO: Enabling bitwise operations?

{ paired?: LibHTS::BAM_FPAIRED,
proper_pair?: LibHTS::BAM_FPROPER_PAIR,
unmapped?: LibHTS::BAM_FUNMAP,
mate_unmapped?: LibHTS::BAM_FMUNMAP,
reverse?: LibHTS::BAM_FREVERSE,
mate_reverse?: LibHTS::BAM_FMREVERSE,
read1?: LibHTS::BAM_FREAD1,
read2?: LibHTS::BAM_FREAD2,
secondary?: LibHTS::BAM_FSECONDARY,
qcfail?: LibHTS::BAM_FQCFAIL,
duplicate?: LibHTS::BAM_FDUP,
supplementary?: LibHTS::BAM_FSUPPLEMENTARY }.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(flag_value) ⇒ Flag

Returns a new instance of Flag.

Raises:

  • (TypeError)


9
10
11
12
13
# File 'lib/hts/bam/flag.rb', line 9

def initialize(flag_value)
  raise TypeError unless flag_value.is_a? Integer

  @value = flag_value
end

Instance Attribute Details

#valueObject

Returns the value of attribute value.



15
16
17
# File 'lib/hts/bam/flag.rb', line 15

def value
  @value
end

Instance Method Details

#has_flag?(f) ⇒ Boolean



51
52
53
# File 'lib/hts/bam/flag.rb', line 51

def has_flag?(f)
  (@value & f) != 0
end

#to_sObject



55
56
57
58
# File 'lib/hts/bam/flag.rb', line 55

def to_s
  LibHTS.bam_flag2str(@value)
  # "0x#{format('%x', @value)}\t#{@value}\t#{LibHTS.bam_flag2str(@value)}"
end