Sha256: 9224b5e31565e5f0f67e405e035f24769908e82f084a6917774a6196f9052c99

Contents?: true

Size: 959 Bytes

Versions: 13

Compression:

Stored size: 959 Bytes

Contents

#!/usr/bin/env ruby

require 'optparse'
require 'ostruct'

options = OpenStruct.new

op = OptionParser.new do |opts|
  opts.banner = "Usage: random_ranges [options]"
  opts.on("-r", "--range START:END", "range") do |range|
    s, e = range.split(':')
    options.start = s.to_i
    options.end = e.to_i
  end
  opts.on("-l", "--length LEN", "block length") do |len|
    options.length = len.to_i
  end
  opts.on("-n", "--number NUM", "number of blocks") do |num|
    options.num = num.to_i
  end
  opts.on("-s", "--sequence SEQ", "sequence") do |seq|
    options.seq = seq
  end
end.parse!(ARGV)

rand = Random.new
range = options.end - options.start
block_range = range / options.num
block_start_range = block_range - options.length
(0...options.num).each do |n|
  block_offset = rand.rand(block_start_range)
  b_start = options.start + (block_range * n) + block_offset
  b_end = b_start + options.length
  puts "#{options.seq}\t#{b_start}\t#{b_end}\tx"
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
bio-maf-1.0.1-java bin/random_ranges
bio-maf-1.0.1 bin/random_ranges
bio-maf-1.0.0-java bin/random_ranges
bio-maf-1.0.0 bin/random_ranges
bio-maf-0.3.2-java bin/random_ranges
bio-maf-0.3.2 bin/random_ranges
bio-maf-0.3.1 bin/random_ranges
bio-maf-0.3.0-java bin/random_ranges
bio-maf-0.3.0 bin/random_ranges
bio-maf-0.2.0-java bin/random_ranges
bio-maf-0.2.0 bin/random_ranges
bio-maf-0.1.0 bin/random_ranges
bio-maf-0.1.0-java bin/random_ranges