Reading the Source Code of BioNTech/Pfitzer Vaccine
Updated at: 10 January 2021Disclaimer: When thinking to do this lil’project I gave it a name in my mind “reverse engineering the pfitzer vaccine while hanging upside down on a tree” and wanted to make it into a video. The recordings of me hanging upside down on the tree got corrupted. Now, writing this disclaimer 5 years later, I am both upset and happy about that 😅. Hopefully you look at this article while keeping in mind the fact that I was just 20 years old when I wrote it.
For the better part of last year, we’ve been living in a suspended state of uncertainty. Chaos, lockdowns, fear. But amidst this noise, much has happened in the labs. And as I was always interested in genetics, despite choosing the software route, I still like fidgeting with DNA.
A few days ago, I stumbled upon what might be the most important 4,284 characters written last year. Its the source code for the BioNTech/Pfizer vaccine (BNT162b2).
As someone who grew up homeschooling, hacking away at code on my own since I was a teenager, I’ve always believed that if you want to understand the world, you have to look at the instructions (not the manual 😅, look at the source!).
So, I decided to do just that. I downloaded the sequence and compared it against the original SARS-CoV-2 virus genome (Wuhan-Hu-1). What I found was a fascinating lesson not just in biology, but in problem-solving.
Life is code, at it’s core
We often think of biology as wet and messy, but at its core, it is digital.
- DNA is the hard drive, reliable, redundant storage.
- RNA is volatile, active memory where the work happens (RAM).
- Ribosomes are the compilers turning instructions into reality (proteins).
The vaccine is simply a message. Its a snippet of code injected into the RAM of our cells. It doesn’t change the hard drive (DNA). It just says: “Hey, while you’re idle, run this background process.”
The Psychological Trick Ψ
The first thing that struck me was a strange character in the vaccine code: Ψ (Psi).
The original virus uses standard biological letters: A, U, G, C. But the vaccine replaces every U (Uridine) with Ψ (1-methyl-3′-pseudouridylyl).
Why? Turns out its a brilliant bypass of the body’s defense mechanisms. Our immune system is like a strict firewall. It sees foreign RNA and deletes it immediately. But Ψ? The immune system doesn’t flag it. It shrugs and lets it pass.
It reminded me of negotiation tactics where sometimes to get a message across, you have to control your tone so the other party doesn’t put their guard up. BioNTech essentially “negotiated” with our cells to allow the message in.
Suspicious 922 Errors
After visually inspecting the code, I wanted to see exactly how it differed from the virus. I wrote a quick script to compare the genetic sequence of the virus against the vaccine.
I hit enter. 922 codon mutations!
I grew very suspicious. A few mutations might serve some utility I guessed, but nearly a thousand? That’s not a drift; that’s a different species. If the code was this different, the shape of the protein would be wrong, and the vaccine wouldn’t work. Could even do something completely unintended!
But then I remembered high school biology.
The genetic code is redundant. Just like `color` and `colour` mean the same thing, different combinations of letters (codons) can produce the exact same amino acid. `CUU`, `CUC`, `CUA`, and `CUG` all make Leucine.
I updated my script to filter out these “silent” mutations—changes in spelling that don’t change the meaning.
I ran it again.
Two.
920 differences melted away. Only two actual instructions were changed. Two spots where the designers explicitly said: “No. We don’t want a Lysine or Valine here. We want Proline.”
Here you can see it in action:

