jinysun commited on
Commit
4e41bd2
·
verified ·
1 Parent(s): ef7926d

Update tool/deepdonor/sm.py

Browse files
Files changed (1) hide show
  1. tool/deepdonor/sm.py +82 -82
tool/deepdonor/sm.py CHANGED
@@ -1,83 +1,83 @@
1
- # -*- coding: utf-8 -*-
2
- """
3
- Created on Mon Sep 4 10:38:59 2023
4
-
5
- @author: BM109X32G-10GPU-02
6
- """
7
-
8
-
9
- from sklearn.metrics import confusion_matrix
10
- import matplotlib.pyplot as plt
11
- import numpy as np
12
- from rdkit.Chem import AllChem
13
- from sklearn.datasets import make_blobs
14
- import json
15
- import numpy as np
16
- import math
17
- import pickle
18
- from scipy import sparse
19
- from sklearn.metrics import median_absolute_error,r2_score, mean_absolute_error,mean_squared_error
20
-
21
- from tqdm import tqdm
22
-
23
- import pandas as pd
24
- import matplotlib.pyplot as plt
25
- from rdkit import Chem
26
-
27
- from sklearn.ensemble import RandomForestRegressor
28
-
29
- def split_dataset(dataset, ratio):
30
- """Shuffle and split a dataset."""
31
- # np.random.seed(111) # fix the seed for shuffle.
32
- #np.random.shuffle(dataset)
33
- n = int(ratio * len(dataset))
34
- return dataset[:n], dataset[n:]
35
-
36
- def split_string(string):
37
-
38
- result = []
39
-
40
- for char in string:
41
-
42
- result.append(char)
43
-
44
- return result
45
-
46
- def main(sm):
47
-
48
- inchis = list([sm])
49
- rts = list([0])
50
-
51
- smiles, targets,features = [], [],[]
52
- for i, inc in enumerate(tqdm(inchis)):
53
- mol = Chem.MolFromSmiles(inc)
54
- if mol is None:
55
- continue
56
- else:
57
- smi =AllChem. GetMorganFingerprintAsBitVect(mol,3,2048)
58
- smi = smi.ToBitString()
59
- a = split_string(smi)
60
- a = np.array(a)
61
- #smi = Chem.MolToSmiles(mol)
62
- features.append(a)
63
- targets.append(rts[i])
64
-
65
-
66
-
67
- features = np.asarray(features)
68
- targets = np.asarray(targets)
69
- X_test=features
70
- Y_test=targets
71
- n_features=10
72
-
73
- model = RandomForestRegressor(n_estimators=100)
74
- load_model = pickle.load(open(r"tool/deepdonor/sm.pkl", 'rb'))
75
-
76
- # model = load_model('C:/Users/sunjinyu/Desktop/FingerID Reference/drug-likeness/CNN/single_model.h5')
77
- Y_predict = load_model.predict((X_test))
78
- #Y_predict = model.predict(X_test)
79
- x = list(Y_test)
80
- y = list(Y_predict)
81
-
82
- return Y_predict
83
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created on Mon Sep 4 10:38:59 2023
4
+
5
+ @author: BM109X32G-10GPU-02
6
+ """
7
+
8
+
9
+ from sklearn.metrics import confusion_matrix
10
+
11
+ import numpy as np
12
+ from rdkit.Chem import AllChem
13
+ from sklearn.datasets import make_blobs
14
+ import json
15
+ import numpy as np
16
+ import math
17
+ import pickle
18
+ from scipy import sparse
19
+ from sklearn.metrics import median_absolute_error,r2_score, mean_absolute_error,mean_squared_error
20
+
21
+ from tqdm import tqdm
22
+
23
+ import pandas as pd
24
+
25
+ from rdkit import Chem
26
+
27
+ from sklearn.ensemble import RandomForestRegressor
28
+
29
+ def split_dataset(dataset, ratio):
30
+ """Shuffle and split a dataset."""
31
+ # np.random.seed(111) # fix the seed for shuffle.
32
+ #np.random.shuffle(dataset)
33
+ n = int(ratio * len(dataset))
34
+ return dataset[:n], dataset[n:]
35
+
36
+ def split_string(string):
37
+
38
+ result = []
39
+
40
+ for char in string:
41
+
42
+ result.append(char)
43
+
44
+ return result
45
+
46
+ def main(sm):
47
+
48
+ inchis = list([sm])
49
+ rts = list([0])
50
+
51
+ smiles, targets,features = [], [],[]
52
+ for i, inc in enumerate(tqdm(inchis)):
53
+ mol = Chem.MolFromSmiles(inc)
54
+ if mol is None:
55
+ continue
56
+ else:
57
+ smi =AllChem. GetMorganFingerprintAsBitVect(mol,3,2048)
58
+ smi = smi.ToBitString()
59
+ a = split_string(smi)
60
+ a = np.array(a)
61
+ #smi = Chem.MolToSmiles(mol)
62
+ features.append(a)
63
+ targets.append(rts[i])
64
+
65
+
66
+
67
+ features = np.asarray(features)
68
+ targets = np.asarray(targets)
69
+ X_test=features
70
+ Y_test=targets
71
+ n_features=10
72
+
73
+ model = RandomForestRegressor(n_estimators=100)
74
+ load_model = pickle.load(open(r"tool/deepdonor/sm.pkl", 'rb'))
75
+
76
+ # model = load_model('C:/Users/sunjinyu/Desktop/FingerID Reference/drug-likeness/CNN/single_model.h5')
77
+ Y_predict = load_model.predict((X_test))
78
+ #Y_predict = model.predict(X_test)
79
+ x = list(Y_test)
80
+ y = list(Y_predict)
81
+
82
+ return Y_predict
83