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:
record.aux.each do |tag, value|
puts "#{tag}: #{value}"
end
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))
SourceInstance methods
each
Iterate over all auxiliary tags
Sourceeach_with_type
Iterate over all auxiliary tags with original BAM type information.
Sourceget_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.
Sourceget_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.
Sourceget_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.
Sourceget_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.
Sourceget_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.
Sourceget_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.
Sourceto_s(io : IO) : Nil
HTSlib sam_format_aux1 compliant output with original type information
Sourceupdate_array(tag : String, values : Array(Number), subtype : Char = 'i')
Sourceupdate_char(tag : String, value : Char)
Sourceupdate_double(tag : String, value : Number)
Sourceupdate_float(tag : String, value : Number)
Sourceupdate_hex(tag : String, value : String)
Sourceupdate_int(tag : String, value : Int)
Sourceupdate_int16(tag : String, value : Int)
Sourceupdate_int32(tag : String, value : Int)
Sourceupdate_int8(tag : String, value : Int)
Sourceupdate_string(tag : String, value : String)
Sourceupdate_uint16(tag : String, value : Int)
Sourceupdate_uint32(tag : String, value : Int)
Sourceupdate_uint8(tag : String, value : Int)
Source