X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=code_ruby%2Flib%2Fmaasha%2Fseq.rb;h=1d8f3c00594e9208f434251eb23c342413df9506;hb=92dba07b3dd9837ed90212126998a8a1f9e00652;hp=e4b6bfd7c27d5933d0bd9c6b65210bd9a7b32ea0;hpb=b2ea0b5a51a558478af60e9df4c643dd58552086;p=biopieces.git diff --git a/code_ruby/lib/maasha/seq.rb b/code_ruby/lib/maasha/seq.rb index e4b6bfd..1d8f3c0 100644 --- a/code_ruby/lib/maasha/seq.rb +++ b/code_ruby/lib/maasha/seq.rb @@ -30,7 +30,9 @@ require 'narray' autoload :BackTrack, 'maasha/seq/backtrack' autoload :Dynamic, 'maasha/seq/dynamic' autoload :Homopolymer, 'maasha/seq/homopolymer' +autoload :Hamming, 'maasha/seq/hamming' autoload :Levenshtein, 'maasha/seq/levenshtein' +autoload :Ambiguity, 'maasha/seq/ambiguity' # Residue alphabets DNA = %w[a t c g] @@ -384,8 +386,12 @@ class Seq # Method to determine the Hamming Distance between # two Sequence objects (case insensitive). - def hamming_distance(entry) - self.seq.upcase.hamming_distance(entry.seq.upcase) + def hamming_distance(entry, options = nil) + if options and options[:ambiguity] + Hamming.distance(self.seq, entry.seq) + else + self.seq.upcase.hamming_distance(entry.seq.upcase) + end end # Method to determine the Edit Distance between