diff options
| author | Luis Mochan <mochan@fis.unam.mx> | 2020-12-09 12:36:23 -0600 |
|---|---|---|
| committer | Luis Mochan <mochan@fis.unam.mx> | 2020-12-09 12:36:23 -0600 |
| commit | da971e8987ceade04a6eecbe59efd44b7e9dffb1 (patch) | |
| tree | 073bb8527dc39be46412e02e739131f1c613cc7b /challenge-090/tyler-wardhaugh/lua/ch-1.lua | |
| parent | b656bc813129c410b0ccd81449a55222a4f8dcc6 (diff) | |
| parent | 931e28a9fe63ad0942cf9f3099191a0e21a978c2 (diff) | |
| download | perlweeklychallenge-club-da971e8987ceade04a6eecbe59efd44b7e9dffb1.tar.gz perlweeklychallenge-club-da971e8987ceade04a6eecbe59efd44b7e9dffb1.tar.bz2 perlweeklychallenge-club-da971e8987ceade04a6eecbe59efd44b7e9dffb1.zip | |
Merge branch 'master' of github.com:manwar/perlweeklychallenge-club
Diffstat (limited to 'challenge-090/tyler-wardhaugh/lua/ch-1.lua')
| -rwxr-xr-x | challenge-090/tyler-wardhaugh/lua/ch-1.lua | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/challenge-090/tyler-wardhaugh/lua/ch-1.lua b/challenge-090/tyler-wardhaugh/lua/ch-1.lua new file mode 100755 index 0000000000..e964ce9f6d --- /dev/null +++ b/challenge-090/tyler-wardhaugh/lua/ch-1.lua @@ -0,0 +1,35 @@ +#!/usr/bin/env lua + +local t1 = {} +local util = require'util' + +t1.DEFAULT_DNA = 'GTAAACCCCTTTTCATTTAGACAGATCGACTCCTTATCCATTCTCAGAGATGTGTTGCTGGTCGCCG' + +function t1.process_dna(dna) + freq = {} + for c in dna:gmatch'.' do + freq[c] = (freq[c] or 0) + 1 + end + + local replacement = {A='T', T='A', C='G', G='C'} + local complement = dna:gsub('(%w)', function (c) return replacement[c] end) + + return freq, complement +end + +function t1.run(args) + local dna = args[1] or t1.DEFAULT_DNA + local freq, complement = t1.process_dna(dna) + + io.write('Counts = { ') + local seq = util.dict_to_seq(freq) + for i, v in ipairs(seq) do + io.write(v[1] .. ': ' .. v[2]) + if i ~= #seq then io.write(', ') end + end + print(' }\n') + + print('Complement: ' .. complement) +end + +return t1 |
