targets = SA_scores_normalized + qed_values_normalized + cycle_scores_normalized

    reg_scores = []  # collect y-values for objective function
    qed_scores = []  # collect scores for qed term in objective function
    SA_values = []

    for i in range(len(valid_smiles_final)):
        to_add = []
        qed_store = []
        SA = []
        if len(valid_smiles_final[i]) != 0:
            for j in range(0, len(valid_smiles_final[i])):
                current_qed_value = qed.default(
                    MolFromSmiles(valid_smiles_final[i][j]))
                current_SA_score = -sascorer.calculateScore(
                    MolFromSmiles(valid_smiles_final[i][j]))
                cycle_list = nx.cycle_basis(
                    nx.Graph(
                        rdmolops.GetAdjacencyMatrix(
                            MolFromSmiles(valid_smiles_final[i][j]))))

                if len(cycle_list) == 0:
                    cycle_length = 0
                else:
                    cycle_length = max([len(j) for j in cycle_list])
                if cycle_length <= 6:
                    cycle_length = 0
                else:
                    cycle_length = cycle_length - 6

                current_cycle_score = -cycle_length
enc_dec = lasp.EncoderDecoder()
encoder, decoder = enc_dec.get_functions()

smiles_rdkit = []
for i in range(len(smiles)):
    smiles_rdkit.append(MolToSmiles(MolFromSmiles(smiles[i])))
    print(i)

logP_values = []
for i in range(len(smiles)):
    logP_values.append(Descriptors.MolLogP(MolFromSmiles(smiles_rdkit[i])))
    print(i)

SA_scores = []
for i in range(len(smiles)):
    SA_scores.append(-sascorer.calculateScore(MolFromSmiles(smiles_rdkit[i])))
    print(i)

cycle_scores = []
for i in range(len(smiles)):
    cycle_list = nx.cycle_basis(nx.Graph(rdmolops.GetAdjacencyMatrix(MolFromSmiles(smiles_rdkit[i]))))
    if len(cycle_list) == 0:
        cycle_length = 0
    else:
        cycle_length = max([len(j) for j in cycle_list])
    if cycle_length <= 6:
        cycle_length = 0
    else:
        cycle_length = cycle_length - 6
    cycle_scores.append(-cycle_length)
    print(i)