Class: BioInterchange::Genomics::Locations
- Inherits:
-
Object
- Object
- BioInterchange::Genomics::Locations
- Defined in:
- lib/biointerchange/genomics/locations.rb
Class Method Summary collapse
Class Method Details
.reg2bin(region_begin, region_end) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/biointerchange/genomics/locations.rb', line 5 def self.reg2bin(region_begin, region_end) region_end -= 1 return ((1 << 15) - 1) / 7 + (region_begin >> 14) if (region_begin >> 14 == region_end >> 14) return ((1<<12)-1)/7 + (region_begin >> 17) if (region_begin >> 17 == region_end >> 17) return ((1<<9)-1)/7 + (region_begin >> 20) if (region_begin >> 20 == region_end >> 20) return ((1<<6)-1)/7 + (region_begin >> 23) if (region_begin >> 23 == region_end >> 23) return ((1<<3)-1)/7 + (region_begin >> 26) if (region_begin >> 26 == region_end >> 26) return 0 end |
.reg2bins(region_begin, region_end) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/biointerchange/genomics/locations.rb', line 15 def self.reg2bins(region_begin, region_end) bins = [ 0 ] region_end -= 1 [[26, 1], [23, 9], [20, 73], [17, 585], [14, 4681]].each { |pair| power, offset = pair ((offset + (region_begin >> power))..(offset + (region_end >> power))).each { |k| bins << k } } return bins end |