diff options
-rw-r--r-- | MRNA.pl | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -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; |