   (:require [clojure.test :refer :all]
             [clojure.java.io :as cio]
             [clojure.string :as cstr]
+            [clojure.walk :as walk]
             [cljam.test-common :refer :all]
             [cljam.io.pileup :as plpio]
             [cljam.io.sequence :as cseq]

  (testing "with-ref"
    (are [?in ?out]
        (= (mapv #(into {:alignment nil} %) ?out)
           (mapv #(into {} %) (#'plpio/parse-bases-col \T ?in)))
      "" []
      "A" [{:start? false, :mapq nil, :base \A, :qual -1, :reverse? false, :end? false, :insertion nil, :deletion nil}]
      "a$" [{:start? false, :mapq nil, :base \A, :qual -1, :reverse? true, :end? true, :insertion nil, :deletion nil}]

(deftest parse-pileup-line
  (testing "without-ref"
    (are [?in ?out]
        (= ?out (rec->map (#'plpio/parse-pileup-line ?in)))
      "chr1\t10\tN\t0\t\t" {:rname "chr1", :pos 10, :ref \N, :count 0,
                            :pile []}
      "chr1\t10\tN\t1\tA\tI" {:rname "chr1", :pos 10, :ref \N, :count 1,
