Class: HTS::Bam::Flag

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

Overview

SAM flags

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)


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

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.



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

def value
  @value
end

Instance Method Details

#has_flag?(f) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#to_iObject



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

def to_i
  @value
end

#to_sObject



60
61
62
63
# File 'lib/hts/bam/flag.rb', line 60

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