# Introduction
PhageCocktail is a Cytoscape 3.* app designed to find the best combination of phages lysing specified bacteria. As shown in the first image of the screenshots section, given a matrix containing the infection relationship between phages and bacteria, this app provides a user-friendly interface that automates the process and exports resulting information to a file.
# Data Input
For this purpose, the structure of the input matrix representing the Phage-Bacteria infection network must be formatted as indicated in the third image of the screenshots section. Except for the value of the first row, the rest of the values of the first column indicate phage names (Phage1, Phage2, etc). This is due to the fact that the first row is reserved in its entirety for the representations of bacteria names (Bacterium1, Bacterium2, etc). Where, only 0 and 1 values are considered to reflect the infection relationship between involved phages and bacteria ( 0 = does not lyse and 1 = lyses). Being this relationship represented by the names of phages and bacteria and the position of the value (0 or 1) in the matrix. With values at 1x2 representing the lysing relationship between Phage1 and Bacterium2, at 2x3 between Phage2 and Bacterium3 and so on. To ease the format to the user, all the gaps between data are delimited by spaces.
# Installation
For the installation of the App, you need to first configure your own Cytoscape 3.x environment downloading it from [https://cytoscape.org/ here]. Once done, you can install the PhageCocktail app by navigating to the upper menu of the environment and clicking on Apps > AppManager. After that, you just need to search the app by typing the name “PhageCocktail” in the search bar. Eventually, it will show the app and you can finally install it by clicking on “Install”.
# How to use PhageCocktail
When the PhageCocktail app has been installed, you can start using it by selecting the option “Proceed“ in Apps > PhageCocktail. Once done, you have to set the parameters that will guide the design of the phage cocktail (second image in screenshots section). To ease the understanding of the PhageCocktail app execution, the user-specified parameters are explained below:
**Select network file:** Absolute path to the file containing the infection relationship between phages and bacteria. This file must follow the previously specified format in the “Data Input” section.
**Limit:** Integer in the range from 1 to 12 indicating the maximum number of phages in the resulting phage cocktail.
**Design type:** Since the design of the phage cocktail can be obtained trough two different approaches, this option allows the user to select one of them:
- *Network Metrics:* This approach is based on metrics of complex networks. Through this method, phages lysing more bacteria are selected first until the previously specified limit, the number of phages that lyse at least one bacterium or the number of bacteria that can be lysed by the provided phages is reached.
- *Exhaustive Search:* This option performs a combinatorial calculation of all the possible phage combinations in the range from 1 to 12 phages. In this way, it can select those phage cocktails of each combination scenario (size-1 phage cocktail, size-2 phage cocktail, etc) lysing the highest number of bacteria. Again, it will design phage cocktails of all different sizes from 1 to 12 until the previously specified limit, the number of phages that lyse at least one bacterium or the number of bacteria that can be lysed by provided phages is reached.
**Select output file:** Absolute path to the file that will collect information about the designed phage cocktails.
# Output
As expected, depending on the specified “Design type”, the structure of the output file will be different . For this purpose, two examples of how output files look like, depending on the “Design type” selected, are shown in the screenshots section (fourth and fifth images).
As illustrated, there are some common sections in both output files. On the one hand, we see the “Configuration” section which indicates the established values for the parameters. On the other hand, we have the “Initial information” section which is further divided into 2 subsections. The “Bacteria” subsection shows the number of bacteria that can be lysed by provided phages and the number and names of bacteria that cannot be lysed. The next “Phages” subsection indicates the number and name of the non-useful phages, that is to say, the phages that do not lyse any bacterium.
From there on, the structure of both output files changes but it is actually very similar. In both cases, information about the resulting phage cocktail of size n is divided into sections. In them, information about the phage cocktail and the lysed bacteria is separated again into two subsections (“Phage Cocktail” and “Lysed Bacteria”). With both of them indicating the number and name of phages and bacteria lysed by those phages, respectively. Therefore, the only difference in the representation of the two output files are the titles that indicate which of the two design methods has been selected either Network Metrics or Exhaustive Search. In the "Lysed Bacteria" subsection the percentage of lysed bacteria is also indicated.
Apart from that, at the bottom of both output files it can be seen the subsection "Redundancy Analysis". In it, bacteria that are lysed by the phages of the last phage cocktail are listed. To this end, bacteria are ordered from lowest to highest by the number of phages that lyse them.
# Citation
If you use PhageCocktail, please cite it as:
**"Computational Design of Phage Cocktails Based on Phage-Bacteria Infection Networks"**. *Manuel Menor-Flores, Miguel A. Vega-Rodríguez, Felipe Molina*. Computers in Biology and Medicine, Volume 142, 105186, Pergamon-Elsevier Science, Oxford, England, UK, 2022, pp. 1-12, ISSN: 0010-4825. DOI: https://doi.org/10.1016/j.compbiomed.2021.105186.