|
|
|
|
|
""" |
|
|
Created on Mon Sep 4 10:38:59 2023 |
|
|
|
|
|
@author: BM109X32G-10GPU-02 |
|
|
""" |
|
|
|
|
|
|
|
|
from sklearn.metrics import confusion_matrix |
|
|
|
|
|
import numpy as np |
|
|
from rdkit.Chem import AllChem |
|
|
from sklearn.datasets import make_blobs |
|
|
import json |
|
|
import numpy as np |
|
|
import math |
|
|
import pickle |
|
|
from scipy import sparse |
|
|
from sklearn.metrics import median_absolute_error,r2_score, mean_absolute_error,mean_squared_error |
|
|
import joblib |
|
|
from tqdm import tqdm |
|
|
|
|
|
import pandas as pd |
|
|
|
|
|
from rdkit import Chem |
|
|
|
|
|
from sklearn.ensemble import RandomForestRegressor |
|
|
|
|
|
|
|
|
def split_string(string): |
|
|
|
|
|
result = [] |
|
|
|
|
|
for char in string: |
|
|
|
|
|
result.append(char) |
|
|
|
|
|
return result |
|
|
|
|
|
def main(sm): |
|
|
|
|
|
|
|
|
inchis = list([sm]) |
|
|
rts = list([0]) |
|
|
|
|
|
smiles, targets,features = [], [],[] |
|
|
for i, inc in enumerate(tqdm(inchis)): |
|
|
mol = Chem.MolFromSmiles(inc) |
|
|
if mol is None: |
|
|
continue |
|
|
else: |
|
|
smi =AllChem. GetMorganFingerprintAsBitVect(mol,3,2048) |
|
|
smi = smi.ToBitString() |
|
|
a = split_string(smi) |
|
|
a = np.array(a) |
|
|
|
|
|
features.append(a) |
|
|
targets.append(rts[i]) |
|
|
|
|
|
|
|
|
|
|
|
features = np.asarray(features) |
|
|
targets = np.asarray(targets) |
|
|
X_test=features |
|
|
Y_test=targets |
|
|
n_features=10 |
|
|
|
|
|
model = RandomForestRegressor(n_estimators=100) |
|
|
load_model = pickle.load(open(r"tool/deepdonor/pm.pkl", 'rb')) |
|
|
|
|
|
|
|
|
Y_predict = load_model.predict(X_test) |
|
|
|
|
|
x = list(Y_test) |
|
|
y = list(Y_predict) |
|
|
|
|
|
return Y_predict |
|
|
|