from random import randint
possiblevals= ["A","C", "T","G"]
generatedlist= []
lengthsequence= int(input("Enter a number for the length of the DNA sequence "))
while lengthsequence%3 !=0:
lengthsequence= int(input("Remember, nucleic acids are always present in groups of 3 called codons. Your number has to be divisible by 3. Please try again. "))
i=0
#making the DNA sequence
while i<lengthsequence:
randnum= randint(0,3)
sequenceval= possiblevals[randnum]
generatedlist.append(sequenceval)
i=i+1
print (generatedlist)
#making the RNA sequence
possiblerna= ["U", "G", "A", "C"]
rnalist= []
s=0
while s< lengthsequence:
DNAval= generatedlist[s]
dnaindex= possiblevals.index(DNAval)
rnaconversion= possiblerna[dnaindex]
rnalist.append(rnaconversion)
s=s+1
print (rnalist)
#making the amino acid chain
finallist= []
str1=""
a=0
b=1
c=2
e=0
p=3
listpossible= ["GCA", "GCC", "GCG", "GCU", "UGC", "UGU", "GAC", "GAU", "GAA", "GAG", "UUC", "UUU", "GGA", "GGC", "GGG", "GGU", "CAC","CAU", "AUA", "AUC", "AUU", "AAA", "AAG", "UUA", "UUG", "CUA", "CUC", "CUG", "CUU", "AUG", "AAC", "AAU","CCA", "CCC", "CCG", "CCU", "CAA","CAG","AGA", "AGG","CGA","CGC","CGG", "CGU", "AGC", "AGU", "UCA", "UCC", "UCG", "UCU", "ACA", "ACC", "ACG", "ACU", "GUA", "GUC", "GUG", "GUU", "UGG", "UAC", "UAU"]
listamacids= ["Alanine", "Alanine", "Alanine", "Alanine", "Cysteine", "Cysteine", "Aspartic acid", "Aspartic acid", "Glutamic acid", "Glutamic acid", "Phenylalanine", "Phenylalanine", "Glycine", "Glycine","Glycine","Glycine", "Histidine", "Histidine", "Isoleucine", "Isoleucine", "Isoleucine", "Lysine", "Lysine", "Leucine", "Leucine", "Leucine", "Leucine", "Leucine", "Leucine", "Methionine", "Asparagine", "Asparagine", "Proline", "Proline", "Proline", "Proline", "Glutamine", "Glutamine", "Arganine", "Arganine", "Arganine", "Arganine", "Arganine", "Arganine", "Serine", "Serine", "Serine", "Serine", "Serine", "Serine", "Threonine", "Threonine", "Threonine", "Threonine", "Valine", "Valine", "Valine", "Valine", "Tryptophan", "Tyrosine", "Tyrosine"]
while e< (lengthsequence/3):
str1=""
str1= str1+rnalist[a]
str1= str1+rnalist[b]
str1= str1+rnalist[c]
index= listpossible.index(str1)
var= listamacids[index]
finallist.append(var)
a=a+3
b=b+3
c=c+3
e=e+1
print (len(listpossible))
print (len(listamacids))
print (finallist)