Why R?

∞ generated on 2023.05.19 and updated on 2023.10.03 ∞

How many steps until a phage physically encounters a bacterium?

Please cite as:

Stephen T. Abedon
Why R?
encounter.phage.org


Click here for calculator or see immediately below for further explanation and discussion.

The goal of this calculator is to explore the validity of the theory presented by Schlesinger (1932) considering the kinetics of phage adsorption. Specifically, that theory is based on the ideas of Smoluchowski (1917) regarding "the coagulation kinetics of colloidal solutions." Even more specifically, this a test of the idea that phage adsorption rates will vary as a function the radius (R) of idealized spherical bacterial cells, i.e., as specified by what has become standard adsorption theory .

The bacterium can be either a circle or a square, for which phages conduct a two-dimensional (2D) search – a random walk – where that bacterium is found approximately in the center of a larger 2D square. The larger 2D square should be at least twice the width of the bacterium, but ideally much larger than that. These 2D simulations take much less time to run but are less realistic in terms of output.

Alternatively are 3D spheres and cubes, or for the latter elongated cubes (rectangular cuboids with square perpendicular cross sections), which serve as approximations of bacilli. These 3D searches will take much longer to run than 2D searches for the same-width search environment.

Note that a bacterium of size 1 is basically the size of a phage, while a square with an edge of length, 10, is 100-times that area, while 40 times the 'surface' (perimeter) size. Note also that the phage's intial position is that of the 0,0 or 0,0,0 corner of the grid.

For long simulation runs, start by refreshing the window (ctrl-shift-R), setting 'Popup' to 1, and make sure that you close any previous pop-up windows (you might also need to tell your browser to allow pop-up windows to come from phage.org; these explicitly are not ads!!!).

If your browser asks you if you are to continue waiting, tell it that you do want to (or just do nothing) as these runs can take a very long time. If you navigate away from a running page it may be blank when you return (an indication that the program is still running), but don't worry about that as the page will reappear when the run is (but don't otherwise leave of refresh this page while you are waiting, unless you want to start over).

Note that the provied linear regression summaries (m = slope, b = y-intercept, and r = correlation coefficient) are based upon x and y axes presented as percentages of the results from the smallest cell looked at, e.g., one that is 10 units in radius. These are based the graphing of average number of steps (as a percentage) as a function of either 1/R1 or 1/R2, again as a percentage of the smallest radius looked at. Thus, e.g., [% number of steps] vs. [1/R also as a percentage]

When the pop-up window appears, click on it, then use ctrl-A to highlight all of the text, then ctrl-C to copy all of the text, then insert the text into Excel using ctrl-V.

This data then needs to be deliminated in Excel (sorry about needing to do that). This is accomplished by going to the Data tab, clicking on 'Text to Columns', then choosing 'Delimited', then pressing 'Next', then clidking 'Space', again pressing 'Next', and then pressing 'Finish'.

Work your way up to longer runs – such as by starting using fewer technical repeats – so that you can be sure that runs really will eventually conclude for you. Ultimately, it probably would be good to run 100 or more technical repeats, though this may take your computer a long time (hours?) to accomplish. Also, this is all running on your computer, i.e., as JavaScript app, rather than on a server.



integers for most inputs as enforsed by rounding

= x & y and/or z
above is set to ≥ 2; the bigger the number, the longer the run
the bigger the number, the better the results


= x & y and/or z
above is set to ≥ 1; bigger number, bigger target
target size must be less than 1/2 space size
no reason to modify this unless you are trying to save time



size is radius for a sphere or a circle
size is edge length for a cube or a square



set here to 0 (default) and the previous to 1 for a square
alternatively, set for a rectangular cuboid's height and width
if the latter then length will vary via target size



set above to one (1) or greater
(a 1 is no incrementation)



set to '1' to maximize your exploration of target sizes
set to positive value >1 to increment exponentially
set to negative value to increment arithmetically
use 1.77827941 & min size 10 to go from 10 to 100 to 1k…;
use 1.1892071 & min size 10 to go from 10 to 20 to 40…


= D
circle if set to 2, sphere if set to 3
(the above was changed from "square if set to 2, cube if set to 3" on
2023-09-12 but with the app not otherwise modified substantively)



number of times run ≥ 1; mean is displayed
the more technical repeats the cleaner the results
but the bigger the number, the longer the run



'0' for don't, '1' for do (don't include quotes)
click on popup → ctrl-A → ctrl-C → Excel → ctrl-V →
Data → Text to Columns → Delimited → Space → Next