Module: HTS

Defined in:
lib/hts/fai.rb,
lib/htslib.rb,
lib/hts/bam.rb,
lib/hts/ffi.rb,
lib/hts/tbx.rb,
lib/hts/vcf.rb,
lib/hts/ffi/hts.rb,
lib/hts/ffi/sam.rb,
lib/hts/ffi/tbx.rb,
lib/hts/ffi/vcf.rb,
lib/hts/version.rb,
lib/hts/ffi/bgzf.rb,
lib/hts/bam/cigar.rb,
lib/hts/ffi/faidx.rb,
lib/hts/ffi/hfile.rb,
lib/hts/ffi/kfunc.rb,
lib/hts/bam/header.rb,
lib/hts/vcf/header.rb,
lib/hts/vcf/variant.rb,
lib/hts/bam/alignment.rb,
lib/hts/ffi/constants.rb

Overview

Based on hts-python github.com/quinlan-lab/hts-python

Defined Under Namespace

Modules: FFI Classes: Bam, Error, Fai, Format, Tbx, VCF

Constant Summary collapse

VERSION =
'0.0.2'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.ffi_libObject

Returns the value of attribute ffi_lib.



11
12
13
# File 'lib/htslib.rb', line 11

def ffi_lib
  @ffi_lib
end

Class Method Details

.search_htslib(name = nil) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/htslib.rb', line 13

def search_htslib(name = nil)
  name ||= "libhts.#{::FFI::Platform::LIBSUFFIX}"
  lib_path = if ENV['HTSLIBDIR']
               File.expand_path(name, ENV['HTSLIBDIR'])
             else
               File.expand_path("../vendor/#{name}", __dir__)
             end
  return lib_path if File.exist?(lib_path)

  begin
    require 'pkg-config'
    lib_dir = PKGConfig.variable('htslib', 'libdir')
    lib_path = File.expand_path(name, lib_dir)
  rescue PackageConfig::NotFoundError
    warn "htslib.pc was not found in the pkg-config search path."
  end
  return lib_path if File.exist?(lib_path)

  warn "htslib shared library '#{name}' not found."
end