Using the aligned crystal structures from CrossDocked, we also determined the extent of each protein binding pocket. For each pocket, we superimposed all ligand crystal structures that bind to that pocket, and, for each receptor crystal structure, we chose all residues within 5 Å of any ligand atom. We saved a separate pocket PDB file for each receptor. We also defined the pocket 3D bounding box to be the minimum box that contains all crystallized ligands with 4 Å of padding on all sites. We filtered out all pockets with less than 5 residues or with bounding boxes of more than 42 Å on any side. We additionally used PDBFixer 39 to add missing atoms to each PDB file. When training the models on this dataset, we chose a random pocket from the relevant pocket folder.