The raw molecular information is subjected to a number of filtering steps that ensure a high-quality, consistent representation suitable for various machine learning algorithms. In the majority of cases, the primary and confirmatory screens are reported as separate bioassays in PubChem. Thus, the filtering steps are applied independently on the SD and DR datasets. In the case where the primary and confirmatory data are reported in a single bioassay, the same filtering steps are applied on the single data table . Filtering is always applied after the preprocessing steps described above. The filtering pipeline consists of four major steps, also illustrated in Figure 1. Sanitisation with RDKit -The function Chem.MolFromSmiles from the open-source library RDKit was used to construct a molecular object, represented by the Mol class. This representation provides access to the molecular structure and to other filtering-relevant functions regarding stereoisomers, removing charges, etc. Importantly, loading the SMILES into RDKit acts as an initial filtering step by itself, as RDKit uses a sanitisation procedure internally. This resulted in a number of entries (molecules) being removed, most commonly due to valence errors or SMILES consisting only of hydrogen atoms. On average, this step led to the removal of 863 ± 1313.8 (± standard deviation) compounds for the SD datasets (0.33% of the unfiltered size), and 8.7 ± 42.7 for the DR datasets (0.46% of the unfiltered size). For the DR datasets, more than 10 compounds were removed only for two datasets.