Cody

# Problem 79. DNA N-Gram Distribution

Solution 1428073

Submitted on 30 Jan 2018 by David Verrelli
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
s = 'AACTGAACG'; n = 3; hifreq_correct = 'AAC'; assert(isequal(nGramFrequency(s,n),hifreq_correct))

uni = 1×6 cell array {'AAC'} {'ACG'} {'ACT'} {'CTG'} {'GAA'} {'TGA'} counts = 2 1 1 1 1 1 hifreq = 'AAC'

2   Pass
s = 'dynamic routing service'; n = 2; hifreq_correct = 'ic'; assert(isequal(nGramFrequency(s,n),hifreq_correct))

uni = 1×21 cell array Columns 1 through 17 {' r'} {' s'} {'am'} {'c '} {'ce'} {'dy'} {'er'} {'g '} {'ic'} {'in'} {'mi'} {'na'} {'ng'} {'ou'} {'ro'} {'rv'} {'se'} Columns 18 through 21 {'ti'} {'ut'} {'vi'} {'yn'} counts = 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 hifreq = 'ic'

3   Pass
s = 'Your veracity is exceeded by your sagacity.'; n = 5; hifreq_correct = 'acity'; assert(isequal(nGramFrequency(s,n),hifreq_correct))

uni = 1×38 cell array Columns 1 through 13 {' by y'} {' exce'} {' is e'} {' saga'} {' vera'} {' your'} {'Your '} {'acity'} {'agaci'} {'by yo'} {'ceede'} {'city '} {'city.'} Columns 14 through 26 {'d by '} {'ded b'} {'ed by'} {'eded '} {'eeded'} {'eraci'} {'excee'} {'gacit'} {'is ex'} {'ity i'} {'our s'} {'our v'} {'r sag'} Columns 27 through 38 {'r ver'} {'racit'} {'s exc'} {'sagac'} {'ty is'} {'ur sa'} {'ur ve'} {'verac'} {'xceed'} {'y is '} {'y you'} {'your '} counts = Columns 1 through 29 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Columns 30 through 38 1 1 1 1 1 1 1 1 1 hifreq = 'acity'

4   Pass
s = 'AGCGAAGGAAGGATCACATTTCTCAGGACAAAGGCATTTCACTAATGGTT'; n = 3; hifreq_correct = 'AGG'; assert(isequal(nGramFrequency(s,n),hifreq_correct))

uni = 1×32 cell array Columns 1 through 16 {'AAA'} {'AAG'} {'AAT'} {'ACA'} {'ACT'} {'AGC'} {'AGG'} {'ATC'} {'ATG'} {'ATT'} {'CAA'} {'CAC'} {'CAG'} {'CAT'} {'CGA'} {'CTA'} Columns 17 through 32 {'CTC'} {'GAA'} {'GAC'} {'GAT'} {'GCA'} {'GCG'} {'GGA'} {'GGC'} {'GGT'} {'GTT'} {'TAA'} {'TCA'} {'TCT'} {'TGG'} {'TTC'} {'TTT'} counts = Columns 1 through 29 1 3 1 2 1 1 4 1 1 2 1 2 1 2 1 1 1 2 1 1 1 1 3 1 1 1 1 3 1 Columns 30 through 32 1 2 2 hifreq = 'AGG'

5   Pass
s = 'In short, in matters vegetable, animal, and mineral, I am the very model of a modern Major-General.'; n = 2; hifreq_correct = 'er'; assert(isequal(nGramFrequency(s,n),hifreq_correct))

uni = 1×69 cell array Columns 1 through 17 {' I'} {' M'} {' a'} {' i'} {' m'} {' o'} {' s'} {' t'} {' v'} {', '} {'-G'} {'Ge'} {'I '} {'In'} {'Ma'} {'a '} {'ab'} Columns 18 through 34 {'aj'} {'al'} {'am'} {'an'} {'at'} {'bl'} {'d '} {'de'} {'e '} {'e,'} {'eg'} {'el'} {'en'} {'er'} {'et'} {'f '} {'ge'} Columns 35 through 51 {'he'} {'ho'} {'im'} {'in'} {'jo'} {'l '} {'l,'} {'l.'} {'le'} {'m '} {'ma'} {'mi'} {'mo'} {'n '} {'nd'} {'ne'} {'ni'} Columns 52 through 68 {'od'} {'of'} {'or'} {'r-'} {'ra'} {'rn'} {'rs'} {'rt'} {'ry'} {'s '} {'sh'} {'t,'} {'ta'} {'te'} {'th'} {'tt'} {'ve'} Column 69 {'y '} counts = Columns 1 through 29 1 1 4 1 4 1 1 1 2 4 1 1 1 1 1 1 1 1 3 1 2 1 1 1 2 1 1 1 1 Columns 30 through 58 1 5 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 2 3 1 2 1 2 1 2 1 2 1 1 Columns 59 through 69 1 1 1 1 1 1 1 1 1 2 1 hifreq = 'er'