src/problems/hamm.lisp @ 2735aa6aab79
The great packaging of 2020
author |
Steve Losh <steve@stevelosh.com> |
date |
Sun, 19 Jan 2020 20:38:29 -0500 |
parents |
11df545d1a41 |
children |
870270771fde |
(defpackage :rosalind/hamm (:use :cl :rosalind :losh :iterate))
(in-package :rosalind/hamm)
(defparameter *input* "GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT")
(defun hamming (sequence1 sequence2 &key (test #'eql))
"Return the Hamming distance between `sequence1` and `sequence2`."
;; todo assert length=?
(let ((result 0))
(map nil (lambda (x y)
(unless (funcall test x y)
(incf result)))
sequence1
sequence2)
result))
(define-problem hamm (data stream)
*input*
"7"
(hamming (read-line data) (read-line data) :test #'char=))