Method: HTS::Faidx#fetch_qual

Defined in:
lib/hts/faidx.rb

#fetch_qual(name, start = nil, stop = nil) ⇒ Object Also known as: qual

[View source]

131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/hts/faidx.rb', line 131

def fetch_qual(name, start = nil, stop = nil)
  name = name.to_s
  rlen = FFI::MemoryPointer.new(:int)

  if start.nil? && stop.nil?
    result = LibHTS.fai_fetchqual64(@fai, name, rlen)
  else
    start < 0    && raise(ArgumentError, "Expect start to be >= 0")
    stop  < 0    && raise(ArgumentError, "Expect stop to be >= 0")
    start > stop && raise(ArgumentError, "Expect start to be <= stop")
    stop >= seq_len(name) && raise(ArgumentError, "Expect stop to be < seq_len")

    result = LibHTS.faidx_fetch_qual64(@fai, name, start, stop, rlen)
  end

  case rlen.read_int
  when -2 then raise "Invalid chromosome name: #{name}"
  when -1 then raise "Error fetching sequence: #{name}:#{start}-#{stop}"
  end

  result
end