From 123da2fe665707a22e01c60a11277f9e8a873e20 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 20 Oct 2012 06:02:54 -0500 Subject: another solution --- MRNA.pl | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 MRNA.pl diff --git a/MRNA.pl b/MRNA.pl new file mode 100644 index 0000000..f44a27b --- /dev/null +++ b/MRNA.pl @@ -0,0 +1,34 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use 5.016; + +use List::Util 'reduce'; +our ($a, $b); + +my %map = qw( + UUU F CUU L AUU I GUU V + UUC F CUC L AUC I GUC V + UUA L CUA L AUA I GUA V + UUG L CUG L AUG M GUG V + UCU S CCU P ACU T GCU A + UCC S CCC P ACC T GCC A + UCA S CCA P ACA T GCA A + UCG S CCG P ACG T GCG A + UAU Y CAU H AAU N GAU D + UAC Y CAC H AAC N GAC D + UAA Stop CAA Q AAA K GAA E + UAG Stop CAG Q AAG K GAG E + UGU C CGU R AGU S GGU G + UGC C CGC R AGC S GGC G + UGA Stop CGA R AGA R GGA G + UGG W CGG R AGG R GGG G +); + +my %freq; +for my $codon (keys %map) { + $freq{$map{$codon}}++; +} + +chomp(my $input = <>); +say $freq{Stop} * reduce { $a * $b } map { $freq{$_} } split '', $input; -- cgit v1.2.3-54-g00ecf