Cache Uniprot results on the filesystem
This will make only the first `(run-tests)` on a given computer take forever,
instead of the first `(run-tests)` of a given Lisp session.  It will also
hopefully make the Uniprot folks not hate me.
    
        | author | Steve Losh <steve@stevelosh.com> | 
    
        | date | Fri, 24 Jan 2020 23:05:16 -0500 | 
    
        | parents | 8f6ef53eac55 | 
    
        | children | 86d92162dc1f | 
(defpackage :rosalind/utils
  (:nicknames :u)
  (:use :cl :iterate :losh)
  (:import-from :alexandria
    :curry :rcurry :compose
    :ensure-gethash
    :with-gensyms :once-only :symbolicate)
  (:export
    :curry :rcurry :compose
    :ensure-gethash
    :with-gensyms :once-only :symbolicate
    :define-problem :solve
    :factorial
    :permutations
    :dna-complement :reverse-complement :nreverse-complement
    :transcribe :ntranscribe
    :translate
    :gcp :base-probability :sequence-probability
    :mapcount
    :hamming
    :string-empty-p
    :first-char
    :Σ :Π :binomial-coefficient
    :returning-final :summing* :multiplying*
    :read-lines
    :read-fasta
    :read-fasta-into-hash-table
    :read-fasta-into-alist
    :buffering
    :uniprot
    :float-string
    :run-tests :solve))
(defpackage :rosalind
  (:import-from :rosalind/utils :run-tests :define-problem :solve)
  (:export :run-tests :define-problem :solve))