Chemical language model implementation. All software programs were implemented in Python (v3.6.5) using Keras (v2.2.0, ) with the TensorFlow GPU backend (v1.9.0, www.tensorflow.org). The chemical language model was implemented as a recurrent neural network with long short-term memory cells (LSTM) . The neural network was composed of four layers having a total of 5,820,515 parameters (layer 1: BatchNormalization, layer 2: LSTM with 1024 units, layer 3: LSTM with 256 units, layer 4: BatchNormalization) and was trained with SMILES strings encoded as one-hot vectors. The Adam optimizer with a learning rate of 0.001 was used for training the chemical language model training (10 epochs, where one epoch is defined as one pass over all the training data, took ~21 hours on the processed ChEMBL24 data with a 10-fold data augmentation on a single Nvidia GTX 1080 GPU with 256 GB of memory). Each training run was repeated ten times, and 5000 SMILES strings were sampled after each epoch for a total of 10 epochs. Transfer learning was performed by keeping the parameters of the first model layer constant and training the second layer with a smaller learning rate ). Each transfer learning experiment was repeated ten times, and 10000 molecules were sampled after each second epoch for a total of 40 epochs.