Phage Cocktail Cross-Resistance Avoider

∞ generated and posted on 2020.10.22 ∞

How well will your phage cocktail impact your favorite bacterial species in light of cross resistance?

Please cite as:

Stephen T. Abedon
Phage Cocktail Cross-Resistance Avoider
x-resist-x.phage-therapy.org


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

This page builds on that of breadth-depth.phage-therapy.org by taking into account the cross-resistance groups that individual phages in a cocktail are found in. It does this by determining the degrees of host range-overlap for every combination of phages found within a cocktail that are not found in the same cross-resistance group.

For example, for three cross-resistance groups – 1, 2, and 3 – there may be 0 phages (e.g., as found in 00000, 00000, and 00000), 1 phage (e.g., 00000, 01010, and 00000), 2 phages (e.g., 00001, 01010, and 00000), or 3 phages (e.g., 00001, 01010, and 01000) that are found in different cross-resistance groups (the different groups of 1s and 0s), representing depths of activity against the single bacterium in question of 0, 1, 2, and 3, respectively.

To run this app, your goal will be to generate two or more two-dimensional arrays consisting of a stack of one-dimensional arrays (i.e., rows) with each row corresponding to one potential target bacterial strain that has been tested for phage host range. Arrays should consist of ones and zeros only, with each digit, whether positive (1) or negative (0), referring to a single tested phage type.

An example could be "10110", which would represent one tested bacterial strain and 5 different tested phages, for three of which that bacterium is found within their host range (corresponding to the three 1s). The length of this array/row thus will be that of the number of phages tested, i.e., in the example this would be 5 phages.

The number of rows will be the number of bacteria tested and order and number of rows should be kept constant from box to box (and should equal the "Number of bacteria tested" as indicated below). Thus, rows represent the data for a single bacterium and columns represent the data for a single phage, with explicitly different phages found in different boxes (these boxes are found within the 'blue', below).

For output, note that rows are presented as a list showing calculated phage depth of activity for each bacterium tested, with each digit corresponding, in order, to each row. For example, "2,1,0,1,2,0,3,1" would indicate that one bacterium is hit by three phages from three different cross-resistance groups, two bacteria are hit by two phages from two different cross-resistance groups, three bacteria are hit by only one phage each, and two bacteria are hit by no phages among those tested.

Only bacteria hit by at least two phages that are members of at least two different cross-resistance groups (depth of activity > 1) will display a reduced potential to mutationally evolve phage-resistance.

Each box (see as found within the 'blue' below) should correspond to the host-range data for phages found within a single cross-resistance group.

Here is some test phage host-range data to try, separated into three different cross-resistance groups:

  Test xRes  
  Group #1:  

00000
10110
01000
00000
00000
00000
01000
01010
11100
01100
  Test xRes  
  Group #2:  

10110
01010
11000
00000
00101
00000
00011
11010
00000
01000
  Test xRes  
  Group #3:  

00000
10110
00000
00000
11100
00000
01011
00000
00001
00000
  Test xRes  
  Group #4:  

00000
01100
00000
00010
00000
00000
00111
00000
01100
00100







Above is the number of 1s and 0s (phages) per row.


Above is the number of rows (bacteria) of 1s and 0s.



1 means pos result, e.g., non-turbid spot (some colonies OK).
0 means neg result, e.g., turbid spot or individual plaques.
010 means first phage is neg, second is pos, third is neg…
Start a new row to enter data from an additional host.
Make sure that each row is separated by a break line.
Note that xRes Group #3 need not be entered.