Percolation theory reveals biophysical properties of virus-like particles​
​by Nicholas E. Brunk

Abstract

What could biological viruses and the “triforce” from Zelda have in common? The triforce makes use of the ability to further triangulate a triangle, specifically generating an equilateral triangle from a composite of four smaller equilateral triangles. Such principles can be applied repeatedly, furthering triangulation (or equivalently, an arbitrarily larger lattice could be made by appending multiple triforces to one another). This has an intuitive engineering simplicity at its core: assembling something larger out of many identical copies of something smaller. Nature is among the most impressive engineers; as such, it has effectively exploited this trick in virology in the construction of the protective protein shell of the virus, the‘capsid’.
​
Viruses employ this trick to self-assemble their large polyhedral capids cheaply. After an infection and cellular entry of the virus, it hijacks the cellular machinery that makes proteins. It does this by feeding into this machinery a genetic code for making subunits. These proteinacious, often-triangular “Legos” then spontaneously self-assemble into polyhedra, eventually serving to protect the genetic material after cellular exit during continuation of the virus life cycle, e.g. protection while in transit between hosts. Viruses employ triangulation, or a “Triforce trick” of sorts, to scale up to sizes capsid sizes large enough to accommodate the genome, and to do so economically; that is, it’s cheaper to have a shorter genome that codes for one repeating “Lego” subunit than it is to code for multiple unique pieces. The ability of hundreds to thousands of identical triangular subunits to “triforce” their way into a large, spontaneously self-assembled spherical shell makes up a large class of spherical capsids. There are research thrusts endeavoring to understand everything about capsids, from how they tile the polyhedral surface topologically, to how they self-assemble due to predominantly weak bonds between the subunits, to how they disassemble post-infection, all the way to how we can repurpose them for our own nanotechnological gains. Here, we focus on their topological tiled structure & disassembly thereof, from the perspective of percolation theory, studying the behavior of capids as one “punches holes in them” in a more casual and code-heavy reproduction of the results of a corresponding publication in ACS Nano. Techniques used in this mathematical generalization were first experimentally validated using Hepatitis B Virus in a set of publications in Physical Biology and Protein Science.
​
As an aside prior to moving onto viruses specifically, mathematically-inclined readers interested in triangulation generally will notice there is an analogous iterative triangulation process in the Sierpiński triangle fractal.

Introduction: Viral Tilings, Triangulation, & the “Triforce Trick”

