To model perturbations between two molecules a novel approach based on siamese neural networks was adopted (figure ). This approach has been used in other work for image recognition in low-data regimes where the goal has been to distinguish between images in the testing domain. Typically this approach consists of three concepts: 1) a two-legged structure, where each 'leg' has one input, 2) shared weights between legs such that the legs learn the same encoding and 3) some form of similarity (e.g. Euclidian distance) layer that computes the degree to which encodings overlap.