Method: HTS::Faidx#initialize

Defined in:
lib/hts/faidx.rb

#initialize(file_name) ⇒ Faidx

Returns a new instance of Faidx.

Raises:

  • (Errno::ENOENT)
[View source]

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/hts/faidx.rb', line 22

def initialize(file_name)
  if block_given?
    message = "HTS::Faidx.new() dose not take block; Please use HTS::Faidx.open() instead"
    raise message
  end

  @file_name = file_name
  @fai = case File.extname(@file_name)
         when ".fq", ".fastq"
           LibHTS.fai_load_format(@file_name, 2)
         else
           LibHTS.fai_load(@file_name)
         end

  raise Errno::ENOENT, "Failed to open #{@file_name}" if @fai.null?
end