Beispiel #1
0
def get_mol_objects(SMILES):
    if type(SMILES) == list:
        mols = [MolFromSmiles(SMILES) for SMILES in SMILES]
        return [mol.UpdatePropertyCache(strict=False) for mol in mols if mol != None]
    if type(SMILES) == str:
        mol = MolFromSmiles(SMILES)
        if mol != None:
            return mol.UpdatePropertyCache(strict=False)
Beispiel #2
0
def processor(argv):
    """予測値とSMILESを文字列で返す関数。multiprocessing.Pool.imap用。"""
    smiles, model = argv
    smi = smiles.strip()
    mol = MolFromSmiles(smi)
    mol.UpdatePropertyCache(strict=True)
    rdcalc = RDKitDescriptor()
    xnew = np.array(rdcalc.transform([mol]))
    # print(xnew,type(xnew))
    ypred = model.predict(xnew)
    t2 = t2_score(xnew, model)
    q = q_value(xnew, model)
    return '%s %.8f %.8f %.8f' % (smi, ypred, t2, q)