X-Git-Url: https://git.donarmstrong.com/?p=biopieces.git;a=blobdiff_plain;f=code_ruby%2Flib%2Fmaasha%2Fseq.rb;h=e4b6bfd7c27d5933d0bd9c6b65210bd9a7b32ea0;hp=2788e5dcc02d78cdb9e3fd38ef83749bad158b79;hb=b2ea0b5a51a558478af60e9df4c643dd58552086;hpb=9ff3f4f82dedb5ccaa924fe311486bad3ed1248d diff --git a/code_ruby/lib/maasha/seq.rb b/code_ruby/lib/maasha/seq.rb index 2788e5d..e4b6bfd 100644 --- a/code_ruby/lib/maasha/seq.rb +++ b/code_ruby/lib/maasha/seq.rb @@ -27,9 +27,10 @@ require 'maasha/seq/digest' require 'maasha/seq/trim' require 'narray' -autoload :BackTrack, 'maasha/seq/backtrack.rb' -autoload :Dynamic, 'maasha/seq/dynamic.rb' -autoload :Homopolymer, 'maasha/seq/homopolymer.rb' +autoload :BackTrack, 'maasha/seq/backtrack' +autoload :Dynamic, 'maasha/seq/dynamic' +autoload :Homopolymer, 'maasha/seq/homopolymer' +autoload :Levenshtein, 'maasha/seq/levenshtein' # Residue alphabets DNA = %w[a t c g] @@ -68,7 +69,6 @@ TRANS_TAB11 = { "GTG" => "V", "GCG" => "A", "GAG" => "E", "GGG" => "G" } - # Error class for all exceptions to do with Seq. class SeqError < StandardError; end @@ -384,8 +384,14 @@ class Seq # Method to determine the Hamming Distance between # two Sequence objects (case insensitive). - def hamming_distance(seq) - self.seq.upcase.hamming_distance(seq.seq.upcase) + def hamming_distance(entry) + self.seq.upcase.hamming_distance(entry.seq.upcase) + end + + # Method to determine the Edit Distance between + # two Sequence objects (case insensitive). + def edit_distance(entry) + Levenshtein.distance(self.seq, entry.seq) end # Method that generates a random sequence of a given length and type.