(NOTE: I wasn't sure if I should have posted this in the Chemistry board or the Computer Science board. But I guess since the question is more CS than Chem, I posted it where I thought it would be the most appropriate.)
It's been a very productive week for me this week. Aside from my usual weekly job search (doing it daily will drive you nuts!), I felt like being my nerdy self and learn what all the skeletal diagrams in organic chemistry mean. While I haven't studied chemistry since high school, I do have a little bit of understanding of how chemistry works. (P1*V1/T1 = P2*V2/T2, and some of the basic chemical reactions.) The more detailed stuff (electron orbits, etc.) I could care less about, after all my forte is Computer Science not Chemistry.
So, when I finally understood what all those hydrocarbon chains and pentagons and hexagons mean, I decided to wander about the internet and learn little bit more about the chemicals that make up our DNA and how the sequence of nucleic acids that formed the codons would be translated into amino acids in the mRNA process.
It was at this point my Computer Science spider-senses kicked in and though how this process would be translated into a form of finite state automata.
Consider the input symbols Adenine (A), Cytosine (C), Guanine (G), Thymine (T) (in DNA), and Uracil (U) (in RNA). And consider the 64 sequence of the of these symbols (where T and U are interchangable depending if you are playing around with DNA or RNA, respectively) that produce the 20 amino acids (Google "Codon Table" for the list) and three final states (UAA, UAG, and UGA). With the inital state being the amino acid Methionine (Met or M for short), triggered by the sequence AUG, what would the finite state machine look like?