In the following sections, several data pre-processing and preparation steps will be described which can be applied to the QSPRDataset. The prepareDataset method QSPRDataset streamlines the process by applying the data preparation steps in a fixed order: data filtering, descriptor calculation, data splitting, feature filtering and feature standardization. The user can specify which components should be used for each step, which includes custom components that can be implemented by creating subclasses of the abstract base class for each component. The QSPRDataset and MoleculeTable are serializable to JSON (JavaScript Object Notation) and other associated files (see section 2.2.7), which enable the user to save and reload prepared datasets in machineand human-readable format.