Viral tiling theory defining the polyhedra seen in the virosphere is detailed in several publications, from early Caspar-Klug Theory to Reidun Twarock and Antoni Luque’s recent, broader generalization thereof. Viruses rely on symmetry for ease of construction of their viruses. Their shells are triangulated with many copies of the same subunits, similar to how the Triforce in Zelda is consistent of several smaller triangles.
​
Let’s use the Wolfram Language’s built-in functionality for importing protein database structures and visualizing them to look at the triangular subunit of Pariacoto Virus:
In[]:=
Import["http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId=1f8v","PDB",PlotLabel->Style["Pariacoto Virus: Triangular Subunit",16,FontFamily->"Times New Roman"]]
Out[]=
Let’s strip away the ribbon diagram nature and take a look at Nature’s “triforce trick” using subunits like these to generate a set of increasingly large triangular tilings “stretched” over a spherical surface using increasingly-fine tesselations in the geodesation of the icosaehdra:
In[]:=
(*Preliminaryfunctionstoextractthevertexcoordinates&faceverticesinagivenGraphics3Dobject(andthuscountthem):*)​​extractVertCoords[graphics3D_]:=N[graphics3D/.Graphics3D[GraphicsComplex[vCoords_List,___],___]vCoords]​​extractFaceVerts[graphics3D_]:=DeleteCases[graphics3D/.{​​Graphics3D[GraphicsComplex[vertCoords_,{EdgeForm[],{Polygon[faceVerts_]}},___],___]faceVerts,​​Graphics3D[GraphicsComplex[vertCoords_,Polygon[faceVerts_]]]faceVerts},{}]
In[]:=
(*Producetherelevanttriangulations:*)​​<<PolyhedronOperations`​​icosahedralTesselations=Table[Geodesate[PolyhedronData["Icosahedron"],i],{i,1,6}];​​RowShow#,PlotLabel->StyleStringForm"T = `1`",
Length@extractFaceVerts[#]
20.
,Black,16,FontFamily->"Times New Roman",Boxed->False,ImageSize->250&/@icosahedralTesselations,Spacer[15]
After the hijacked cell’s individual manufacture of each triangular subunit, the subunits spontaneously self-assemble into the above shells, with a given species of virus typically preferring one or a select few “architectures.” For triangular tessellations, the “triangulation number”
T
corresponds to the multiple of 20 triangular protein subunits found in the given tessellation. Thus, a standard icosahedron has a T-number of 1, and the icosahedrally-symmetric tessellations scale up from here; they are shown in the plot labels of the above shells. Upon the shell’s delivery of the cargo to the next unsuspecting victim, they enter the cell and then disassemble to free the genome and continue the life cycle. Both the initial self-assembly and final disassembly of these shells are ongoing areas of research. Of course, researchers are also keen on general investigations into properties of these shells and if we can repurpose them for our own nanotechnological purposes, e.g. for the delivery of nanomedicine in patients or for chemical catalysis in self-assembled, close-packed superlattices of these shells.
​
Percolation theory studies the connectivity of lattices and can be used to study the stability of these shells, for example, “how many holes can be punched in the shell before it falls apart?” This is - not surprisingly - sensitive to the type of lattice in question, including which triangulation and even whether or not the subunits are triangular in shape at all. For example, rhombic subunits effectively consist of two triangular subunits adjoined together; this is the case for Hepatitis B Virus, which consists of 120 “dimeric” rhombic subunits made of two triangular monomer each. In this post we will explore the triangular tilings themselves and their properties, trying to answer a question of robustness and persistence. Specifically, how robust are the various triangulations to subunit dissociation and complete breakdown as you “punch holes in it” via the removal of subunits? More specifically still, given a biophysical experiment in which one can tune the number of triangular subunits removed, how would one go about simulating the topological end-result? The Wolfram Language’s Polyedron and Graphics3D functionality is excellent for initial generation (and investigation) of these tilings. Further, and automated translation into graphs make the Wolfram Language’s graph theory functionality an excellent means to address the questions of topological percolation and stability.
​
Before we dive into an analysis of the triangular tilings, let’s get all the tilings we would like to study in order. Recall we obtained the above by successively higher-order tessellations of the icosahedra.
​
Notice that the icosahedron and dodecahedron are dual to one another (with any one of a variety of ways to do this in the WL):
In[]:=
{PolyhedronData["Icosahedron"],PolyhedronData["Icosahedron","Dual"],PolyhedronData["Dodecahedron"]}
Out[]=
Let’s see if we can generate other triangulations from higher-order tessellations of the dodecahedron that were not available from the icosahedron:
In[]:=
dodecahedralTesselations=Table[Geodesate[PolyhedronData["Dodecahedron"],i],{i,1,4}];​​RowShow#,PlotLabel->StyleStringForm"T = `1`",
Length@extractFaceVerts[#]
20.
,Black,16,FontFamily->"Times New Roman",Boxed->False,ImageSize->250&/@dodecahedralTesselations,Spacer[15]
Indeed, each of these is uniquely accessible via tessellation of the dodecahedron! Let’s combine the two and have the WL sort them automatically by number of subunits
(Tnumber)
:
In[]:=
virusShells=SortBy[icosahedralTesselations~Join~dodecahedralTesselations,Length[extractFaceVerts[#]]&];​​​​MulticolumnShow#,PlotLabel->StyleStringForm"T = `1`",
Length@extractFaceVerts[#]
20.
,16,FontFamily->"Times New Roman",Boxed->False,ImageSize->250&/@virusShells,5,Appearance"Horizontal"
It turns out that all triangular-subunit virus shells up to T = 48, with the exception of “chiral” T-numbers, can be approximated as more finely-tessellated geodesations of the icosahedron and dodecahedron.
​
The remaining exceptions unobtainable via this method are “chiral” (e.g.
T=7
capsids), meaning they have a “handed-ness” to them.
​
The
T=3
polyhedron is the structure naturally adopted by Pariacoto Virus, whose subunit was shown above.

Methods: Topological Representations & Protein Cages

Lattice Duality: Dual Polyhedra

In order to start “punching holes” in these viruses, we need to have a computationally user-friendly method to do so. Graph-lattice duality can be employed to translate the subunit lattices into a subunit-bond network problem, which renders this what is called a site percolation problem in percolation theory. Specifically, we will do this in two steps. First, we will compute the duals to each lattice above, so as to have a vertex at the centroid of each triangular face, still as a Graphics3D dual polyhedron. Then, we will translate the dual polyhedron’s Graphics3D object into a Graph object, allowing us to start investigating topological questions as a function of subunit (vertex) removal.
​
In order to generate the dual polyhedra (using Graphics3D objects), the following functionality (borrowed from Stack Exchange) is useful:
Using this, let’s first look at the initial step of generating the dual polyhedra from the original viral polyhedra:

Graph-Lattice Duality

We now need to convert the dual tiling into a computable graph theoretical representation, to start punching holes in the original structure topologically.
​
Let’s use the following functionality to translate a Graphics3D polyhedron into a Graph object of the same connectivity, and then combine our graphics:
Now let’s look at the graph representation of the polyhedra:
Let’s combine it all together, both the original polyhedra and graphical representations of both:
It’s a bit more clear now why these repurposed viral shells are often artistically referred to as “protein cages” for cargo, in particular in nanotechnological applications.
​
It’s also clear now that, by virtue of both lattice-lattice duality and graph-lattice duality, the blue graph vertices center to each face now represent the triangular subunits of the original virus.
​
Therefore, a vertex-centric view of the graphs constructed from the dual polyhedra are sufficient to represent our virus capsid topologically and in a computationally-friendly manner.

General Topological Inquiries

Before we start punching holes in them, let’s do some preliminary sanity checks and characterization of these graphs.
​
Let’s check the number of “bonds” each virus has between subunits, which correlates with the stability of the subunits held in place (and is the reason they spontaneously self-assemble):
Interestingly, these graphs are still topologically planar, meaning there is a way in which you can draw them on a plane such that no two edges intersect.

Viral Graph Fragmentation / Percolation

Viral Fragmentation Thresholds

Finally, we are ready to punch topological holes in these viruses. So let’s get started & return to our original question: how do the virus tilings fare when holes are punched in them, and when do they fall apart?
​
Here’s a simple function to randomly punch a requested number of holes (randomly remove vertices) from any graph (and an otherwise equivalent one that has a normally distributed number of subunits deleted):
Notice that, because we are removing only 10%, essentially all of the above remain connected.
​
Let’s try a more significant extent of subunit removal, say, removing half (30 / 60):
Here, it’s clear we’ve traversed a threshold, below which almost all remain connected, and above which to where almost all are disconnected, dysfunctional small fragments.
​
What we were doing above, repeatedly sampling to see a bulk statistical trend, is a basic form of Monte Carlo simulation. Let’s use this technique in considerable bulk to assess how the decay occurs:

Fragment Size Distributions

Let’s plot the histogram PDFs of the empirical distributions along with their CDFs:

Conclusions: Biophysics, Caveats, & Callouts

A much more common metric in percolation theory is the percolation threshold, which studies the breakdown of any long-range connectivity as a function of fractional occupancy (rather than characterizing the point of any loss of connectivity at all). Thus, the fragmentation threshold studied here is inherently less than the percolation threshold (from the perspective of vertex deletion fraction), as the connectivity criteria is more rigid. In characterizing the persistence of any long-range connectivity, percolation threshold could characterize the effectively complete breakdown of the above shells as a function of the number of triangular subunits above removed (beyond which no appreciably sized cluster on the order of system size is expected). This would presumably eliminate susceptibility to singlet exclusion and its allowing for some ongoing contribution to the CDF by appreciably sized species slightly above the fragmentation threshold. While experiments on capsids are susceptible to kinetic and thermodynamic effects hypothesized to induce further breakdown of capsids much beyond the prominent topological effects at the fragmentation threshold, it remains to be seen if - from a higher-level algorithmic perspective - one can be written in the Wolfram Language to estimate percolation thresholds specifically. The ability to detect percolation thresholds in the Wolfram Language would have considerable impact on the workflow of general percolation theorists and, in turn, its application to other fields, including in the spread of communicable viruses rather than in the admittedly more esoteric biophysics of their individual particles.