From 225768b736e0560cbbceb0b24eeaf922efcbdbd1 Mon Sep 17 00:00:00 2001 From: Jeremy Voorhis Date: Sun, 11 Nov 2012 20:14:32 -0800 Subject: [PATCH] Added solution for CONS --- data/rosalind_cons.txt | 10 ++++++++++ src/cons.rb | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 data/rosalind_cons.txt create mode 100644 src/cons.rb diff --git a/data/rosalind_cons.txt b/data/rosalind_cons.txt new file mode 100644 index 0000000..a31b997 --- /dev/null +++ b/data/rosalind_cons.txt @@ -0,0 +1,10 @@ +CTATGCGTTTAGACTGATCAGTACGCCTTTCATCACCTGTCTGACACTCTAGTTAGTTGCCTAAGACGAGACTGTTACGGGCAGCCAGGGTCAGTTGACCTGAGTTGCATCGAGAGTTACACTCATCTAAGGTAACACCTTCATAGTAAGCGTATAATGTAGCGTCCATTTGTAGACGAACATAGTTGAGTAACTACTATTGGCAAAGACACGAAGTCAAGAATACTGTACAAAGTAGTGAGTTACGTAGGTAAACAGCTTATCGACCAAGCGTGTACAATGTGTTAAGGGACGGTCCCTCACTGTTGGCAGATAGATTGTTTTAGAGCATATTCTACTGGCTGGACAGAAGGGGTAGTGCTCACAAATGGAGAAGTCGTCCCCGCGATAAGAGGTAAGCACGGCTCAAAGAATTTGCCGTAACTAGATCGTCTCTGGCTCATTTCTGCGCCCGGAGGCCTAGCAGTGGGTCTACATGTAAGCTACCCACTGTAGAATTTTTGAAACGTGGTTGATGGCCCGGACTCTCCTAGGAACCGTTGCGATCCGACTCTTCCTCGTCCGCCAAATCTAGTTATAAAAGTCAGCAGGTCAGATATTACGGTATATCAACAGCCGTTGCGAAAAGAAGCATCTCAGAGAGATCAACCCGAATGAGTATTGTTCCCCGCAACACTGGCAGAGCACCCAATTATCACGGGGTACTCGCTTCTATTAGTCCAATAGTGAGCTGCCTTTATTAGAGCTCAGGTCCCTGACAGTAGGCCAATGGCAGGAGAGAAACCCCCTCGTGGGAGCGAGCTAGTTAGGGCGCTGTGCATGTTAGGATATGTGCACGCTGAGATATCCTTCAAGGTATGCCAACTTCGCCGAGAAATGGCGCTCTGTATCTTCGAACCATTCTCAGGACCGCGGCTATTGGCGATGGCAACGACCAAGATTGTGGTCCTGATTGAACCCGGTCCCCCGGTCATGTG +CTGGGCCATCTCTGCCGCCGAACGTATACGGATCGTCCTAGATAGATCTCAAGATGATGTAATTCATGGGAGTTCCAAAGATGGACCACTGATGATGGCTCTCTGGGCTTACCGGGCCTTTCTTTCGGCGACGATTCTCTCTACGGAGCAATTACTGTTCTATCGTGTGGGCTCTTCAGAAGTAGGCGGGAAAGTCCTAAACCCAGACTTGACCACTATGGCCCTGGCCCGGATGAAGAACTGGGGGTCACTCTGACAGCGTGATATTTATCCGTTAGTGACCATTTCGACACTACGTCCGAGCAGTAAGATCGCGAGACAACCTACGTCTTTCCAGAGGGTTCAAGGGGCCTAGTCAGCATCCAGTTCTTCGCAGACTCTACTATAGGCGTTAAGTCTCGGCAGCACACCTGTCCCCGCATTGTGTGCAACGCAATAACAGAGTAGCAAACCGACACTGAGCTAAGGAGAGCTCACTCCAGACTCCCCGATAAAGTAGCGTGCTGGACTTTATCTTTGAGACTCTCTCTTTGTGCCTCTCGGGCGGAGGTTTATGTACCATGTTAGAGGCAGACCGAAACATCAAATGGGCCGCCTGCAATCTGGAAAGACCTTCAGCTGATCCCCGGCACGGTTTGATATCATTGTGCAGTAGCTGTGGTCCCGCCAAACGAATTTAGCTAATCAGCCATTAAAACCTAGACGGGGGGGAAGGTTAGGCGAAAAGGGTATGAAAGAGCTAGAGGCGCTATCGGTCGCACGAACAGTAAGGTCCCAGCGGCTAATAGGTGGGCCTCTAAGCGTCGCGCCCCACTTCATCTCGCAATCGACTTCGAATTGTAAACTCCGAGTTCCTCGCGTGTAAGCGAAAAGAGGGACTTCACCCAGATGGTCCGACATTCAACGGGCGTGGATGAGACGCAGGTAGGGTTGAAAAGGAGCTACGAGTCCAGCTCCAGGCGCCCCGAACGTATCCC +TAAACATATAAGTATTGGTTAAAGTTGCATGTGCCATGAGAGTATGAGTTATTGATCGCTGCTGTTCGTGGTATTGTCAAGCCCAACATGATCGGCCGTCCCAGCGAGCCTGCATGTAGGGGGTGGATTCCGCACAACAACCCCAATAGGTAACGTTAGTGAAGTTATTGGGGTAGTTTTACAGGGGCAAGAAACGACATTACGGGTAGTAGTCGTGCAGATTGTGTGTCAACTAAGAAAGGTCCCGCGTAAACTACCTGATCGCTACCACTCTTACACCCACGCCCTCGCATGTTAGGACGAAGCCCTAATTTAGCGATTCGTGGCAGGCGGCAGCTCTTCTTTTTTTGTCCTCTCTGGTTATAGCGCAGCTATTACAGCCTGGACCGTTACCATGTCCCCCCTGGGGTTGGGCGGAGGCGGGGAATAAGGATGTCCCGGCATCAGTAAATCCTGGAACGTGTGGAAACTGCCATCGCCTACCAACTCGGGATAGAAATCATTAGCTTCTACGATGGCATACGGACCATGGGACAGGCCATCACTTAACGGAAGTCAAGAACCACGAGAATCTGGTAAGCCACAGCGGGCGCGTGTAACCCAGAAAAACTATCAAAGGGAGGTGCTAAAAAACCGGGCAGAAGGATACGCCTCGAGTTTTCCTTGCACCAGTAGTATCCGCCCAGTTTATCCACGGGAGGAGATCGCTTGTCCAAATTAAGGACCCTTCTTAATACAGGCATTTTTAGAACGGATTGCAAGCAAGTCCTCCTCACGCATTGTCCTACACGCAAAGATCAAACGAACGCGTGGTTTCGGGGCTTAACCCGGAGTTCCCATAGCCGGAACCATGTCGAGCATCATGGTGATCCCGAATCTTCATAGGGCTAAGGCAAGTTCTAAGAGGAGAACTAACCTTGCCATACAGCATCACCACCGTGCCTAAGCGGCGGTTGGCTGTGGTTTCTTTTTTGCTG +CCGCTGTCACGAGCCAGATCCACTACAAAATATCCTACTTCGCCCCACGTCAGGGCTATATGCTCCAAAACCGGGCAATAGTGTACAACATGAGTCGTAGTGCACCGCGAAGCTTCAGACATAGCTAAGTGGAAGACTCCAGATTGGTACGGGAAACGGCTAATTTAGGGATAGTAGCCAGGCAGCCGGCATGACCTGTCTTATTCTTCTCAGCCGGCCTCACGTTCTGTACGCATCACCTCATCGATAACGAATTCGCCATGTATAGGACTTGGGCCATGCGTATGGCATGCAAGTGAACGCCCCCTACAGGCGCATCGGTTATATGTAGACTGCGATGAGGGTGCCTTAGTTGCAGTCGAGTCCATCGTGGCACGGTGCCTTGAGAAACGCACGGTCAGTGAATGGTAAGAAGCTGCCATTTATCCGTTCAGCCGCTAGCCGAACCCACAGTCCCGATAATGTGGATGGTCGGCACAGGGGAAACCGCAGTGATTATTAACGACACGCATCACAGTAACAAAAGGTATGTGTGTAACCCGGTTTATGTAATTAGCTCTGTGCTGCTTACCCCGTGGATAATATCCCAGAAACGCAATGTGCTCACTATTCTCTTACTTTACAAGCATCGAGGATATGGATTGTCCATGGCCCCAAGCCCCAACCTCCCGTTGGGAGCAAAATAATGATTGGTCTGAAAAATGTAGTGATCCTAGTATGAACTAACTTGGCATGAGCCAGTCGCAGCCGACCACACCCGAAGGCGGCTATCCTCCCTTTCTCTACGCACAAGAGATAGAGTGCACATTCGAAGGGAAGATCAAATTTGAGATGAGGAGTGTTCGAGGTGACGGAGGCCCCGCTTAGAAAGCGGTGGCTTCCCACGATCAGGGACTAAGAATTATCCTTGACACTGCGGTACTTGGGCCGTGCCGACCGATTCTAACGTTAAATGCCTTAATGGCGTCTGTGCTCGC +ACAACTTTGGATTGTAACGACAGAAGTTCACTGCTAAAGGTATGATCCTACTTAAGATCGACAAATGGAACGGGGGCTAACCGACTTCATAACACAATGATCCGACAGCGCGAGTTACCTCCTGTGATCTTCTTGTACTTATAAGGGAGACTACGGAGTTCTGTGCTAAGTCCACTAGAAGACCTGGCGTAACGCATCTGAGGTAACCCTTAAACCTTAGCGCAGCCTCTCGGTCAACGGATACTGGGCAACTCGGATCGTCCTGTGAACGCAAGCCTATCATTCTCTCCTCATAATCAGAAAATTATGAGGGTCGCTTGCTGTTGAGCTTGCGGGCAGGCTCACTAACCCTTGACTCAACTGCCGCTTCCCCTGCTTAAACATTTAGAACCACACAACACAATCTGATAAGGTTAACTCCGCACTGACTACCGAGAGTTAACAGTGTGAGAGCACATACGGCACTGGATGTCGCTCTATTAAGCTTTCTCTCTCAACCAGCGGATTCACAGCCGCGTACGTACCAAACGGGATTGTTGTCGAATACTAGCGCTTTAGTAATCGGCTGGACAAAGTTGCTAGAGACGCAATGCCAGATCACTTGATGGACCATATAGCGGTGAGGGGTCTAGACGATAATGACCGATTCCTCGGCGGGACACCGGTGGTACAATCACGCGAAACGTCACGGCACCCTGGTGGTTCATGGGCTAAGGGTGTGTGGAACATACAGGCTCTACCGCTACAGGAGGCCGACACAACTGTCCGGTAAGGTGTCTGCTACCCGATCAGTGCGATAGTATACACACATAATACGTGTTCGAAACGACGCACCACAGAAACCCGCATTCACCGGCCACGATCTGAGACCCTCCAGTTGAGGATGCCGCGCCCTGCTACTATGGGACTGTAACGATTTCGCTGGAGGTGACTTGGACGCCGGGGTTACGACACAGTTACACACAACTTGGCAACTT +AAGGAACTTTCGCAATGTTGGTCTAACTGGCCACCCGGGTATAATACACAGCCTTCTCAGGTAAGGATCGGGACCAGAATGCTCTTGGTAACCGATCTTCCCGCTACATTTTTCTGGTACGGCGGTGCCTTTTCCCAGATCCACACTGCGGAGGGAGTTCGTAGTGTACGAAGCATATGCAGTTATGAGCTACCGTGCCCTACTCAATATGTGGCCCTGTCTCTCTGAAAGTGCAGCGCGTCAGAGAGCGACTAGTGTTCTCTCGGAGGGTTCGATAAAAAACCAGGCCACGTCCGCTGCATATTACGGCCCCAAGTTACTGCCGAGTTCAGCGACCAGGTTTTAGTGGCTGACGGCCCATAAGGGTCCCGGGTTCCTTACTAACATTTACCTCGGTCCCGTCTTGCGCCTACCGACGGAGTTGTGCCCTTGTGGGCGGTTAGGGTTGATCATGCTATCCTTCTTTAAAAAATGGACAAAAGAAGGATGCGACCCAAGACGTTGGTCCGCATAGTTTCCGGTGTGCACAGGTCCGACCAGGGCATTGATCCGTCCGGCCAATCCAGATGACATTACGCGTCGTATACCACACGCCTGGCCGGCCGAGCTAAAACAGAACCCCAGTTGATGTAAATCCTAGCGCCAGTGAGTATTGAGAGTATATGTAAATCCGACCTGGGGGACGGTTTCGATCTCTAAAGATGGCAAGCAGCTGCTACCCCTTGTGGTGAATTTCCTGGGACCGGAAATGTCGGCCAACTAGGGCGATGCCGGAACGGGCGCGGGCACCAGCGCTAACTCAGACTTAATAGCGGAATTTTCCAGATCTAATATTGACGCCCATCCGCGTCTAACTGGCTGAAGCAATTGATCCCGTCTCGTTGTCGACAGCCTCTGGCCCTCCCTACTCCTCAAAATGGGATTCCTATTCGACCTAAACTAGGGGTATAGCAACAGAAGGGTGTTCGTCGAGTTTG +TGTTGTCCCCTTGTTTACATCCAGTAGTTCAGCACCCGAGCGCGTTACATGCAAGAACCGTCAGGCTGCCCTCTATAGTCTGGCGTACCCTTAAGAGGTCTCTTGAGGAAGTATTCTCTACTGGATAGAGGCACATAAACTCTTGGATAGCACGCACCGACAGAGGGACCCGACACTCGTCCTCCCGCTGATTCGGCTTTCCTAGACCTTCTATAATATTAATCCCCTGTTAGCTGCGGGGTGAGTCACAACCGTGGAGGGGTACAACGCGAACCTCCGTATACTCTGGGTCTGTCGTAGTCTCCTGCACGATTTAAATTTATGCCCTATATACGAGCAATGGGCTGGCTATGCCTCTGACACAGATACTCCTACACTCCTTCGACACATCGACAATCGACGGTCCTCTGAGGCGAGTAACTTCAAAGTATAGGAGTCAACTGAGGCCTCAGATGACTTGATAATTATCCAGATGGCTGATTATAAATTGACGCCCGTGGCTTCCAGTAGTATCCAGCCAACCTTGACAACGTGGCTGCAACTATTTTAAAAGTAGCTGGTTAGCACGTTCTCACTTCTACCCTTTTATTTGCCATCAGGATCTGGGACTTACATTGCAGTGCAGTATCCCAGTATTGCATTCACCTGTTGAATGCCTAATTCGGCGGTGTAGACCAACACGTTTCAGCACTCACCGGTTCGGTGCGGTGGAAACATGGAAGTCCACGACCAAGTGCAAGTCTCATTTAATGATTGTAAGAAAAATCCCTAATAGGCAACCAAAAGCTGGTTGCCTGATGCGTAGTAACCTAGACTCAGATAATAGGTCGATTACGGCGGAGTTACCGTCACCACATCGGTCACCCGTTTAGGGCCTCCTAGCGTACGTGTTCATTTACTCACTGGGCAACTCAATCCCCCTTCATCGTGGCTGTTTATTGGTTGCTGTGGGCTGTTCACAATACGTCATGTTCGAT +GTTCATGGTTTACTAAATGTGGTTATGTCGATCGTTATCCGGTTGCTGTCGTGATCAAATTCAGTCTCCGACGGCATAACCTATATACTTCATTGCGAGAACACTTGCAGGACGAGAGATTGTATAAACATCAGTAGACTGCTACGGCGCATTTACGATTCTGAGTGCCGCATTAGACGTGGCTGCGACAAAAATACTGTAGAGCACCGAAATACAGATAGTATGGGCTTACAATCGATCTTGGTGGTGCAGGAAGGCAGTCGATCGAATCGACCCTCAATATAAGTTGCCTGTATAGGCCGCCTCACATAAGGGAACTTGAAAGTATGTGGCGTTGGATTTTTACGAGTGCATGACTTTCCTCCCAGACGAAGCGTAGCTGGATAGACCTCCTGTTGGAAGAGGGAAGAGAATATAAGACACTTAGTGCGGTATAGAAACGGGCCGTAACATGCTCCGGGATTGGCAGGCTAACCATGGAAAGAGTGCGCCTGGCAACAAGGACATTACGTGTTACGTTCTATCGAGCAAATTACACGTTTCTGCGTTCGTTAAATTAATACGTCGTACTACTGACGACACCTTAGCTGCTGGAAGAGCTCGAGAAGCCCATAAAAGTCATACGAAAGAAGATATCCTAGGTCAGAGAACCTTCAGAGTCATAGGTAGGCCGGAGTTAACGGCTTGTAGCGTGGAGAACTTAAAGGCTCTGCTAGGGATCCTTAATGTAGGTGGAATGCGGAGCATAGTCGACTTACAAGTTGTTTTGGGCTCGTAATGAGTGGCAAGGAGGCGCGTACCCATTAGTATTACTGTTCCTCGCCCCTCCTGTAATGTTCACCATCAATCAACATGTCCAGTATCCAAATACATTCGCGCTTGGGCCACACGCGTCTAGCCCAACAAATACGCTAGGCCGGCCCCTTCCGGCCCCGAATTTTACGCCCAATAGCCCGCCGGATTTTTCAGTACAGACT +GAAGTGATACGATCCAACTCATTACTTCAGGAGAAAGTCTTCAGAGCCGATACGCTCCATGAAGCGAAATGTAGGAATATACCTTCTGCTGTCTCTTTGATTACCAACTATCGCCTCGGAATATTCGTCCTGGTTGGTACAGGGTTTTCATGCCGTGGAGACTAATACAGACGCGCGCTCGGTAGCCGTGAGGCTACCGCATGTAGGTAATGCACCACTTGCCTATGCACGGACCCGTAAGCATAGGCAGATTTACAGGTTCACCTGACTGTACCACTACTAAGTAAAAATGGGTAACGCTACAGTCTTGCTGTGTCAATATCAGTGAACTAATGTATTCACTTATCCTCGTCGGAGTATCGGCCGCTCGGCATGAATTGTCGGTACACGTGACTTATACATTCCTTCGCTACGGGACTAGTTCTCCCCAATTTCAGACGACTCACACGCCACTAACAGAGCTGGATGTGAGACTCGCAACGGGTTCCCCTCCAAATGGGCATACTGTATCATTCCTTGTTCCACCTTCGCTGTGATCTGTCGGGGGACACTGACGAGCCCAACACCGACAATCCGGCTGCGAGTTCGATCGGACTTGCCTAGTTGCTGAATAAGCTTACTAAGCTATGCATCTTGTACAAGGTAACATCAACTGGCACCCGGTGCGAGTTAACATGCGTACCCAATCGCAGCTGTACTAATCTATCCCCGAGAACCATTCTCAAGCATCTAGCGCAGAACAATAAAGATACCCACTGAGTATCATTCGGATCTCGTTGCCGGCGAGATAGCATTACTGGCCCCACATATGTATCGCACTTATCATTTTGACACGCAATAGGAACCGACGCGGGCACGAGACGTCAGATCCGGCTCGTAGCCCTGGTTTTCACCGCTTTTATTACTGCGGCGCGACACGCGCACGTAACATTTCGATGGGATTCATACGGCATAAGATTTCACTTTACCAAGGAGTA +TTGACAGGGGGCAAGGAACTTCCCGGACCAGTATACCCTTTCCTCATTCCTGAAGGCGATCAGCCTGATCGCCATGCAACTTGAACGAGGGCCTCGTCGGATAACCAATTCAGCCGCGCAAAGATCACCTAAATCGTTATGCCCGGAGAGCACACTCAGCACGGGTTGTATGGTTACCGGTATGCTACGACTGAGCACGGGTGGCCTGACCTTTAAGCAGACGAATGTTACAGTGGGTAACTACTATCGCAGTGAGAGGTGCAGTGGGACGGCGACAAAAGTACGTCACTCCATAAACCCAAACTTCACCAAAGGCCAGGTAGCATCGCACCAAGGTATTCTTTTCCGCCATCGATGTTGTTCCTTTGACCATAAATCGTGTTTTCAGCGCGCGTGGGCATTCCAGAAGCATGTGGTGTGTCCATGAGATCCGCTTGCGTCATTACGGCTGAGTTCGAGACCGGTTATTTCATTGCGGTTCGAATTCATTAATTAATCCCCAATATTTCTCTAAGGGAGGAGGTTATCAACTAATCTCATTAAATCTGTACTTATGATCAGTGCAGGTTTGCCGCATTACTACTTGCAGTGATCAATGAAGCATAATGTTGGACCAATTCATCGGGACAGGTGTAACTTACATCTTGCGCCACATCCTACCGCTTCCACCGTGGGTTGGTACTGTCGCCCCCCTCTGTCGGTCGAGCAGTAGAGCGACGCATAGATTGCGGCGCGTCTCATGGTCCGGTCAACCTTAATTTTGACTGGGGCGGCGGATTACCATCATAGGGAGGTCAGTCTGGCTTATCCAAAGCTGGTGCTTGGGTTTTCTTACTTCACGAGAGGCAGAGGGCAAGAGTGTATGATCATTCACGTTGTTAAAAGACAGATCCGGTTGAGTGGTTATAGTCAAACCAACACTGAACGCCGAATGAGGGTGCCGGTCTGAGACCTCATGTCAAAGTGTAACAGTTTTC \ No newline at end of file diff --git a/src/cons.rb b/src/cons.rb new file mode 100644 index 0000000..f52ff47 --- /dev/null +++ b/src/cons.rb @@ -0,0 +1,40 @@ +mat = %w( +CTATGCGTTTAGACTGATCAGTACGCCTTTCATCACCTGTCTGACACTCTAGTTAGTTGCCTAAGACGAGACTGTTACGGGCAGCCAGGGTCAGTTGACCTGAGTTGCATCGAGAGTTACACTCATCTAAGGTAACACCTTCATAGTAAGCGTATAATGTAGCGTCCATTTGTAGACGAACATAGTTGAGTAACTACTATTGGCAAAGACACGAAGTCAAGAATACTGTACAAAGTAGTGAGTTACGTAGGTAAACAGCTTATCGACCAAGCGTGTACAATGTGTTAAGGGACGGTCCCTCACTGTTGGCAGATAGATTGTTTTAGAGCATATTCTACTGGCTGGACAGAAGGGGTAGTGCTCACAAATGGAGAAGTCGTCCCCGCGATAAGAGGTAAGCACGGCTCAAAGAATTTGCCGTAACTAGATCGTCTCTGGCTCATTTCTGCGCCCGGAGGCCTAGCAGTGGGTCTACATGTAAGCTACCCACTGTAGAATTTTTGAAACGTGGTTGATGGCCCGGACTCTCCTAGGAACCGTTGCGATCCGACTCTTCCTCGTCCGCCAAATCTAGTTATAAAAGTCAGCAGGTCAGATATTACGGTATATCAACAGCCGTTGCGAAAAGAAGCATCTCAGAGAGATCAACCCGAATGAGTATTGTTCCCCGCAACACTGGCAGAGCACCCAATTATCACGGGGTACTCGCTTCTATTAGTCCAATAGTGAGCTGCCTTTATTAGAGCTCAGGTCCCTGACAGTAGGCCAATGGCAGGAGAGAAACCCCCTCGTGGGAGCGAGCTAGTTAGGGCGCTGTGCATGTTAGGATATGTGCACGCTGAGATATCCTTCAAGGTATGCCAACTTCGCCGAGAAATGGCGCTCTGTATCTTCGAACCATTCTCAGGACCGCGGCTATTGGCGATGGCAACGACCAAGATTGTGGTCCTGATTGAACCCGGTCCCCCGGTCATGTG +CTGGGCCATCTCTGCCGCCGAACGTATACGGATCGTCCTAGATAGATCTCAAGATGATGTAATTCATGGGAGTTCCAAAGATGGACCACTGATGATGGCTCTCTGGGCTTACCGGGCCTTTCTTTCGGCGACGATTCTCTCTACGGAGCAATTACTGTTCTATCGTGTGGGCTCTTCAGAAGTAGGCGGGAAAGTCCTAAACCCAGACTTGACCACTATGGCCCTGGCCCGGATGAAGAACTGGGGGTCACTCTGACAGCGTGATATTTATCCGTTAGTGACCATTTCGACACTACGTCCGAGCAGTAAGATCGCGAGACAACCTACGTCTTTCCAGAGGGTTCAAGGGGCCTAGTCAGCATCCAGTTCTTCGCAGACTCTACTATAGGCGTTAAGTCTCGGCAGCACACCTGTCCCCGCATTGTGTGCAACGCAATAACAGAGTAGCAAACCGACACTGAGCTAAGGAGAGCTCACTCCAGACTCCCCGATAAAGTAGCGTGCTGGACTTTATCTTTGAGACTCTCTCTTTGTGCCTCTCGGGCGGAGGTTTATGTACCATGTTAGAGGCAGACCGAAACATCAAATGGGCCGCCTGCAATCTGGAAAGACCTTCAGCTGATCCCCGGCACGGTTTGATATCATTGTGCAGTAGCTGTGGTCCCGCCAAACGAATTTAGCTAATCAGCCATTAAAACCTAGACGGGGGGGAAGGTTAGGCGAAAAGGGTATGAAAGAGCTAGAGGCGCTATCGGTCGCACGAACAGTAAGGTCCCAGCGGCTAATAGGTGGGCCTCTAAGCGTCGCGCCCCACTTCATCTCGCAATCGACTTCGAATTGTAAACTCCGAGTTCCTCGCGTGTAAGCGAAAAGAGGGACTTCACCCAGATGGTCCGACATTCAACGGGCGTGGATGAGACGCAGGTAGGGTTGAAAAGGAGCTACGAGTCCAGCTCCAGGCGCCCCGAACGTATCCC +TAAACATATAAGTATTGGTTAAAGTTGCATGTGCCATGAGAGTATGAGTTATTGATCGCTGCTGTTCGTGGTATTGTCAAGCCCAACATGATCGGCCGTCCCAGCGAGCCTGCATGTAGGGGGTGGATTCCGCACAACAACCCCAATAGGTAACGTTAGTGAAGTTATTGGGGTAGTTTTACAGGGGCAAGAAACGACATTACGGGTAGTAGTCGTGCAGATTGTGTGTCAACTAAGAAAGGTCCCGCGTAAACTACCTGATCGCTACCACTCTTACACCCACGCCCTCGCATGTTAGGACGAAGCCCTAATTTAGCGATTCGTGGCAGGCGGCAGCTCTTCTTTTTTTGTCCTCTCTGGTTATAGCGCAGCTATTACAGCCTGGACCGTTACCATGTCCCCCCTGGGGTTGGGCGGAGGCGGGGAATAAGGATGTCCCGGCATCAGTAAATCCTGGAACGTGTGGAAACTGCCATCGCCTACCAACTCGGGATAGAAATCATTAGCTTCTACGATGGCATACGGACCATGGGACAGGCCATCACTTAACGGAAGTCAAGAACCACGAGAATCTGGTAAGCCACAGCGGGCGCGTGTAACCCAGAAAAACTATCAAAGGGAGGTGCTAAAAAACCGGGCAGAAGGATACGCCTCGAGTTTTCCTTGCACCAGTAGTATCCGCCCAGTTTATCCACGGGAGGAGATCGCTTGTCCAAATTAAGGACCCTTCTTAATACAGGCATTTTTAGAACGGATTGCAAGCAAGTCCTCCTCACGCATTGTCCTACACGCAAAGATCAAACGAACGCGTGGTTTCGGGGCTTAACCCGGAGTTCCCATAGCCGGAACCATGTCGAGCATCATGGTGATCCCGAATCTTCATAGGGCTAAGGCAAGTTCTAAGAGGAGAACTAACCTTGCCATACAGCATCACCACCGTGCCTAAGCGGCGGTTGGCTGTGGTTTCTTTTTTGCTG +CCGCTGTCACGAGCCAGATCCACTACAAAATATCCTACTTCGCCCCACGTCAGGGCTATATGCTCCAAAACCGGGCAATAGTGTACAACATGAGTCGTAGTGCACCGCGAAGCTTCAGACATAGCTAAGTGGAAGACTCCAGATTGGTACGGGAAACGGCTAATTTAGGGATAGTAGCCAGGCAGCCGGCATGACCTGTCTTATTCTTCTCAGCCGGCCTCACGTTCTGTACGCATCACCTCATCGATAACGAATTCGCCATGTATAGGACTTGGGCCATGCGTATGGCATGCAAGTGAACGCCCCCTACAGGCGCATCGGTTATATGTAGACTGCGATGAGGGTGCCTTAGTTGCAGTCGAGTCCATCGTGGCACGGTGCCTTGAGAAACGCACGGTCAGTGAATGGTAAGAAGCTGCCATTTATCCGTTCAGCCGCTAGCCGAACCCACAGTCCCGATAATGTGGATGGTCGGCACAGGGGAAACCGCAGTGATTATTAACGACACGCATCACAGTAACAAAAGGTATGTGTGTAACCCGGTTTATGTAATTAGCTCTGTGCTGCTTACCCCGTGGATAATATCCCAGAAACGCAATGTGCTCACTATTCTCTTACTTTACAAGCATCGAGGATATGGATTGTCCATGGCCCCAAGCCCCAACCTCCCGTTGGGAGCAAAATAATGATTGGTCTGAAAAATGTAGTGATCCTAGTATGAACTAACTTGGCATGAGCCAGTCGCAGCCGACCACACCCGAAGGCGGCTATCCTCCCTTTCTCTACGCACAAGAGATAGAGTGCACATTCGAAGGGAAGATCAAATTTGAGATGAGGAGTGTTCGAGGTGACGGAGGCCCCGCTTAGAAAGCGGTGGCTTCCCACGATCAGGGACTAAGAATTATCCTTGACACTGCGGTACTTGGGCCGTGCCGACCGATTCTAACGTTAAATGCCTTAATGGCGTCTGTGCTCGC +ACAACTTTGGATTGTAACGACAGAAGTTCACTGCTAAAGGTATGATCCTACTTAAGATCGACAAATGGAACGGGGGCTAACCGACTTCATAACACAATGATCCGACAGCGCGAGTTACCTCCTGTGATCTTCTTGTACTTATAAGGGAGACTACGGAGTTCTGTGCTAAGTCCACTAGAAGACCTGGCGTAACGCATCTGAGGTAACCCTTAAACCTTAGCGCAGCCTCTCGGTCAACGGATACTGGGCAACTCGGATCGTCCTGTGAACGCAAGCCTATCATTCTCTCCTCATAATCAGAAAATTATGAGGGTCGCTTGCTGTTGAGCTTGCGGGCAGGCTCACTAACCCTTGACTCAACTGCCGCTTCCCCTGCTTAAACATTTAGAACCACACAACACAATCTGATAAGGTTAACTCCGCACTGACTACCGAGAGTTAACAGTGTGAGAGCACATACGGCACTGGATGTCGCTCTATTAAGCTTTCTCTCTCAACCAGCGGATTCACAGCCGCGTACGTACCAAACGGGATTGTTGTCGAATACTAGCGCTTTAGTAATCGGCTGGACAAAGTTGCTAGAGACGCAATGCCAGATCACTTGATGGACCATATAGCGGTGAGGGGTCTAGACGATAATGACCGATTCCTCGGCGGGACACCGGTGGTACAATCACGCGAAACGTCACGGCACCCTGGTGGTTCATGGGCTAAGGGTGTGTGGAACATACAGGCTCTACCGCTACAGGAGGCCGACACAACTGTCCGGTAAGGTGTCTGCTACCCGATCAGTGCGATAGTATACACACATAATACGTGTTCGAAACGACGCACCACAGAAACCCGCATTCACCGGCCACGATCTGAGACCCTCCAGTTGAGGATGCCGCGCCCTGCTACTATGGGACTGTAACGATTTCGCTGGAGGTGACTTGGACGCCGGGGTTACGACACAGTTACACACAACTTGGCAACTT +AAGGAACTTTCGCAATGTTGGTCTAACTGGCCACCCGGGTATAATACACAGCCTTCTCAGGTAAGGATCGGGACCAGAATGCTCTTGGTAACCGATCTTCCCGCTACATTTTTCTGGTACGGCGGTGCCTTTTCCCAGATCCACACTGCGGAGGGAGTTCGTAGTGTACGAAGCATATGCAGTTATGAGCTACCGTGCCCTACTCAATATGTGGCCCTGTCTCTCTGAAAGTGCAGCGCGTCAGAGAGCGACTAGTGTTCTCTCGGAGGGTTCGATAAAAAACCAGGCCACGTCCGCTGCATATTACGGCCCCAAGTTACTGCCGAGTTCAGCGACCAGGTTTTAGTGGCTGACGGCCCATAAGGGTCCCGGGTTCCTTACTAACATTTACCTCGGTCCCGTCTTGCGCCTACCGACGGAGTTGTGCCCTTGTGGGCGGTTAGGGTTGATCATGCTATCCTTCTTTAAAAAATGGACAAAAGAAGGATGCGACCCAAGACGTTGGTCCGCATAGTTTCCGGTGTGCACAGGTCCGACCAGGGCATTGATCCGTCCGGCCAATCCAGATGACATTACGCGTCGTATACCACACGCCTGGCCGGCCGAGCTAAAACAGAACCCCAGTTGATGTAAATCCTAGCGCCAGTGAGTATTGAGAGTATATGTAAATCCGACCTGGGGGACGGTTTCGATCTCTAAAGATGGCAAGCAGCTGCTACCCCTTGTGGTGAATTTCCTGGGACCGGAAATGTCGGCCAACTAGGGCGATGCCGGAACGGGCGCGGGCACCAGCGCTAACTCAGACTTAATAGCGGAATTTTCCAGATCTAATATTGACGCCCATCCGCGTCTAACTGGCTGAAGCAATTGATCCCGTCTCGTTGTCGACAGCCTCTGGCCCTCCCTACTCCTCAAAATGGGATTCCTATTCGACCTAAACTAGGGGTATAGCAACAGAAGGGTGTTCGTCGAGTTTG +TGTTGTCCCCTTGTTTACATCCAGTAGTTCAGCACCCGAGCGCGTTACATGCAAGAACCGTCAGGCTGCCCTCTATAGTCTGGCGTACCCTTAAGAGGTCTCTTGAGGAAGTATTCTCTACTGGATAGAGGCACATAAACTCTTGGATAGCACGCACCGACAGAGGGACCCGACACTCGTCCTCCCGCTGATTCGGCTTTCCTAGACCTTCTATAATATTAATCCCCTGTTAGCTGCGGGGTGAGTCACAACCGTGGAGGGGTACAACGCGAACCTCCGTATACTCTGGGTCTGTCGTAGTCTCCTGCACGATTTAAATTTATGCCCTATATACGAGCAATGGGCTGGCTATGCCTCTGACACAGATACTCCTACACTCCTTCGACACATCGACAATCGACGGTCCTCTGAGGCGAGTAACTTCAAAGTATAGGAGTCAACTGAGGCCTCAGATGACTTGATAATTATCCAGATGGCTGATTATAAATTGACGCCCGTGGCTTCCAGTAGTATCCAGCCAACCTTGACAACGTGGCTGCAACTATTTTAAAAGTAGCTGGTTAGCACGTTCTCACTTCTACCCTTTTATTTGCCATCAGGATCTGGGACTTACATTGCAGTGCAGTATCCCAGTATTGCATTCACCTGTTGAATGCCTAATTCGGCGGTGTAGACCAACACGTTTCAGCACTCACCGGTTCGGTGCGGTGGAAACATGGAAGTCCACGACCAAGTGCAAGTCTCATTTAATGATTGTAAGAAAAATCCCTAATAGGCAACCAAAAGCTGGTTGCCTGATGCGTAGTAACCTAGACTCAGATAATAGGTCGATTACGGCGGAGTTACCGTCACCACATCGGTCACCCGTTTAGGGCCTCCTAGCGTACGTGTTCATTTACTCACTGGGCAACTCAATCCCCCTTCATCGTGGCTGTTTATTGGTTGCTGTGGGCTGTTCACAATACGTCATGTTCGAT +GTTCATGGTTTACTAAATGTGGTTATGTCGATCGTTATCCGGTTGCTGTCGTGATCAAATTCAGTCTCCGACGGCATAACCTATATACTTCATTGCGAGAACACTTGCAGGACGAGAGATTGTATAAACATCAGTAGACTGCTACGGCGCATTTACGATTCTGAGTGCCGCATTAGACGTGGCTGCGACAAAAATACTGTAGAGCACCGAAATACAGATAGTATGGGCTTACAATCGATCTTGGTGGTGCAGGAAGGCAGTCGATCGAATCGACCCTCAATATAAGTTGCCTGTATAGGCCGCCTCACATAAGGGAACTTGAAAGTATGTGGCGTTGGATTTTTACGAGTGCATGACTTTCCTCCCAGACGAAGCGTAGCTGGATAGACCTCCTGTTGGAAGAGGGAAGAGAATATAAGACACTTAGTGCGGTATAGAAACGGGCCGTAACATGCTCCGGGATTGGCAGGCTAACCATGGAAAGAGTGCGCCTGGCAACAAGGACATTACGTGTTACGTTCTATCGAGCAAATTACACGTTTCTGCGTTCGTTAAATTAATACGTCGTACTACTGACGACACCTTAGCTGCTGGAAGAGCTCGAGAAGCCCATAAAAGTCATACGAAAGAAGATATCCTAGGTCAGAGAACCTTCAGAGTCATAGGTAGGCCGGAGTTAACGGCTTGTAGCGTGGAGAACTTAAAGGCTCTGCTAGGGATCCTTAATGTAGGTGGAATGCGGAGCATAGTCGACTTACAAGTTGTTTTGGGCTCGTAATGAGTGGCAAGGAGGCGCGTACCCATTAGTATTACTGTTCCTCGCCCCTCCTGTAATGTTCACCATCAATCAACATGTCCAGTATCCAAATACATTCGCGCTTGGGCCACACGCGTCTAGCCCAACAAATACGCTAGGCCGGCCCCTTCCGGCCCCGAATTTTACGCCCAATAGCCCGCCGGATTTTTCAGTACAGACT +GAAGTGATACGATCCAACTCATTACTTCAGGAGAAAGTCTTCAGAGCCGATACGCTCCATGAAGCGAAATGTAGGAATATACCTTCTGCTGTCTCTTTGATTACCAACTATCGCCTCGGAATATTCGTCCTGGTTGGTACAGGGTTTTCATGCCGTGGAGACTAATACAGACGCGCGCTCGGTAGCCGTGAGGCTACCGCATGTAGGTAATGCACCACTTGCCTATGCACGGACCCGTAAGCATAGGCAGATTTACAGGTTCACCTGACTGTACCACTACTAAGTAAAAATGGGTAACGCTACAGTCTTGCTGTGTCAATATCAGTGAACTAATGTATTCACTTATCCTCGTCGGAGTATCGGCCGCTCGGCATGAATTGTCGGTACACGTGACTTATACATTCCTTCGCTACGGGACTAGTTCTCCCCAATTTCAGACGACTCACACGCCACTAACAGAGCTGGATGTGAGACTCGCAACGGGTTCCCCTCCAAATGGGCATACTGTATCATTCCTTGTTCCACCTTCGCTGTGATCTGTCGGGGGACACTGACGAGCCCAACACCGACAATCCGGCTGCGAGTTCGATCGGACTTGCCTAGTTGCTGAATAAGCTTACTAAGCTATGCATCTTGTACAAGGTAACATCAACTGGCACCCGGTGCGAGTTAACATGCGTACCCAATCGCAGCTGTACTAATCTATCCCCGAGAACCATTCTCAAGCATCTAGCGCAGAACAATAAAGATACCCACTGAGTATCATTCGGATCTCGTTGCCGGCGAGATAGCATTACTGGCCCCACATATGTATCGCACTTATCATTTTGACACGCAATAGGAACCGACGCGGGCACGAGACGTCAGATCCGGCTCGTAGCCCTGGTTTTCACCGCTTTTATTACTGCGGCGCGACACGCGCACGTAACATTTCGATGGGATTCATACGGCATAAGATTTCACTTTACCAAGGAGTA +TTGACAGGGGGCAAGGAACTTCCCGGACCAGTATACCCTTTCCTCATTCCTGAAGGCGATCAGCCTGATCGCCATGCAACTTGAACGAGGGCCTCGTCGGATAACCAATTCAGCCGCGCAAAGATCACCTAAATCGTTATGCCCGGAGAGCACACTCAGCACGGGTTGTATGGTTACCGGTATGCTACGACTGAGCACGGGTGGCCTGACCTTTAAGCAGACGAATGTTACAGTGGGTAACTACTATCGCAGTGAGAGGTGCAGTGGGACGGCGACAAAAGTACGTCACTCCATAAACCCAAACTTCACCAAAGGCCAGGTAGCATCGCACCAAGGTATTCTTTTCCGCCATCGATGTTGTTCCTTTGACCATAAATCGTGTTTTCAGCGCGCGTGGGCATTCCAGAAGCATGTGGTGTGTCCATGAGATCCGCTTGCGTCATTACGGCTGAGTTCGAGACCGGTTATTTCATTGCGGTTCGAATTCATTAATTAATCCCCAATATTTCTCTAAGGGAGGAGGTTATCAACTAATCTCATTAAATCTGTACTTATGATCAGTGCAGGTTTGCCGCATTACTACTTGCAGTGATCAATGAAGCATAATGTTGGACCAATTCATCGGGACAGGTGTAACTTACATCTTGCGCCACATCCTACCGCTTCCACCGTGGGTTGGTACTGTCGCCCCCCTCTGTCGGTCGAGCAGTAGAGCGACGCATAGATTGCGGCGCGTCTCATGGTCCGGTCAACCTTAATTTTGACTGGGGCGGCGGATTACCATCATAGGGAGGTCAGTCTGGCTTATCCAAAGCTGGTGCTTGGGTTTTCTTACTTCACGAGAGGCAGAGGGCAAGAGTGTATGATCATTCACGTTGTTAAAAGACAGATCCGGTTGAGTGGTTATAGTCAAACCAACACTGAACGCCGAATGAGGGTGCCGGTCTGAGACCTCATGTCAAAGTGTAACAGTTTTC +).map(&:chars) + +cols = mat.first.size + +cons = [] + +profile = { + 'A' => [], + 'C' => [], + 'G' => [], + 'T' => [], +} + +mat.each do |row| + row.each_with_index do |x, i| + cons[i] ||= {} + cons[i][x] ||= 0 + cons[i][x] += 1 + + profile[x][i] ||= 0 + profile[x][i] += 1 + end +end + +puts cons.map { |xs| xs.max_by { |(k,v)| v }[0] }.join +%w( A C G T ).each do |c| + printf("%s: %s\n", c, profile[c].map { |g| g ? g : 0 }.join(' ')) +end +