Dataset construction. Enzyme-substrate interaction data were collected from the Rhea 22 , KEGG 23 , MetaCyc 24 , Brenda 25 , and RxnFinder 26,27 databases. We collected biochemical reactions with known enzymes from these databases and organized them into relational pairs composed of the enzymes and substrates. Since most of the enzymatic reactions are bidirectional, both reactants and products of reactions were considered substrates of an enzyme. The molecular structure of substrates and the sequences of enzymes were collected from PubChem 38 and UniProt 14 , respectively. Subsequently, redundancy caused by data integration was eliminated based on the SMILES of substrates and UniProt IDs of enzymes. To avoid the excessive consumption of resources and interference for model training, data pairs involving enzymes with sequence lengths >1500 amino acids and some parts of substrates, such as water, cupric ions, and carbon dioxide, were removed from the data set. Unlike the traditional random sampling methods, we adopted a weighted random sampling strategy, which assumes that enzymes with fewer reported substrates have higher catalytic specificity and enzymes with many reported substrates have higher catalytic promiscuity. Therefore, to reflect both enzyme promiscuity and specificity, more corresponding "negative" enzyme-substrate pairs should be included in the dataset (Fig ). The weight of the "negative" enzyme-substrate pairs was calculated as follows: