module BioDSL::Homopolymer
Namespace for Homopolymer
Constants
- Homopolymer
Public Instance Methods
each_homopolymer(min = 1) { |hp| ... }
click to toggle source
# File lib/BioDSL/seq/homopolymer.rb, line 35 def each_homopolymer(min = 1) fail HomopolymerError, "Bad min value: #{min}" if min <= 0 list = [] regex = Regexp.new("A{#{min},}|T{#{min},}|G{#{min},}|C{#{min},}|" \ "N{#{min},}") @seq.upcase.scan(regex) do |match| hp = Homopolymer.new(match, match.length, $`.length) if block_given? yield hp else list << hp end end block_given? ? self : list end