Skip to content

Inferring mRNA from Protein

Rosalind Problem

Given: A protein string of length at most 1000 aa.

Return: The total number of different RNA strings from which the protein could have been translated, modulo 1,000,000. (Don't neglect the importance of the stop codon in protein translation.)

Sample Dataset

MA

Sample Output

12

Python Playground

p = 'MQMRTFSLSAWSVKWVRAVQHFPSEGYFEPEGWWTTCKITAMTWCFGHNNAENMYYCRYYKKNYSACAQFQLFWSQYTVRCRTGVIHPNLIKGNSLLSYHKRALQPRDTLDDTQNRFWALDAANCYSIGIYRTANPGTNNETYHIWHAWMRSDVFWMDNPMWYFCPDQSQCMGWSITPVSIWWVWTFHRCQWSDLSADNYEDISFWCNCEPVSHEASRNTDGTEFRSTCIPHCWKARECWAYPYALQGCDFMIYVVHSFGFCAFNDSFSRVMAHVVRTYKQIHQWWYQQPHIPKYVNNLIYINNFQVPSSMHTAKAFRLYYKKKTPCVSDNNGAGITHHPWECEGMIALNDLMLNKHTHCDFSWWDHKEKNCFIWCHDHIWTSTYPWCDEAQLCKDWNFTRQLWYVRFCNWKDCESGQNNSDMPRRIISMNDCMVWWPGHKAHWWEDGTYAETNQWNGLASGNEPYQNVEWEYAATTNWHAIWWQRAHHHLSFNCPCPINAQWSFLPSHLMYQYTKMEWVTSRAMYCTWPIDDARGLDGDMPHERPEIFDRPYVTHLGSNMFAGHPTGWLIKKRKTERLPVIGNENSWEYGEPGYTEYFHEWNPNNLWTRWRARIVQTNCVCVVTMYPYVNIWSQFGLPYWVTQAGDNNAGKWISWGFIGQLVCASWFMTFYTMYPMQRNCITIGWSTFGASFPRYLSDDTHVFFHLTVHSVHYFHPGAAPARPHARWLCQNHSDCGKMTTTSPQMMNQERHDHNRTDRCSRAFCTMITKDICSTQWMTGWTRNSWICIQATEERVYAIYLSYRCKDMGHHHVSMNEKAVSHGNMFNLLDHPAELRVGENNVCATVGIPVMEATWGRTTWGYENLIYLWFESHQAANGPCQLICHNTCDEASHYWSMCICKEEVYAVQKYCTVGRCQKHYFFESAPISSNYCHQYPCKAKGAEPQRGKANHATVMHMYIRCMMKCCAANWDQACKTRQFRDMPIMPQAANIIFMKYF' # p is given as input Protein sequence # Write your code here ans = 903616 Ex().has_output(ans) success_msg("Great job!")
Use the codon_to_aa dictionary if necessary. codon_to_aa = { 'AAA': 'K', 'AAC': 'N', 'AAG': 'K', 'AAU': 'N', 'ACA': 'T', 'ACC': 'T', 'ACG': 'T', 'ACU': 'T', 'AGA': 'R', 'AGC': 'S', 'AGG': 'R', 'AGU': 'S', 'AUA': 'I', 'AUC': 'I', 'AUG': 'M', 'AUU': 'I', 'CAA': 'Q', 'CAC': 'H', 'CAG': 'Q', 'CAU': 'H', 'CCA': 'P', 'CCC': 'P', 'CCG': 'P', 'CCU': 'P', 'CGA': 'R', 'CGC': 'R', 'CGG': 'R', 'CGU': 'R', 'CUA': 'L', 'CUC': 'L', 'CUG': 'L', 'CUU': 'L', 'GAA': 'E', 'GAC': 'D', 'GAG': 'E', 'GAU': 'D', 'GCA': 'A', 'GCC': 'A', 'GCG': 'A', 'GCU': 'A', 'GGA': 'G', 'GGC': 'G', 'GGG': 'G', 'GGU': 'G', 'GUA': 'V', 'GUC': 'V', 'GUG': 'V', 'GUU': 'V', 'UAC': 'Y', 'UAU': 'Y', 'UCA': 'S', 'UCC': 'S', 'UCG': 'S', 'UCU': 'S', 'UGC': 'C', 'UGG': 'W', 'UGU': 'C', 'UUA': 'L', 'UUC': 'F', 'UUG': 'L', 'UUU': 'F', 'UAA': '*', 'UAG': '*', 'UGA': '*', }