Text to DNA Translator

DNA to Text

This thing might require a little explanation.

I was just chilling out one day and thinking about amino acids. The 20 amino acids (that are coded for in human DNA) each have a unique 1-letter abbreviation.
For example: Aspartic acid, also known as Aspartate, has the abbeviation of D.
Don't ask why. If you really are curious, read this paper. It is very illuminating, and also entertaining!

So I was thinking about these amino acids and their abbreviations and I thought: 'If there are 20 amino acids with 1-letter abbreviations and 26 letters in the English alphabet, then which 6 are missing?'
It turns out that B, J, O, U, X, and Z are the ones that are missing but I'll talk more about that in DNA to Text because it's more relevant there.

I thought: 'Well, hey! 20 out of 26! That's pretty much a complete set!'
I wondered whether there was some website out there that could translate an input text into a string of DNA bases and then back again. So I went searching.

There are in fact a number of websites which can do this. In case you don't like this one that I made, yeah, you could find one somewhere else. But be warned: some of them do not give the true accurate translation of amino acid abbreviations to the DNA that codes for them. The 'coding' in these programs is assigned arbitrarily and have no bearing to biological processes, other than the ACTG sequence.

Of the ones that actually are accurate, I have found them clunky and not to my taste, which is why I decided to make one myself.

This will take an input of letters in the English alphabet as well as spaces. No numbers or symbols or anything like that. Those just won't show up in the output. The 'Missing 6' mentioned earlier are coded in as equivalent to similar letters. Spaces are represented by the Stop codons. If you think of a protein as a word, then it makes sense. If you think of a protein as a sentence, then perhaps it makes less sense, but spaces are pretty important when writing in English , so I hope you'll excuse this little use of artistic license here.

One thing you might be wondering about is the redundancy in the amino acid code and how I might have implemented it into this. After all, there are 64 possible combinations (4*4*4) and only 20 amino acids that are coded for. What I did was that I made it choose randomly from the possible outputs for any one amino acid. If you type in 'K', you have a 1/2 chance of receiving AAA and 1/2 chance of receiving AAG. So if you type in your input, press the Translate button, then press it again, you might get a different sequence.

There is also a Copy button so that you don't have to manually go through the process of copying.

Well, if you're still here, I hope you enjoy.
Open to any feedback.