The array of candidate residues for each position is then added to an array of arrays. MIMOX finds all the residue neighbour pairs between consecutive candidate residue arrays in the array of arrays. Whether two residues are neighbours is determined by the distance between the two residues and the distance threshold value. If the distance between two residues is below the threshold, the two residues are taken as a neighbour pair. MIMOX provides three methods to calculate neighbour residue pairs. One method is to take the distance between the Cα atoms of the two amino acids as the distance between the two residues. Using Cα atoms may better reflect the backbone positions. The second method is to use the distance between the Cβ atoms, which may better reflect the side chain position (Cα atom is still used when it is a glycine because it does not have a Cβ atom). The third method described below, is based on the distances between all the heavy atoms of the two amino acids. All of the distances mentioned above are Euclidean distances, calculated as: