Sha256: dc398c938be5272d9a966478bf66d413efbf40d8d65e1eb0c7f5170f3bd37502

Contents?: true

Size: 760 Bytes

Versions: 66

Compression:

Stored size: 760 Bytes

Contents

module NucleotideCount exposing (nucleotideCounts, version)

import String


version : Int
version =
    2


type alias NucleotideCounts =
    { a : Int
    , t : Int
    , c : Int
    , g : Int
    }


init : NucleotideCounts
init =
    { a = 0
    , t = 0
    , c = 0
    , g = 0
    }


update : Char -> NucleotideCounts -> NucleotideCounts
update char counts =
    case char of
        'A' ->
            { counts | a = counts.a + 1 }

        'T' ->
            { counts | t = counts.t + 1 }

        'C' ->
            { counts | c = counts.c + 1 }

        'G' ->
            { counts | g = counts.g + 1 }

        _ ->
            counts


nucleotideCounts : String -> NucleotideCounts
nucleotideCounts sequence =
    String.foldl update init sequence

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.158 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.157 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.156 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.155 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.154 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.153 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.152 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.151 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.150 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.149 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.148 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.147 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.146 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.145 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.144 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.143 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.142 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.141 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
trackler-2.2.1.140 tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm