Covid19 Vaccine for Software Developers
I find a nice analogy between the new messenger RNA based vaccine, like the ones from Pfizer and Moderna, and the world of software development. I thought highlighting this analogy would help software engineers more easily understand the concepts behind these vaccines, or at least put a smile on their faces. It was too precious to skip writing this story. I’m an engineer at heart, a software engineer at work, and Software VP R&D in title. But I’m also interested at pretty much anything science. The disclaimer is that I’m not a biology major, just a biology enthusiastic.
Looking at the Covid19, or Corona virus, you notice a nucleolus that contains the malicious substance, surrounded by spikes that forms the mechanism to enter the human cells. Only because there is a sufficient match between the cell receptors and spikes, the receptors are fooled to pull the virus into the human cell, and hence like a Trojan Horse, cause disastrous effect to human body. The cell receptor can and wants to suck in a variety of protein molecules that are vital for its cell function. But because the spike itself is a protein of similar structure, the receptor is violently fooled.
A spike is like an interface, ICovid19Spike, and the nucleus is the Covid19 class. So we can write class Covid19 implements ICovid19Spike. The same spikes can potentially exist on other nucleus, and on mutations of Covid19.
Our immune system can be taught to recognize and neutralize these spikes, but for that to happen it needs to be trained by “showing” it these spikes. Legacy vaccines train the body by actually injecting a real but neutralized virus. The body “sees” its structures and trains the immune system.
The new messenger RNA vaccines take a more innovative approach. They cause the human cells to create the covid19 spikes, but only these spikes. That is they create just the interface and not class. Once the interface starts to float around the body, the immune system is trained to recognize them, and then when a real Covid19 virus enters the body it quickly recognizes it and neutralizes the spikes, changing its signature so the spikes are no longer compatible with the cell receptor. We all know that changing the interface signature will break the code.
Cleverly these vaccines don’t simply inject spikes but write genetic code in the form of a messenger RNA, or mRNA, that tells the human cell to generate the spikes. An mRNA is a long molecule that acts as the code file to produce proteins. The Ribosome acts as the interpreter that executes code, and its output is proteins.
Each line of mRNA code generates a part of a protein called amino-acid. The Ribosome iterates over these mRNA code lines. For each code line it fetches an amino-acid. Once it reaches an end-of-protein code line, it releases the linked amino-acid string, called Protein. In our analogy, think of a protein as a word, a character as amino-acid, and ASCII code as mRNA code line. There are also multiple codes that corresponds to an end-of-protein, just like space, \t, or \n corresponds to end of word. To build a word, the software interpreter, iterates on an array of ASCII codes, links one character at at time, until end-of-word code is reached, and the word is returned from the function. Similarly to build a protein the Ribosome reads each code of an mRNA, fetches and links one amino-acid at a time, until end of protein code is reached, and then the Ribosome releases the protein.
The clever vaccine includes an mRNA code to generate the covid19 spike, but not the whole virus. The vaccine’s mRNA enters the human cells, and the Ribosome cells starts manufacturing spikes, which are a type of protein. These spikes are then released to the human body, and the immune system is trained to recognize these spike proteins and create anti bodies to neutralize these spikes. Then when a real Covid19 attacks the body, the immune system is already trained and can efficiently neutralize its spikes. Without compatible spikes, the human cell receptor won’t accept the interface, and harm is avoided. Hurray.
Engineering using the tools of nature is so much more complicated than software, which is an artificial and convenient world invented by humans for humans. Hats off to the scientists that developed these vaccines and discoveries that led to it.