Sha256: c3e60abb1db6e1c7836b216594fe12b3688f9022833248296ea4a90b5b700f48

Contents?: true

Size: 1.09 KB

Versions: 50

Compression:

Stored size: 1.09 KB

Contents

require File.join(File.expand_path(File.dirname(__FILE__)), '../../..', 'test_helper.rb')
require 'rbbt/util/misc/bgzf'

class TestBgzf < Test::Unit::TestCase
  def test_Bgzf
    content = "1234567890" * 1000000
    TmpFile.with_file(content) do |file|
      compressed = file + '.gz'
      `bgzip #{file} -c > #{compressed}`
      stream = Bgzf.setup File.open(compressed)
      stream.seek 500003
      assert_equal "4567", stream.read(4)
      assert_equal "89", stream.read(2)
    end
  end

  def test_tsv
    require 'rbbt/tsv'
    TmpFile.with_file(datafile_test(:identifiers).read) do |file|
      Misc.benchmark do
        tsv = TSV.open(Open.open(file))
      end
      compressed = file + '.bgz'

      `bgzip #{file} -c > #{compressed}`
      stream = Bgzf.setup File.open(compressed)
      Misc.benchmark do
        tsv = TSV.open(stream)
      end

      `gzip #{file}`
      stream = Open.open(file + '.gz')
      Misc.benchmark do
        tsv = TSV.open(stream)
      end
    end
  end

  def test_bgzip
    assert File.exists?(Bgzf.bgzip_cmd)
    assert 'bgzip', File.basename(Bgzf.bgzip_cmd)
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
rbbt-util-5.20.26 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.25 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.24 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.23 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.22 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.21 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.20 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.18 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.17 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.16 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.15 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.14 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.13 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.12 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.11 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.10 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.9 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.8 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.7 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.20.6 test/rbbt/util/misc/test_bgzf.rb