class

HTS::Bam::Aux

Inherits Reference < Object

Provides iteration over auxiliary tags in BAM records

This class enables efficient access to all auxiliary tags using HTSlib's bam_aux_first and bam_aux_next functions.

Usage examples:

Iterate over all tags

record.aux.each do |tag, value| puts "#{tag}: #{value}" end

Access specific tags with stable return types

as_score = record.aux.get_int("AS")

Constants

AUX_ARRAY_TYPE = 'B'.ord.to_u8
AUX_CHAR_TYPE = 'A'.ord.to_u8
AUX_FLOAT_ARRAY_TYPE = 'f'.ord.to_u8
AUX_FLOAT_TYPES = {'f'.ord.to_u8, 'd'.ord.to_u8}
AUX_INT_TYPES = {'c'.ord.to_u8, 'C'.ord.to_u8, 's'.ord.to_u8, 'S'.ord.to_u8, 'i'.ord.to_u8, 'I'.ord.to_u8}
AUX_STRING_TYPES = {'Z'.ord.to_u8, 'H'.ord.to_u8}

Constructors

new(bam1 : Pointer(LibHTS::Bam1T))
Source

Instance methods

each

Iterate over all auxiliary tags

Source
each_with_type

Iterate over all auxiliary tags with original BAM type information.

Source
get_char(tag : String) : Char | Nil

Returns the character value for tag, nil when absent, and raises AuxTypeError when the tag exists with a non-character type.

Source
get_float(tag : String) : Float64 | Nil

Returns the float value for tag, nil when absent, and raises AuxTypeError when the tag exists with a non-float type.

Source
get_float_array(tag : String) : Array(Float64) | Nil

Returns the float array for tag, nil when absent, and raises AuxTypeError when the tag exists with a non-float-array type.

Source
get_int(tag : String) : Int64 | Nil

Returns the integer value for tag, nil when absent, and raises AuxTypeError when the tag exists with a non-integer type.

Source
get_int_array(tag : String) : Array(Int64) | Nil

Returns the integer array for tag, nil when absent, and raises AuxTypeError when the tag exists with a non-integer-array type.

Source
get_string(tag : String) : String | Nil

Returns the string value for tag, nil when absent, and raises AuxTypeError when the tag exists with a non-string type.

Source
to_s(io : IO) : Nil

HTSlib sam_format_aux1 compliant output with original type information

Source
update_array(tag : String, values : Array(Number), subtype : Char = 'i')
Source
update_char(tag : String, value : Char)
Source
update_double(tag : String, value : Number)
Source
update_float(tag : String, value : Number)
Source
update_hex(tag : String, value : String)
Source
update_int(tag : String, value : Int)
Source
update_int16(tag : String, value : Int)
Source
update_int32(tag : String, value : Int)
Source
update_int8(tag : String, value : Int)
Source
update_string(tag : String, value : String)
Source
update_uint16(tag : String, value : Int)
Source
update_uint32(tag : String, value : Int)
Source
update_uint8(tag : String, value : Int)
Source