Sha256: f201def4ff0abf25c42f7dab0d4ba5c5029717b57dda59608947275e3d0c2450
Contents?: true
Size: 1.03 KB
Versions: 13
Compression:
Stored size: 1.03 KB
Contents
#!/usr/bin/env ruby require 'optparse' require 'ostruct' require 'bio-maf' require 'bio-genomic-interval' options = OpenStruct.new options.p = { :threads => 1 } options.passes = 1 OptionParser.new do |opts| opts.banner = "Usage: maf_extract_ranges_count [options] <maf> <index>" opts.separator "" opts.separator "Options:" opts.on("-t", "--threads N", "Parser threads") do |n| options.p[:threads] = n.to_i end opts.on("-p", "--passes N", "Number of passes") do |n| options.passes = n.to_i end end.parse!(ARGV) maf_p = ARGV.shift index_p = ARGV.shift parser = Bio::MAF::Parser.new(maf_p, options.p) index = Bio::MAF::KyotoIndex.open(index_p) def parse_interval(line) src, r_start_s, r_end_s, _ = line.split(nil, 4) r_start = r_start_s.to_i r_end = r_end_s.to_i return Bio::GenomicInterval.zero_based(src, r_start, r_end) end intervals = [] $stdin.each_line { |line| intervals << parse_interval(line) } options.passes.times do blocks = index.find(intervals, parser) puts "TOTAL: #{blocks.count} blocks parsed." end
Version data entries
13 entries across 13 versions & 1 rubygems