In the Algorithm, {A1,⋯,An} is a set of n kinome arrays, each containing m peptides and l within-array technical replicates for each peptide; X and Y are two inter-array technical replicates and are denoted by X={xi∣1≤i≤m} and Y={yi∣1≤i≤m}, respectively; peptideIndex is a vector containing the indices of candidate peptides on Y to be (de)phosphorylated; phosphorylated is a binary vector with the same length as peptideIndex that shows the type of phosphorylation; T is a threshold value for significant fold-change; and finally α is a preferred significant level. In vector phosphorylated a value of 1 indicates phosphorylation while a value of 0 signifies dephosphorylation. It should be noted that Y′ is not a technical replicate of X or of Y.