require 'maasha/seq/trim'
require 'narray'
-autoload :BackTrack, 'maasha/seq/backtrack.rb'
-autoload :Dynamic, 'maasha/seq/dynamic.rb'
+autoload :BackTrack, 'maasha/seq/backtrack.rb'
+autoload :Dynamic, 'maasha/seq/dynamic.rb'
+autoload :Homopolymer, 'maasha/seq/homopolymer.rb'
# Residue alphabets
DNA = %w[a t c g]
comp
end
- # Method that returns the length of the longest homopolymeric stretch
- # found in a sequence.
- def homopol_max(min = 1)
- return 0 if self.seq.nil? or self.seq.empty?
-
- found = false
-
- self.seq.upcase.scan(/A{#{min},}|T{#{min},}|G{#{min},}|C{#{min},}|N{#{min},}/) do |match|
- found = true
- min = match.size > min ? match.size : min
- end
-
- return 0 unless found
-
- min
- end
-
# Method that returns the percentage of hard masked residues
# or N's in a sequence.
def hard_mask