module Hamming

Public Class Methods

compute(pair) click to toggle source
# File lib/dna_hamming/hamming.rb, line 2
def self.compute(pair)
  set_strand_position_by_length(pair) unless pair.same?
  count_the_distance(pair)
end
count_the_distance(pair) click to toggle source
# File lib/dna_hamming/hamming.rb, line 8
def self.count_the_distance(pair)
  pair.entries.map(&:chars).inject(:zip).select{|a,b| a!=b}.count
end
set_strand_position_by_length(pair) click to toggle source
# File lib/dna_hamming/hamming.rb, line 12
def self.set_strand_position_by_length(pair)
  pair.swap! if pair.inject{|a,b|a.length>b.length}
end