                   regs)
         allele-seqs (map #(concat (cstr/reverse %) ref-seqs) alleles)
         matched-length (->> allele-seqs
-                            (apply map char-equals-ignore-case)
+                            (apply map char-equals-ignore-case?)
                             (take-while true?)
                             count
                             long

  [{:keys [ref alt] :as v}]
  (let [alleles (cons ref alt)
        n-trim-left (->> alleles
                         (map cstr/upper-case)
                         (apply map =)
                         (take-while true?)
                         count)
        min-len (long (apply min (map count alleles)))

           :start (Math/max 1 (- e (dec window))),
           :end (dec e)}))))

(defn- char-equals-ignore-case?
  ([_]
   true)
  ([x y]
   (= (Character/toUpperCase ^char x)
      (Character/toUpperCase ^char y)))
  ([x y & z]
   (and (char-equals-ignore-case? x y)
        (apply char-equals-ignore-case? y z))))

(defn- trim-right
  "Trims all duplicated allele sequences from right. If reached the start,
