(3) Load the features calculated by PyContact 1 (all of the non-covalent interactions) into the program and perform some basic pre-processing (standardize formatting, merge multiple files etc.). (4) Prepare the data set for further analysis by filtering which features to include and optionally merging a target label if one was generated during Step 2. Following from this, a user can choose between performing one or more of the following analysis techniques on the system of interest: machine learning, statistical modelling, or network analysis (Step 5, pathway 1). For the machine learning and statistical modelling pathways, one can apply KIF to identify the key non-covalent interactions distributed throughout the protein that are the most sensitive to the target variable's value (Step 6, pathway 1). Further, the per feature (i.e., per interaction) scores generated can be readily outputted and/or further post-processed to generate per residues scores, by summing and normalizing the per feature scores that each residue is present in (Step 7, pathway 1). Alongside outputting the per feature and per residue scores in a tabular format, these results can be visualized on a protein structure by creating PyMOL 38 compatible scripts (Step 5, pathway 2). For the network analysis pathway, a per residue correlation matrix and per residue distance matrix are generated which can be readily applied to the many different graph theory-based methods available in many pre-existing programs (such as WISP, 39 BIO3D 81 and NetworkX 86 ).