in 'bio/alignment.rb':
###
    def compact!
      #(Array-like)
      d = []
      self.each_pair do |k, s|
        if !s or s.empty?
          d << k
        end
      end
      d.each do |k|
        self.delete(d)
      end
      d.empty? ? nil : d
    end
###
should 'self.delete(d)' be 'self.delete(k)' ?