ii) forward reaction prediction, which starts with precursors and predicts potential products; and iii) reaction conditions prediction (catalyst, solvent, temperature etc. required for a reaction to occur). Impurity prediction can be regarded as a subtask of forward reaction prediction and involves predicting byproducts of a reaction given a set of precursors (reactants, reagents, main products etc.) and may also optionally include reaction conditions (temperature, catalyst, solvent etc.).