Method: Ensembl::Core::Slice#split
- Defined in:
- lib/bio-ensembl/core/slice.rb
#split(max_size = 100000, overlap = 0) ⇒ Array<Slice>
Creates overlapping subslices for a given Slice.
386 387 388 389 390 391 392 393 394 395 |
# File 'lib/bio-ensembl/core/slice.rb', line 386 def split(max_size = 100000, overlap = 0) sub_slices = Array.new i = 0 self.start.step(self.length, max_size - overlap - 1) do |i| sub_slices.push(self.sub_slice(i, i + max_size - 1)) end i -= (overlap + 1) sub_slices.push(self.sub_slice(i + max_size)) return sub_slices end |