src/rosalind/p008.clj @ c025fc91d497

Two more.
author Steve Losh <steve@stevelosh.com>
date Mon, 12 Nov 2012 13:02:38 -0500
parents (none)
children (none)
(ns rosalind.p008
  (:require [clojure.string :as s]))


(def sample "AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA")

(def acid
  {"UUU" \F
   "CUU" \L
   "AUU" \I
   "GUU" \V
   "UUC" \F
   "CUC" \L
   "AUC" \I
   "GUC" \V
   "UUA" \L
   "CUA" \L
   "AUA" \I
   "GUA" \V
   "UUG" \L
   "CUG" \L
   "AUG" \M
   "GUG" \V
   "UCU" \S
   "CCU" \P
   "ACU" \T
   "GCU" \A
   "UCC" \S
   "CCC" \P
   "ACC" \T
   "GCC" \A
   "UCA" \S
   "CCA" \P
   "ACA" \T
   "GCA" \A
   "UCG" \S
   "CCG" \P
   "ACG" \T
   "GCG" \A
   "UAU" \Y
   "CAU" \H
   "AAU" \N
   "GAU" \D
   "UAC" \Y
   "CAC" \H
   "AAC" \N
   "GAC" \D
   "UAA" nil
   "CAA" \Q
   "AAA" \K
   "GAA" \E
   "UAG" nil
   "CAG" \Q
   "AAG" \K
   "GAG" \E
   "UGU" \C
   "CGU" \R
   "AGU" \S
   "GGU" \G
   "UGC" \C
   "CGC" \R
   "AGC" \S
   "GGC" \G
   "UGA" nil
   "CGA" \R
   "AGA" \R
   "GGA" \G
   "UGG" \W
   "CGG" \R
   "AGG" \R
   "GGG" \G})


(defn solve [s]
  (println (->> s
    s/trim
    (partition 3)
    (map s/join)
    (map acid)
    s/join)))

(solve sample)

(solve (slurp "/Users/sjl/Downloads/rosalind_prot.txt"))