Module: Hamming

Defined in:
lib/dna_hamming/hamming.rb

Class Method Summary collapse

Class Method Details

.compute(pair) ⇒ Object



2
3
4
5
# 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) ⇒ Object



8
9
10
# 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) ⇒ Object



12
13
14
# 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