Sitemap
Predict

where the future is written

SIMBA 2.0-Building a Better Bayesian Pipeline for Viral Evolution in the Coronavirus Spike Protein.

3 min readMar 17, 2026

--

Bioinformatics often feels like a balancing act between mathematical rigour and biological reality. When I first developed the SIMBA framework, my goal was simple. I wanted a way to see where a virus was changing most rapidly. However, as any researcher knows, the first version of a tool is rarely the final word.

Recently, I released SIMBA 2.0. This update is not just a cosmetic change but a fundamental shift in how the software “thinks” about the genome.

The Selection Landscape of the Spike Gene produced by SIMBA 2.0. This plot visualises the posterior probability of positive selection at each codon position using an HKY85-based Bayesian grid. The shaded vertical bands highlight key functional domains, including the Receptor Binding Motif (RBM) and the S1/S2 subunits, where intense evolutionary pressure is most evident. (Image by Author)

Moving Beyond the Simple Calculator

In the original version of SIMBA, I relied on the Nei-Gojobori method. It is a foundational approach in molecular evolution, but it carries a significant limitation. It assumes that every mutation is equally likely to occur. In the biological world, this is rarely true.

When we look at the Spike protein, we are looking at one of the most complex pieces of viral machinery. To analyse it properly, I had to move to the HKY85 substitution model . Unlike its predecessor, HKY85 acknowledges that transitions (mutations between similar bases) happen more frequently than transversions. It also accounts for the fact that base frequencies in a viral genome are rarely even.

By making this change, the software became less of a simple calculator and more of a high-fidelity lens.

The Power of the Bayesian Grid

The second major shift was in the statistical engine. SIMBA 2.0 now employs an Empirical Bayesian Grid for its inference.

Get Milton Simba Kambarami’s stories in your inbox

Join Medium for free to get updates from this writer.

In traditional frequentist statistics, you are often looking for a single point of truth. By using a Bayesian approach, the tool learns a “prior” from the dataset itself. It looks at the overall evolutionary signal across the entire gene before deciding how significant the mutations at a specific codon really are.

This is particularly useful when sequences have varying levels of quality. I implemented epsilon-normalisation to ensure that numerical stability is maintained even when the data is sparse. It ensures that the “noise” of sequencing errors does not drown out the “signal” of true positive selection.

Mapping the Functional Terrain

Perhaps the most rewarding part of this build was the visualisation suite. Data is only as good as our ability to interpret it.

Press enter or click to view image in full size
Divergence of evolutionary rates. This log-scale scatter plot visualises the posterior rates calculated by SIMBA 2.0. Codon sites with neutral or negative selection cluster near or below the dashed line. In contrast, the red points indicate distinct functional hotspots, likely located within critical protein domains, where non-synonymous rates (beta) exceed synonymous rates (alpha), indicating a strong signature of positive selection.(Image by Author)

I designed the tool to automatically shade functional regions like the Receptor Binding Domain (RBD) and the Receptor Binding Motif (RBM). When you run the pipeline, you don’t just get a table of numbers. You get a “Selection Landscape and Rates.” (Fig 1 and Fig 2). You can see exactly which evolutionary hotspots fall within critical structural areas of the Spike gene.

A Journey in Independent Research

Building SIMBA 2.0 while balancing my role as a science educator in Harare has been a lesson in focus. It has reinforced my belief that we don’t need massive institutional clusters to produce meaningful research tools.

Sometimes, all you need is a deep curiosity about how a virus evolves and a clean Python environment to build the solution.

The project is now open-source on GitHub for anyone interested in exploring the landscape of viral selection.

--

--