The information of which fragment hits were parents for which crystallised derivative compounds was taken from the Moonshot GitHub repository , but was reduced to contain only the relevant parent hits for each submitted compound as these are presented together for each submission set. Namely, the relevant hits were manually picked based on the binding of the hits and the 2D representation of the derivative to not bias the selection (cf, code in repository). The common protein template used was PDB:6LU7, which was minimised as describe above. Fragmenstein was run with the tweak that the PyRosetta Pose instance was modified to have catalytic His41 protonated on Nδ (HID) and Cys145 deprotonated for non-covalent compounds, while for compounds with electrophilic warheads His41 protonated on Nε (HIE) and Cys145 crosslinked with the compound. Note that the latter functionality is automatic in Fragmenstein if the SMILES to be placed has a dummy atom (* in SMILES) or the warhead conversion code within Fragmenstein is called. RDock was used as a benchmark for pharmacophoreconstrained docking . executed on the same Mpro merges that were placed with Fragmenstein. For each compound, the protein cavity was defined using the RbtLigandSiteMapper on the largest parent fragment hit with a radius of 8Å and the following parameters: SMALL_SPHERE 1.0; MIN_VOLUME 100; MAX_CAVITIES 1; VOL_INCR 0.0; and GRIDSTEP 0.5.