Sha256: c92a56683a1a4d7b300f3b9735635bab9be26095c7fb67c2bb58b944b9a977f4

Contents?: true

Size: 577 Bytes

Versions: 396

Compression:

Stored size: 577 Bytes

Contents

(define-module (nucleotide-count)
  #:export (nucleotide-counts dna-count))


(define validate-nucleotide
  (lambda (nucleotide)
    (if (not (string-any nucleotide "ACGT"))
        (error "Invalid nucleotide"))))

(define dna-count
  (lambda (nucleotide strand)
    (validate-nucleotide nucleotide)
    (string-count strand nucleotide)))

(define nucleotide-counts
  (lambda (strand)
    (let* ((counts '((#\A . 0) (#\C . 0) (#\G . 0) (#\T . 0)))
           (bases '(#\A #\C #\G #\T)))
      (map (lambda (c) (assoc-set! counts c (dna-count c strand))) bases)
      counts)))

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.179 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.178 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.177 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.176 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.175 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.174 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.173 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.172 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.171 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.170 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.169 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.167 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.166 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.165 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.164 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.163 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.162 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.161 tracks/scheme/exercises/nucleotide-count/example.scm
trackler-2.2.1.160 tracks/scheme/exercises/nucleotide-count/example.scm