Research shows that these two specific elements lock the S protein in place on the virus capsid.
Stability in Chaos: The 2P Mutation
Then I looked at the payload, the instructions for the Spike protein. Real viral spikes look much different when detached from the viral capsid. They are unstable, changing shape under the forces of the liquid in which they are dissolved. If you just copy-paste the viral code, the resulting protein collapses into a shapeless mess for which no immunity can be gained, and even if it could, that immunity would do nothing to protect against a real virus.
Turns out the engineers fixed this with what they call the “2P mutation.” At positions 986 and 987, they swapped two amino acids (Lysine and Valine) for Proline.
Proline is rigid. It acts like a splint. It forces the protein to hold its shape, to stand tall and “spiky” so the immune system can learn to recognize it properly.
There’s a philosophy here: Structure matters. Without the right internal architecture, even the best intentions (or instructions) collapse under pressure.
Optimization
Finally, what about those other 900+ changes? The ones that didn’t change the protein?
The code is optimized. The vaccine uses far more Gs and Cs than the original virus. Why? Because biology has bandwidth limits. Research suggests that increasing GC content makes the mRNA more stable and more efficient for the cell to “compile” (translate). It’s the biological equivalent of minifying your JavaScript or compressing an image to make it load faster.
Rethinking the Impossible
Sitting here at start of 2021, looking at these lines of code, I realized something. We often feel helpless when huge forces like a pandemic sweep over us. But this vaccine isn’t magic. It isn’t luck. It is the result of people reframing a problem, hacking the constraints, and engineering a solution.
It makes you wonder: what other “impossible” problems are just waiting for the right few lines of code?
Bibliography
Pfitzer Vaccine Code
Published by WHO (search for it using 11889 and the date 9/2020)
GAGAAΨAAAC ΨAGΨAΨΨCΨΨ CΨGGΨCCCCA CAGACΨCAGA GAGAACCCGC 50
CACCAΨGΨΨC GΨGΨΨCCΨGG ΨGCΨGCΨGCC ΨCΨGGΨGΨCC AGCCAGΨGΨG 100
ΨGAACCΨGAC CACCAGAACA CAGCΨGCCΨC CAGCCΨACAC CAACAGCΨΨΨ 150
ACCAGAGGCG ΨGΨACΨACCC CGACAAGGΨG ΨΨCAGAΨCCA GCGΨGCΨGCA 200
CΨCΨACCCAG GACCΨGΨΨCC ΨGCCΨΨΨCΨΨ CAGCAACGΨG ACCΨGGΨΨCC 250
ACGCCAΨCCA CGΨGΨCCGGC ACCAAΨGGCA CCAAGAGAΨΨ CGACAACCCC 300
GΨGCΨGCCCΨ ΨCAACGACGG GGΨGΨACΨΨΨ GCCAGCACCG AGAAGΨCCAA 350
CAΨCAΨCAGA GGCΨGGAΨCΨ ΨCGGCACCAC ACΨGGACAGC AAGACCCAGA 400
GCCΨGCΨGAΨ CGΨGAACAAC GCCACCAACG ΨGGΨCAΨCAA AGΨGΨGCGAG 450
ΨΨCCAGΨΨCΨ GCAACGACCC CΨΨCCΨGGGC GΨCΨACΨACC ACAAGAACAA 500
CAAGAGCΨGG AΨGGAAAGCG AGΨΨCCGGGΨ GΨACAGCAGC GCCAACAACΨ 550
GCACCΨΨCGA GΨACGΨGΨCC CAGCCΨΨΨCC ΨGAΨGGACCΨ GGAAGGCAAG 600
CAGGGCAACΨ ΨCAAGAACCΨ GCGCGAGΨΨC GΨGΨΨΨAAGA ACAΨCGACGG 650
CΨACΨΨCAAG AΨCΨACAGCA AGCACACCCC ΨAΨCAACCΨC GΨGCGGGAΨC 700
ΨGCCΨCAGGG CΨΨCΨCΨGCΨ CΨGGAACCCC ΨGGΨGGAΨCΨ GCCCAΨCGGC 750
AΨCAACAΨCA CCCGGΨΨΨCA GACACΨGCΨG GCCCΨGCACA GAAGCΨACCΨ 800
GACACCΨGGC GAΨAGCAGCA GCGGAΨGGAC AGCΨGGΨGCC GCCGCΨΨACΨ 850
AΨGΨGGGCΨA CCΨGCAGCCΨ AGAACCΨΨCC ΨGCΨGAAGΨA CAACGAGAAC 900
GGCACCAΨCA CCGACGCCGΨ GGAΨΨGΨGCΨ CΨGGAΨCCΨC ΨGAGCGAGAC 950
AAAGΨGCACC CΨGAAGΨCCΨ ΨCACCGΨGGA AAAGGGCAΨC ΨACCAGACCA 1000
GCAACΨΨCCG GGΨGCAGCCC ACCGAAΨCCA ΨCGΨGCGGΨΨ CCCCAAΨAΨC 1050
ACCAAΨCΨGΨ GCCCCΨΨCGG CGAGGΨGΨΨC AAΨGCCACCA GAΨΨCGCCΨC 1100
ΨGΨGΨACGCC ΨGGAACCGGA AGCGGAΨCAG CAAΨΨGCGΨG GCCGACΨACΨ 1150
CCGΨGCΨGΨA CAACΨCCGCC AGCΨΨCAGCA CCΨΨCAAGΨG CΨACGGCGΨG 1200
ΨCCCCΨACCA AGCΨGAACGA CCΨGΨGCΨΨC ACAAACGΨGΨ ACGCCGACAG 1250
CΨΨCGΨGAΨC CGGGGAGAΨG AAGΨGCGGCA GAΨΨGCCCCΨ GGACAGACAG 1300
GCAAGAΨCGC CGACΨACAAC ΨACAAGCΨGC CCGACGACΨΨ CACCGGCΨGΨ 1350
GΨGAΨΨGCCΨ GGAACAGCAA CAACCΨGGAC ΨCCAAAGΨCG GCGGCAACΨA 1400
CAAΨΨACCΨG ΨACCGGCΨGΨ ΨCCGGAAGΨC CAAΨCΨGAAG CCCΨΨCGAGC 1450
GGGACAΨCΨC CACCGAGAΨC ΨAΨCAGGCCG GCAGCACCCC ΨΨGΨAACGGC 1500
GΨGGAAGGCΨ ΨCAACΨGCΨA CΨΨCCCACΨG CAGΨCCΨACG GCΨΨΨCAGCC 1550
CACAAAΨGGC GΨGGGCΨAΨC AGCCCΨACAG AGΨGGΨGGΨG CΨGAGCΨΨCG 1600
AACΨGCΨGCA ΨGCCCCΨGCC ACAGΨGΨGCG GCCCΨAAGAA AAGCACCAAΨ 1650
CΨCGΨGAAGA ACAAAΨGCGΨ GAACΨΨCAAC ΨΨCAACGGCC ΨGACCGGCAC 1700
CGGCGΨGCΨG ACAGAGAGCA ACAAGAAGΨΨ CCΨGCCAΨΨC CAGCAGΨΨΨG 1750
GCCGGGAΨAΨ CGCCGAΨACC ACAGACGCCG ΨΨAGAGAΨCC CCAGACACΨG 1800
GAAAΨCCΨGG ACAΨCACCCC ΨΨGCAGCΨΨC GGCGGAGΨGΨ CΨGΨGAΨCAC 1850
CCCΨGGCACC AACACCAGCA AΨCAGGΨGGC AGΨGCΨGΨAC CAGGACGΨGA 1900
ACΨGΨACCGA AGΨGCCCGΨG GCCAΨΨCACG CCGAΨCAGCΨ GACACCΨACA 1950
ΨGGCGGGΨGΨ ACΨCCACCGG CAGCAAΨGΨG ΨΨΨCAGACCA GAGCCGGCΨG 2000
ΨCΨGAΨCGGA GCCGAGCACG ΨGAACAAΨAG CΨACGAGΨGC GACAΨCCCCA 2050
ΨCGGCGCΨGG AAΨCΨGCGCC AGCΨACCAGA CACAGACAAA CAGCCCΨCGG 2100
AGAGCCAGAA GCGΨGGCCAG CCAGAGCAΨC AΨΨGCCΨACA CAAΨGΨCΨCΨ 2150
GGGCGCCGAG AACAGCGΨGG CCΨACΨCCAA CAACΨCΨAΨC GCΨAΨCCCCA 2200
CCAACΨΨCAC CAΨCAGCGΨG ACCACAGAGA ΨCCΨGCCΨGΨ GΨCCAΨGACC 2250
AAGACCAGCG ΨGGACΨGCAC CAΨGΨACAΨC ΨGCGGCGAΨΨ CCACCGAGΨG 2300
CΨCCAACCΨG CΨGCΨGCAGΨ ACGGCAGCΨΨ CΨGCACCCAG CΨGAAΨAGAG 2350
CCCΨGACAGG GAΨCGCCGΨG GAACAGGACA AGAACACCCA AGAGGΨGΨΨC 2400
GCCCAAGΨGA AGCAGAΨCΨA CAAGACCCCΨ CCΨAΨCAAGG ACΨΨCGGCGG 2450
CΨΨCAAΨΨΨC AGCCAGAΨΨC ΨGCCCGAΨCC ΨAGCAAGCCC AGCAAGCGGA 2500
GCΨΨCAΨCGA GGACCΨGCΨG ΨΨCAACAAAG ΨGACACΨGGC CGACGCCGGC 2550
ΨΨCAΨCAAGC AGΨAΨGGCGA ΨΨGΨCΨGGGC GACAΨΨGCCG CCAGGGAΨCΨ 2600
GAΨΨΨGCGCC CAGAAGΨΨΨA ACGGACΨGAC AGΨGCΨGCCΨ CCΨCΨGCΨGA 2650
CCGAΨGAGAΨ GAΨCGCCCAG ΨACACAΨCΨG CCCΨGCΨGGC CGGCACAAΨC 2700
ACAAGCGGCΨ GGACAΨΨΨGG AGCAGGCGCC GCΨCΨGCAGA ΨCCCCΨΨΨGC 2750
ΨAΨGCAGAΨG GCCΨACCGGΨ ΨCAACGGCAΨ CGGAGΨGACC CAGAAΨGΨGC 2800
ΨGΨACGAGAA CCAGAAGCΨG AΨCGCCAACC AGΨΨCAACAG CGCCAΨCGGC 2850
AAGAΨCCAGG ACAGCCΨGAG CAGCACAGCA AGCGCCCΨGG GAAAGCΨGCA 2900
GGACGΨGGΨC AACCAGAAΨG CCCAGGCACΨ GAACACCCΨG GΨCAAGCAGC 2950
ΨGΨCCΨCCAA CΨΨCGGCGCC AΨCAGCΨCΨG ΨGCΨGAACGA ΨAΨCCΨGAGC 3000
AGACΨGGACC CΨCCΨGAGGC CGAGGΨGCAG AΨCGACAGAC ΨGAΨCACAGG 3050
CAGACΨGCAG AGCCΨCCAGA CAΨACGΨGAC CCAGCAGCΨG AΨCAGAGCCG 3100
CCGAGAΨΨAG AGCCΨCΨGCC AAΨCΨGGCCG CCACCAAGAΨ GΨCΨGAGΨGΨ 3150
GΨGCΨGGGCC AGAGCAAGAG AGΨGGACΨΨΨ ΨGCGGCAAGG GCΨACCACCΨ 3200
GAΨGAGCΨΨC CCΨCAGΨCΨG CCCCΨCACGG CGΨGGΨGΨΨΨ CΨGCACGΨGA 3250
CAΨAΨGΨGCC CGCΨCAAGAG AAGAAΨΨΨCA CCACCGCΨCC AGCCAΨCΨGC 3300
CACGACGGCA AAGCCCACΨΨ ΨCCΨAGAGAA GGCGΨGΨΨCG ΨGΨCCAACGG 3350
CACCCAΨΨGG ΨΨCGΨGACAC AGCGGAACΨΨ CΨACGAGCCC CAGAΨCAΨCA 3400
CCACCGACAA CACCΨΨCGΨG ΨCΨGGCAACΨ GCGACGΨCGΨ GAΨCGGCAΨΨ 3450
GΨGAACAAΨA CCGΨGΨACGA CCCΨCΨGCAG CCCGAGCΨGG ACAGCΨΨCAA 3500
AGAGGAACΨG GACAAGΨACΨ ΨΨAAGAACCA CACAAGCCCC GACGΨGGACC 3550
ΨGGGCGAΨAΨ CAGCGGAAΨC AAΨGCCAGCG ΨCGΨGAACAΨ CCAGAAAGAG 3600
AΨCGACCGGC ΨGAACGAGGΨ GGCCAAGAAΨ CΨGAACGAGA GCCΨGAΨCGA 3650
CCΨGCAAGAA CΨGGGGAAGΨ ACGAGCAGΨA CAΨCAAGΨGG CCCΨGGΨACA 3700
ΨCΨGGCΨGGG CΨΨΨAΨCGCC GGACΨGAΨΨG CCAΨCGΨGAΨ GGΨCACAAΨC 3750
AΨGCΨGΨGΨΨ GCAΨGACCAG CΨGCΨGΨAGC ΨGCCΨGAAGG GCΨGΨΨGΨAG 3800
CΨGΨGGCAGC ΨGCΨGCAAGΨ ΨCGACGAGGA CGAΨΨCΨGAG CCCGΨGCΨGA 3850
AGGGCGΨGAA ACΨGCACΨAC ACAΨGAΨGAC ΨCGAGCΨGGΨ ACΨGCAΨGCA 3900
CGCAAΨGCΨA GCΨGCCCCΨΨ ΨCCCGΨCCΨG GGΨACCCCGA GΨCΨCCCCCG 3950
ACCΨCGGGΨC CCAGGΨAΨGC ΨCCCACCΨCC ACCΨGCCCCA CΨCACCACCΨ 4000
CΨGCΨAGΨΨC CAGACACCΨC CCAAGCACGC AGCAAΨGCAG CΨCAAAACGC 4050
ΨΨAGCCΨAGC CACACCCCCA CGGGAAACAG CAGΨGAΨΨAA CCΨΨΨAGCAA 4100
ΨAAACGAAAG ΨΨΨAACΨAAG CΨAΨACΨAAC CCCAGGGΨΨG GΨCAAΨΨΨCG 4150
ΨGCCAGCCAC ACCCΨGGAGC ΨAGCAAAAAA AAAAAAAAAA AAAAAAAAAA 4200
AAAAGCAΨAΨ GACΨAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA 4250
AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAA 4284
hCoV-19/Wuhan/WIV04/2019, collected on December 30, 2019
The full sequence is available throughout the internet, for example here. Not pasting it here, cause it’s pretty long.
Founder of Biiird Studio, UX designer, business philosopher, psychologist, and conflict mediator.