RNA3 = { "AAA": "Lys", "AAC": "Asn", "AAG": "Lys", "AAU": "Asn", "ACA": "Thr", "ACC": "Thr", "ACG": "Thr", "ACU": "Thr", "AGA": "Arg", "AGC": "Ser", "AGG": "Arg", "AGU": "Ser", "AUA": "Lle", "AUC": "Lle", "AUG": "Mel", "AUU": "Lle", "CAA": "Gln", "CAC": "His", "CAG": "Gln", "CAU": "His", "CCA": "Pro", "CCC": "Pro", "CCG": "Pro", "CCU": "Pro", "CGA": "Arg", "CGC": "Arg", "CGG": "Arg", "CGU": "Arg", "CUA": "Leu", "CUC": "Leu", "CUG": "Leu", "CUU": "Leu", "GAA": "Glu", "GAC": "Asp", "GAG": "Glu", "GAU": "Asp", "GCA": "Ala", "GCC": "Ala", "GCG": "Ala", "GCU": "Ala", "GGA": "Gly", "GGC": "Gly", "GGG": "Gly", "GGU": "Gly", "GUA": "Val", "GUC": "Val", "GUG": "Val", "GUU": "Val", "UAA": "Stop", "UAC": "Tyr", "UAG": "Stop", "UAU": "Tyr", "UCA": "Ser", "UCC": "Ser", "UCG": "Ser", "UCU": "Ser", "UGA": "Stop", "UGC": "Cys", "UGG": "Trp", "UGU": "Cys", "UUA": "Leu", "UUC": "Phe", "UUG": "Leu", "UUU": "Phe", } AMINOACID_CHEM = { "Ala": "CH3-CH(NH2)-COOH", "Arg": "HN=C(NH2)-NH-(CH2)3-CH(NH2)-COOH", "Asn": "H2N-CO-CH2-CH(NH2)-COOH", "Asp": "HOOC-CH2-CH(NH2)-COOH", "Cys": "HS-CH2-CH(NH2)-COOH", "Gln": "H2N-CO-(CH2)2-CH(NH2)-COOH", "Glu": "HOOC-(CH2)2-CH(NH2)-COOH", "Gly": "NH2-CH2-COOH", "His": "NH-CH=N-CH=C-CH2-CH(NH2)-COOH", "Lle": "CH3-CH2-CH(CH3)-CH(NH2)-COOH", "Leu": "(CH3)2-CH-CH2-CH(NH2)-COOH", "Lys": "H2N-(CH2)4-CH(NH2)-COOH", "Met": "CH3-S-(CH2)2-CH(NH2)-COOH", "Phe": "Ph-CH2-CH(NH2)-COOH", "Pro": "NH-(CH2)3-CH-COOH", "Ser": "HO-CH2-CH(NH2)-COOH", "Thr": "CH3-CH(OH)-CH(NH2)-COOH", "Trp": "Ph-NH-CH=C-CH2-CH(NH2)-COOH", "Tyr": "HO-Ph-CH2-CH(NH2)-COOH", "Val": "(CH3)2-CH-CH(NH2)-COOH" } RNA_CONVERSION = { "A": "A", "C": "C", "G": "G", "T": "U" } def DNAtoRNA(DNA): RNA = "" for c in DNA: RNA += RNA_CONVERSION[c] return RNA def RNAtoAminoAcid(RNA): amino = "" i = 0; while (i <= len(RNA)-1): next3 = RNA[i:3+i]; if (len(next3) != 3): break; if (RNA3[next3] == "Stop"): break; amino += RNA3[next3]; i+=3; return amino; def AminoAcidtoChem(AMINO): chem = "" i = 0; while (i <= len(AMINO)-1): next3 = AMINO[i:3+i]; if (len(next3) != 3): break; if (AMINOACID_CHEM[next3] == "Stop"): break; chem += AMINOACID_CHEM[next3] + " + "; i+=3; return chem[:-3];