22 lines
1,006 B
Text
22 lines
1,006 B
Text
{def DNA CGTAAAAAATTACAACGTCCTTTGGCTATCTCTTAAACTCCTGCTAAATGCTCGTGCTTTCCAATTATGTAAGCGTTCCGAGACGGGGTGGTCGATTCTGAGGACAAAGGTCAAGATGGAGCGCATCGAACGCAATAAGGATCATTTGATGGGACGTTTCGTCGACAAAGTCTTGTTTCGAGAGTAACGGCTACCGTCTTCGATTCTGCTTATAACACTATGTTCTTATGAAATGGATGTTCTGAGTTGGTCAGTCCCAATGTGCGGGGTTTCTTTTAGTACGTCGGGAGTGGTATTATATTTAATTTTTCTATATAGCGATCTGTATTTAAGCAATTCATTTAGGTTATCGCCGCGATGCTCGGTTCGGACCGCCAAGCATCTGGCTCCACTGCTAGTGTCCTAAATTTGAATGGCAAACACAAATAAGATTTAGCAATTCGTGTAGACGACCGGGGACTTGCATGATGGGAGCAGCTTTGTTAAACTACGAACGTAAT}
|
|
-> DNA
|
|
|
|
{def base_count
|
|
{def base_count.r
|
|
{lambda {:dna :b :n :i :count}
|
|
{if {> :i :n}
|
|
then :count
|
|
else {base_count.r :dna :b :n {+ :i 1}
|
|
{if {W.equal? {W.get :i :dna} :b}
|
|
then {+ :count 1}
|
|
else :count}} }}}
|
|
{lambda {:dna :b}
|
|
{base_count.r :dna :b {- {W.length :dna} 1} 0 0} }}
|
|
-> base_count
|
|
|
|
{def S {S.map {base_count {DNA}}} A C G T}}
|
|
-> S
|
|
[A C G T] = (129 97 119 155)
|
|
|
|
A+C+G+T = {+ {S}}
|
|
-> A+C+G+T = 500
|