shaktidharreddy08 commited on
Commit
db78d1c
1 Parent(s): 9af6a92

Add files via upload

Browse files
bioactivity_prediction_app.ipynb ADDED
@@ -0,0 +1,1555 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {
6
+ "id": "QQHZHevuXdEy"
7
+ },
8
+ "source": [
9
+ "# **QSAR Model Building of Acetylcholinesterase Inhibitors**\n",
10
+ "\n",
11
+ "Chanin Nantasenamat\n",
12
+ "\n",
13
+ "*Data Professor YouTube channel, http://youtube.com/dataprofessor*"
14
+ ]
15
+ },
16
+ {
17
+ "cell_type": "markdown",
18
+ "metadata": {
19
+ "id": "g1qtHa0zXfWM"
20
+ },
21
+ "source": [
22
+ "# Read in data"
23
+ ]
24
+ },
25
+ {
26
+ "cell_type": "code",
27
+ "execution_count": 7,
28
+ "metadata": {
29
+ "id": "9MdfbvFKXtXq"
30
+ },
31
+ "outputs": [],
32
+ "source": [
33
+ "import pandas as pd"
34
+ ]
35
+ },
36
+ {
37
+ "cell_type": "code",
38
+ "execution_count": 8,
39
+ "metadata": {
40
+ "colab": {
41
+ "base_uri": "https://localhost:8080/",
42
+ "height": 439
43
+ },
44
+ "id": "nerGP0fCXfgP",
45
+ "outputId": "b639892c-8f7b-4b24-d02c-628c9f1a1460"
46
+ },
47
+ "outputs": [
48
+ {
49
+ "data": {
50
+ "text/html": [
51
+ "<div>\n",
52
+ "<style scoped>\n",
53
+ " .dataframe tbody tr th:only-of-type {\n",
54
+ " vertical-align: middle;\n",
55
+ " }\n",
56
+ "\n",
57
+ " .dataframe tbody tr th {\n",
58
+ " vertical-align: top;\n",
59
+ " }\n",
60
+ "\n",
61
+ " .dataframe thead th {\n",
62
+ " text-align: right;\n",
63
+ " }\n",
64
+ "</style>\n",
65
+ "<table border=\"1\" class=\"dataframe\">\n",
66
+ " <thead>\n",
67
+ " <tr style=\"text-align: right;\">\n",
68
+ " <th></th>\n",
69
+ " <th>PubchemFP0</th>\n",
70
+ " <th>PubchemFP1</th>\n",
71
+ " <th>PubchemFP2</th>\n",
72
+ " <th>PubchemFP3</th>\n",
73
+ " <th>PubchemFP4</th>\n",
74
+ " <th>PubchemFP5</th>\n",
75
+ " <th>PubchemFP6</th>\n",
76
+ " <th>PubchemFP7</th>\n",
77
+ " <th>PubchemFP8</th>\n",
78
+ " <th>PubchemFP9</th>\n",
79
+ " <th>...</th>\n",
80
+ " <th>PubchemFP872</th>\n",
81
+ " <th>PubchemFP873</th>\n",
82
+ " <th>PubchemFP874</th>\n",
83
+ " <th>PubchemFP875</th>\n",
84
+ " <th>PubchemFP876</th>\n",
85
+ " <th>PubchemFP877</th>\n",
86
+ " <th>PubchemFP878</th>\n",
87
+ " <th>PubchemFP879</th>\n",
88
+ " <th>PubchemFP880</th>\n",
89
+ " <th>pIC50</th>\n",
90
+ " </tr>\n",
91
+ " </thead>\n",
92
+ " <tbody>\n",
93
+ " <tr>\n",
94
+ " <th>0</th>\n",
95
+ " <td>1</td>\n",
96
+ " <td>1</td>\n",
97
+ " <td>1</td>\n",
98
+ " <td>0</td>\n",
99
+ " <td>0</td>\n",
100
+ " <td>0</td>\n",
101
+ " <td>0</td>\n",
102
+ " <td>0</td>\n",
103
+ " <td>0</td>\n",
104
+ " <td>1</td>\n",
105
+ " <td>...</td>\n",
106
+ " <td>0</td>\n",
107
+ " <td>0</td>\n",
108
+ " <td>0</td>\n",
109
+ " <td>0</td>\n",
110
+ " <td>0</td>\n",
111
+ " <td>0</td>\n",
112
+ " <td>0</td>\n",
113
+ " <td>0</td>\n",
114
+ " <td>0</td>\n",
115
+ " <td>6.124939</td>\n",
116
+ " </tr>\n",
117
+ " <tr>\n",
118
+ " <th>1</th>\n",
119
+ " <td>1</td>\n",
120
+ " <td>1</td>\n",
121
+ " <td>1</td>\n",
122
+ " <td>0</td>\n",
123
+ " <td>0</td>\n",
124
+ " <td>0</td>\n",
125
+ " <td>0</td>\n",
126
+ " <td>0</td>\n",
127
+ " <td>0</td>\n",
128
+ " <td>1</td>\n",
129
+ " <td>...</td>\n",
130
+ " <td>0</td>\n",
131
+ " <td>0</td>\n",
132
+ " <td>0</td>\n",
133
+ " <td>0</td>\n",
134
+ " <td>0</td>\n",
135
+ " <td>0</td>\n",
136
+ " <td>0</td>\n",
137
+ " <td>0</td>\n",
138
+ " <td>0</td>\n",
139
+ " <td>7.000000</td>\n",
140
+ " </tr>\n",
141
+ " <tr>\n",
142
+ " <th>2</th>\n",
143
+ " <td>1</td>\n",
144
+ " <td>1</td>\n",
145
+ " <td>1</td>\n",
146
+ " <td>0</td>\n",
147
+ " <td>0</td>\n",
148
+ " <td>0</td>\n",
149
+ " <td>0</td>\n",
150
+ " <td>0</td>\n",
151
+ " <td>0</td>\n",
152
+ " <td>1</td>\n",
153
+ " <td>...</td>\n",
154
+ " <td>0</td>\n",
155
+ " <td>0</td>\n",
156
+ " <td>0</td>\n",
157
+ " <td>0</td>\n",
158
+ " <td>0</td>\n",
159
+ " <td>0</td>\n",
160
+ " <td>0</td>\n",
161
+ " <td>0</td>\n",
162
+ " <td>0</td>\n",
163
+ " <td>4.301030</td>\n",
164
+ " </tr>\n",
165
+ " <tr>\n",
166
+ " <th>3</th>\n",
167
+ " <td>1</td>\n",
168
+ " <td>1</td>\n",
169
+ " <td>0</td>\n",
170
+ " <td>0</td>\n",
171
+ " <td>0</td>\n",
172
+ " <td>0</td>\n",
173
+ " <td>0</td>\n",
174
+ " <td>0</td>\n",
175
+ " <td>0</td>\n",
176
+ " <td>1</td>\n",
177
+ " <td>...</td>\n",
178
+ " <td>0</td>\n",
179
+ " <td>0</td>\n",
180
+ " <td>0</td>\n",
181
+ " <td>0</td>\n",
182
+ " <td>0</td>\n",
183
+ " <td>0</td>\n",
184
+ " <td>0</td>\n",
185
+ " <td>0</td>\n",
186
+ " <td>0</td>\n",
187
+ " <td>6.522879</td>\n",
188
+ " </tr>\n",
189
+ " <tr>\n",
190
+ " <th>4</th>\n",
191
+ " <td>1</td>\n",
192
+ " <td>1</td>\n",
193
+ " <td>0</td>\n",
194
+ " <td>0</td>\n",
195
+ " <td>0</td>\n",
196
+ " <td>0</td>\n",
197
+ " <td>0</td>\n",
198
+ " <td>0</td>\n",
199
+ " <td>0</td>\n",
200
+ " <td>1</td>\n",
201
+ " <td>...</td>\n",
202
+ " <td>0</td>\n",
203
+ " <td>0</td>\n",
204
+ " <td>0</td>\n",
205
+ " <td>0</td>\n",
206
+ " <td>0</td>\n",
207
+ " <td>0</td>\n",
208
+ " <td>0</td>\n",
209
+ " <td>0</td>\n",
210
+ " <td>0</td>\n",
211
+ " <td>6.096910</td>\n",
212
+ " </tr>\n",
213
+ " <tr>\n",
214
+ " <th>...</th>\n",
215
+ " <td>...</td>\n",
216
+ " <td>...</td>\n",
217
+ " <td>...</td>\n",
218
+ " <td>...</td>\n",
219
+ " <td>...</td>\n",
220
+ " <td>...</td>\n",
221
+ " <td>...</td>\n",
222
+ " <td>...</td>\n",
223
+ " <td>...</td>\n",
224
+ " <td>...</td>\n",
225
+ " <td>...</td>\n",
226
+ " <td>...</td>\n",
227
+ " <td>...</td>\n",
228
+ " <td>...</td>\n",
229
+ " <td>...</td>\n",
230
+ " <td>...</td>\n",
231
+ " <td>...</td>\n",
232
+ " <td>...</td>\n",
233
+ " <td>...</td>\n",
234
+ " <td>...</td>\n",
235
+ " <td>...</td>\n",
236
+ " </tr>\n",
237
+ " <tr>\n",
238
+ " <th>4690</th>\n",
239
+ " <td>1</td>\n",
240
+ " <td>1</td>\n",
241
+ " <td>1</td>\n",
242
+ " <td>1</td>\n",
243
+ " <td>0</td>\n",
244
+ " <td>0</td>\n",
245
+ " <td>0</td>\n",
246
+ " <td>0</td>\n",
247
+ " <td>0</td>\n",
248
+ " <td>1</td>\n",
249
+ " <td>...</td>\n",
250
+ " <td>0</td>\n",
251
+ " <td>0</td>\n",
252
+ " <td>0</td>\n",
253
+ " <td>0</td>\n",
254
+ " <td>0</td>\n",
255
+ " <td>0</td>\n",
256
+ " <td>0</td>\n",
257
+ " <td>0</td>\n",
258
+ " <td>0</td>\n",
259
+ " <td>5.612610</td>\n",
260
+ " </tr>\n",
261
+ " <tr>\n",
262
+ " <th>4691</th>\n",
263
+ " <td>1</td>\n",
264
+ " <td>1</td>\n",
265
+ " <td>1</td>\n",
266
+ " <td>1</td>\n",
267
+ " <td>0</td>\n",
268
+ " <td>0</td>\n",
269
+ " <td>0</td>\n",
270
+ " <td>0</td>\n",
271
+ " <td>0</td>\n",
272
+ " <td>1</td>\n",
273
+ " <td>...</td>\n",
274
+ " <td>0</td>\n",
275
+ " <td>0</td>\n",
276
+ " <td>0</td>\n",
277
+ " <td>0</td>\n",
278
+ " <td>0</td>\n",
279
+ " <td>0</td>\n",
280
+ " <td>0</td>\n",
281
+ " <td>0</td>\n",
282
+ " <td>0</td>\n",
283
+ " <td>5.595166</td>\n",
284
+ " </tr>\n",
285
+ " <tr>\n",
286
+ " <th>4692</th>\n",
287
+ " <td>1</td>\n",
288
+ " <td>1</td>\n",
289
+ " <td>1</td>\n",
290
+ " <td>1</td>\n",
291
+ " <td>0</td>\n",
292
+ " <td>0</td>\n",
293
+ " <td>0</td>\n",
294
+ " <td>0</td>\n",
295
+ " <td>0</td>\n",
296
+ " <td>1</td>\n",
297
+ " <td>...</td>\n",
298
+ " <td>0</td>\n",
299
+ " <td>0</td>\n",
300
+ " <td>0</td>\n",
301
+ " <td>0</td>\n",
302
+ " <td>0</td>\n",
303
+ " <td>0</td>\n",
304
+ " <td>0</td>\n",
305
+ " <td>0</td>\n",
306
+ " <td>0</td>\n",
307
+ " <td>5.419075</td>\n",
308
+ " </tr>\n",
309
+ " <tr>\n",
310
+ " <th>4693</th>\n",
311
+ " <td>1</td>\n",
312
+ " <td>1</td>\n",
313
+ " <td>1</td>\n",
314
+ " <td>1</td>\n",
315
+ " <td>0</td>\n",
316
+ " <td>0</td>\n",
317
+ " <td>0</td>\n",
318
+ " <td>0</td>\n",
319
+ " <td>0</td>\n",
320
+ " <td>1</td>\n",
321
+ " <td>...</td>\n",
322
+ " <td>0</td>\n",
323
+ " <td>0</td>\n",
324
+ " <td>0</td>\n",
325
+ " <td>0</td>\n",
326
+ " <td>0</td>\n",
327
+ " <td>0</td>\n",
328
+ " <td>0</td>\n",
329
+ " <td>0</td>\n",
330
+ " <td>0</td>\n",
331
+ " <td>5.460924</td>\n",
332
+ " </tr>\n",
333
+ " <tr>\n",
334
+ " <th>4694</th>\n",
335
+ " <td>1</td>\n",
336
+ " <td>1</td>\n",
337
+ " <td>1</td>\n",
338
+ " <td>1</td>\n",
339
+ " <td>0</td>\n",
340
+ " <td>0</td>\n",
341
+ " <td>0</td>\n",
342
+ " <td>0</td>\n",
343
+ " <td>0</td>\n",
344
+ " <td>1</td>\n",
345
+ " <td>...</td>\n",
346
+ " <td>0</td>\n",
347
+ " <td>0</td>\n",
348
+ " <td>0</td>\n",
349
+ " <td>0</td>\n",
350
+ " <td>0</td>\n",
351
+ " <td>0</td>\n",
352
+ " <td>0</td>\n",
353
+ " <td>0</td>\n",
354
+ " <td>0</td>\n",
355
+ " <td>5.555955</td>\n",
356
+ " </tr>\n",
357
+ " </tbody>\n",
358
+ "</table>\n",
359
+ "<p>4695 rows × 882 columns</p>\n",
360
+ "</div>"
361
+ ],
362
+ "text/plain": [
363
+ " PubchemFP0 PubchemFP1 PubchemFP2 PubchemFP3 PubchemFP4 PubchemFP5 \\\n",
364
+ "0 1 1 1 0 0 0 \n",
365
+ "1 1 1 1 0 0 0 \n",
366
+ "2 1 1 1 0 0 0 \n",
367
+ "3 1 1 0 0 0 0 \n",
368
+ "4 1 1 0 0 0 0 \n",
369
+ "... ... ... ... ... ... ... \n",
370
+ "4690 1 1 1 1 0 0 \n",
371
+ "4691 1 1 1 1 0 0 \n",
372
+ "4692 1 1 1 1 0 0 \n",
373
+ "4693 1 1 1 1 0 0 \n",
374
+ "4694 1 1 1 1 0 0 \n",
375
+ "\n",
376
+ " PubchemFP6 PubchemFP7 PubchemFP8 PubchemFP9 ... PubchemFP872 \\\n",
377
+ "0 0 0 0 1 ... 0 \n",
378
+ "1 0 0 0 1 ... 0 \n",
379
+ "2 0 0 0 1 ... 0 \n",
380
+ "3 0 0 0 1 ... 0 \n",
381
+ "4 0 0 0 1 ... 0 \n",
382
+ "... ... ... ... ... ... ... \n",
383
+ "4690 0 0 0 1 ... 0 \n",
384
+ "4691 0 0 0 1 ... 0 \n",
385
+ "4692 0 0 0 1 ... 0 \n",
386
+ "4693 0 0 0 1 ... 0 \n",
387
+ "4694 0 0 0 1 ... 0 \n",
388
+ "\n",
389
+ " PubchemFP873 PubchemFP874 PubchemFP875 PubchemFP876 PubchemFP877 \\\n",
390
+ "0 0 0 0 0 0 \n",
391
+ "1 0 0 0 0 0 \n",
392
+ "2 0 0 0 0 0 \n",
393
+ "3 0 0 0 0 0 \n",
394
+ "4 0 0 0 0 0 \n",
395
+ "... ... ... ... ... ... \n",
396
+ "4690 0 0 0 0 0 \n",
397
+ "4691 0 0 0 0 0 \n",
398
+ "4692 0 0 0 0 0 \n",
399
+ "4693 0 0 0 0 0 \n",
400
+ "4694 0 0 0 0 0 \n",
401
+ "\n",
402
+ " PubchemFP878 PubchemFP879 PubchemFP880 pIC50 \n",
403
+ "0 0 0 0 6.124939 \n",
404
+ "1 0 0 0 7.000000 \n",
405
+ "2 0 0 0 4.301030 \n",
406
+ "3 0 0 0 6.522879 \n",
407
+ "4 0 0 0 6.096910 \n",
408
+ "... ... ... ... ... \n",
409
+ "4690 0 0 0 5.612610 \n",
410
+ "4691 0 0 0 5.595166 \n",
411
+ "4692 0 0 0 5.419075 \n",
412
+ "4693 0 0 0 5.460924 \n",
413
+ "4694 0 0 0 5.555955 \n",
414
+ "\n",
415
+ "[4695 rows x 882 columns]"
416
+ ]
417
+ },
418
+ "execution_count": 8,
419
+ "metadata": {},
420
+ "output_type": "execute_result"
421
+ }
422
+ ],
423
+ "source": [
424
+ "dataset_url = 'https://github.com/dataprofessor/data/raw/master/acetylcholinesterase_06_bioactivity_data_3class_pIC50_pubchem_fp.csv'\n",
425
+ "dataset = pd.read_csv(dataset_url)\n",
426
+ "dataset"
427
+ ]
428
+ },
429
+ {
430
+ "cell_type": "code",
431
+ "execution_count": 9,
432
+ "metadata": {
433
+ "colab": {
434
+ "base_uri": "https://localhost:8080/",
435
+ "height": 439
436
+ },
437
+ "id": "tgFxx8m_YEUy",
438
+ "outputId": "47903560-3aa4-497f-85b4-27b1361b200a"
439
+ },
440
+ "outputs": [
441
+ {
442
+ "data": {
443
+ "text/html": [
444
+ "<div>\n",
445
+ "<style scoped>\n",
446
+ " .dataframe tbody tr th:only-of-type {\n",
447
+ " vertical-align: middle;\n",
448
+ " }\n",
449
+ "\n",
450
+ " .dataframe tbody tr th {\n",
451
+ " vertical-align: top;\n",
452
+ " }\n",
453
+ "\n",
454
+ " .dataframe thead th {\n",
455
+ " text-align: right;\n",
456
+ " }\n",
457
+ "</style>\n",
458
+ "<table border=\"1\" class=\"dataframe\">\n",
459
+ " <thead>\n",
460
+ " <tr style=\"text-align: right;\">\n",
461
+ " <th></th>\n",
462
+ " <th>PubchemFP0</th>\n",
463
+ " <th>PubchemFP1</th>\n",
464
+ " <th>PubchemFP2</th>\n",
465
+ " <th>PubchemFP3</th>\n",
466
+ " <th>PubchemFP4</th>\n",
467
+ " <th>PubchemFP5</th>\n",
468
+ " <th>PubchemFP6</th>\n",
469
+ " <th>PubchemFP7</th>\n",
470
+ " <th>PubchemFP8</th>\n",
471
+ " <th>PubchemFP9</th>\n",
472
+ " <th>...</th>\n",
473
+ " <th>PubchemFP871</th>\n",
474
+ " <th>PubchemFP872</th>\n",
475
+ " <th>PubchemFP873</th>\n",
476
+ " <th>PubchemFP874</th>\n",
477
+ " <th>PubchemFP875</th>\n",
478
+ " <th>PubchemFP876</th>\n",
479
+ " <th>PubchemFP877</th>\n",
480
+ " <th>PubchemFP878</th>\n",
481
+ " <th>PubchemFP879</th>\n",
482
+ " <th>PubchemFP880</th>\n",
483
+ " </tr>\n",
484
+ " </thead>\n",
485
+ " <tbody>\n",
486
+ " <tr>\n",
487
+ " <th>0</th>\n",
488
+ " <td>1</td>\n",
489
+ " <td>1</td>\n",
490
+ " <td>1</td>\n",
491
+ " <td>0</td>\n",
492
+ " <td>0</td>\n",
493
+ " <td>0</td>\n",
494
+ " <td>0</td>\n",
495
+ " <td>0</td>\n",
496
+ " <td>0</td>\n",
497
+ " <td>1</td>\n",
498
+ " <td>...</td>\n",
499
+ " <td>0</td>\n",
500
+ " <td>0</td>\n",
501
+ " <td>0</td>\n",
502
+ " <td>0</td>\n",
503
+ " <td>0</td>\n",
504
+ " <td>0</td>\n",
505
+ " <td>0</td>\n",
506
+ " <td>0</td>\n",
507
+ " <td>0</td>\n",
508
+ " <td>0</td>\n",
509
+ " </tr>\n",
510
+ " <tr>\n",
511
+ " <th>1</th>\n",
512
+ " <td>1</td>\n",
513
+ " <td>1</td>\n",
514
+ " <td>1</td>\n",
515
+ " <td>0</td>\n",
516
+ " <td>0</td>\n",
517
+ " <td>0</td>\n",
518
+ " <td>0</td>\n",
519
+ " <td>0</td>\n",
520
+ " <td>0</td>\n",
521
+ " <td>1</td>\n",
522
+ " <td>...</td>\n",
523
+ " <td>0</td>\n",
524
+ " <td>0</td>\n",
525
+ " <td>0</td>\n",
526
+ " <td>0</td>\n",
527
+ " <td>0</td>\n",
528
+ " <td>0</td>\n",
529
+ " <td>0</td>\n",
530
+ " <td>0</td>\n",
531
+ " <td>0</td>\n",
532
+ " <td>0</td>\n",
533
+ " </tr>\n",
534
+ " <tr>\n",
535
+ " <th>2</th>\n",
536
+ " <td>1</td>\n",
537
+ " <td>1</td>\n",
538
+ " <td>1</td>\n",
539
+ " <td>0</td>\n",
540
+ " <td>0</td>\n",
541
+ " <td>0</td>\n",
542
+ " <td>0</td>\n",
543
+ " <td>0</td>\n",
544
+ " <td>0</td>\n",
545
+ " <td>1</td>\n",
546
+ " <td>...</td>\n",
547
+ " <td>0</td>\n",
548
+ " <td>0</td>\n",
549
+ " <td>0</td>\n",
550
+ " <td>0</td>\n",
551
+ " <td>0</td>\n",
552
+ " <td>0</td>\n",
553
+ " <td>0</td>\n",
554
+ " <td>0</td>\n",
555
+ " <td>0</td>\n",
556
+ " <td>0</td>\n",
557
+ " </tr>\n",
558
+ " <tr>\n",
559
+ " <th>3</th>\n",
560
+ " <td>1</td>\n",
561
+ " <td>1</td>\n",
562
+ " <td>0</td>\n",
563
+ " <td>0</td>\n",
564
+ " <td>0</td>\n",
565
+ " <td>0</td>\n",
566
+ " <td>0</td>\n",
567
+ " <td>0</td>\n",
568
+ " <td>0</td>\n",
569
+ " <td>1</td>\n",
570
+ " <td>...</td>\n",
571
+ " <td>0</td>\n",
572
+ " <td>0</td>\n",
573
+ " <td>0</td>\n",
574
+ " <td>0</td>\n",
575
+ " <td>0</td>\n",
576
+ " <td>0</td>\n",
577
+ " <td>0</td>\n",
578
+ " <td>0</td>\n",
579
+ " <td>0</td>\n",
580
+ " <td>0</td>\n",
581
+ " </tr>\n",
582
+ " <tr>\n",
583
+ " <th>4</th>\n",
584
+ " <td>1</td>\n",
585
+ " <td>1</td>\n",
586
+ " <td>0</td>\n",
587
+ " <td>0</td>\n",
588
+ " <td>0</td>\n",
589
+ " <td>0</td>\n",
590
+ " <td>0</td>\n",
591
+ " <td>0</td>\n",
592
+ " <td>0</td>\n",
593
+ " <td>1</td>\n",
594
+ " <td>...</td>\n",
595
+ " <td>0</td>\n",
596
+ " <td>0</td>\n",
597
+ " <td>0</td>\n",
598
+ " <td>0</td>\n",
599
+ " <td>0</td>\n",
600
+ " <td>0</td>\n",
601
+ " <td>0</td>\n",
602
+ " <td>0</td>\n",
603
+ " <td>0</td>\n",
604
+ " <td>0</td>\n",
605
+ " </tr>\n",
606
+ " <tr>\n",
607
+ " <th>...</th>\n",
608
+ " <td>...</td>\n",
609
+ " <td>...</td>\n",
610
+ " <td>...</td>\n",
611
+ " <td>...</td>\n",
612
+ " <td>...</td>\n",
613
+ " <td>...</td>\n",
614
+ " <td>...</td>\n",
615
+ " <td>...</td>\n",
616
+ " <td>...</td>\n",
617
+ " <td>...</td>\n",
618
+ " <td>...</td>\n",
619
+ " <td>...</td>\n",
620
+ " <td>...</td>\n",
621
+ " <td>...</td>\n",
622
+ " <td>...</td>\n",
623
+ " <td>...</td>\n",
624
+ " <td>...</td>\n",
625
+ " <td>...</td>\n",
626
+ " <td>...</td>\n",
627
+ " <td>...</td>\n",
628
+ " <td>...</td>\n",
629
+ " </tr>\n",
630
+ " <tr>\n",
631
+ " <th>4690</th>\n",
632
+ " <td>1</td>\n",
633
+ " <td>1</td>\n",
634
+ " <td>1</td>\n",
635
+ " <td>1</td>\n",
636
+ " <td>0</td>\n",
637
+ " <td>0</td>\n",
638
+ " <td>0</td>\n",
639
+ " <td>0</td>\n",
640
+ " <td>0</td>\n",
641
+ " <td>1</td>\n",
642
+ " <td>...</td>\n",
643
+ " <td>0</td>\n",
644
+ " <td>0</td>\n",
645
+ " <td>0</td>\n",
646
+ " <td>0</td>\n",
647
+ " <td>0</td>\n",
648
+ " <td>0</td>\n",
649
+ " <td>0</td>\n",
650
+ " <td>0</td>\n",
651
+ " <td>0</td>\n",
652
+ " <td>0</td>\n",
653
+ " </tr>\n",
654
+ " <tr>\n",
655
+ " <th>4691</th>\n",
656
+ " <td>1</td>\n",
657
+ " <td>1</td>\n",
658
+ " <td>1</td>\n",
659
+ " <td>1</td>\n",
660
+ " <td>0</td>\n",
661
+ " <td>0</td>\n",
662
+ " <td>0</td>\n",
663
+ " <td>0</td>\n",
664
+ " <td>0</td>\n",
665
+ " <td>1</td>\n",
666
+ " <td>...</td>\n",
667
+ " <td>0</td>\n",
668
+ " <td>0</td>\n",
669
+ " <td>0</td>\n",
670
+ " <td>0</td>\n",
671
+ " <td>0</td>\n",
672
+ " <td>0</td>\n",
673
+ " <td>0</td>\n",
674
+ " <td>0</td>\n",
675
+ " <td>0</td>\n",
676
+ " <td>0</td>\n",
677
+ " </tr>\n",
678
+ " <tr>\n",
679
+ " <th>4692</th>\n",
680
+ " <td>1</td>\n",
681
+ " <td>1</td>\n",
682
+ " <td>1</td>\n",
683
+ " <td>1</td>\n",
684
+ " <td>0</td>\n",
685
+ " <td>0</td>\n",
686
+ " <td>0</td>\n",
687
+ " <td>0</td>\n",
688
+ " <td>0</td>\n",
689
+ " <td>1</td>\n",
690
+ " <td>...</td>\n",
691
+ " <td>0</td>\n",
692
+ " <td>0</td>\n",
693
+ " <td>0</td>\n",
694
+ " <td>0</td>\n",
695
+ " <td>0</td>\n",
696
+ " <td>0</td>\n",
697
+ " <td>0</td>\n",
698
+ " <td>0</td>\n",
699
+ " <td>0</td>\n",
700
+ " <td>0</td>\n",
701
+ " </tr>\n",
702
+ " <tr>\n",
703
+ " <th>4693</th>\n",
704
+ " <td>1</td>\n",
705
+ " <td>1</td>\n",
706
+ " <td>1</td>\n",
707
+ " <td>1</td>\n",
708
+ " <td>0</td>\n",
709
+ " <td>0</td>\n",
710
+ " <td>0</td>\n",
711
+ " <td>0</td>\n",
712
+ " <td>0</td>\n",
713
+ " <td>1</td>\n",
714
+ " <td>...</td>\n",
715
+ " <td>0</td>\n",
716
+ " <td>0</td>\n",
717
+ " <td>0</td>\n",
718
+ " <td>0</td>\n",
719
+ " <td>0</td>\n",
720
+ " <td>0</td>\n",
721
+ " <td>0</td>\n",
722
+ " <td>0</td>\n",
723
+ " <td>0</td>\n",
724
+ " <td>0</td>\n",
725
+ " </tr>\n",
726
+ " <tr>\n",
727
+ " <th>4694</th>\n",
728
+ " <td>1</td>\n",
729
+ " <td>1</td>\n",
730
+ " <td>1</td>\n",
731
+ " <td>1</td>\n",
732
+ " <td>0</td>\n",
733
+ " <td>0</td>\n",
734
+ " <td>0</td>\n",
735
+ " <td>0</td>\n",
736
+ " <td>0</td>\n",
737
+ " <td>1</td>\n",
738
+ " <td>...</td>\n",
739
+ " <td>0</td>\n",
740
+ " <td>0</td>\n",
741
+ " <td>0</td>\n",
742
+ " <td>0</td>\n",
743
+ " <td>0</td>\n",
744
+ " <td>0</td>\n",
745
+ " <td>0</td>\n",
746
+ " <td>0</td>\n",
747
+ " <td>0</td>\n",
748
+ " <td>0</td>\n",
749
+ " </tr>\n",
750
+ " </tbody>\n",
751
+ "</table>\n",
752
+ "<p>4695 rows × 881 columns</p>\n",
753
+ "</div>"
754
+ ],
755
+ "text/plain": [
756
+ " PubchemFP0 PubchemFP1 PubchemFP2 PubchemFP3 PubchemFP4 PubchemFP5 \\\n",
757
+ "0 1 1 1 0 0 0 \n",
758
+ "1 1 1 1 0 0 0 \n",
759
+ "2 1 1 1 0 0 0 \n",
760
+ "3 1 1 0 0 0 0 \n",
761
+ "4 1 1 0 0 0 0 \n",
762
+ "... ... ... ... ... ... ... \n",
763
+ "4690 1 1 1 1 0 0 \n",
764
+ "4691 1 1 1 1 0 0 \n",
765
+ "4692 1 1 1 1 0 0 \n",
766
+ "4693 1 1 1 1 0 0 \n",
767
+ "4694 1 1 1 1 0 0 \n",
768
+ "\n",
769
+ " PubchemFP6 PubchemFP7 PubchemFP8 PubchemFP9 ... PubchemFP871 \\\n",
770
+ "0 0 0 0 1 ... 0 \n",
771
+ "1 0 0 0 1 ... 0 \n",
772
+ "2 0 0 0 1 ... 0 \n",
773
+ "3 0 0 0 1 ... 0 \n",
774
+ "4 0 0 0 1 ... 0 \n",
775
+ "... ... ... ... ... ... ... \n",
776
+ "4690 0 0 0 1 ... 0 \n",
777
+ "4691 0 0 0 1 ... 0 \n",
778
+ "4692 0 0 0 1 ... 0 \n",
779
+ "4693 0 0 0 1 ... 0 \n",
780
+ "4694 0 0 0 1 ... 0 \n",
781
+ "\n",
782
+ " PubchemFP872 PubchemFP873 PubchemFP874 PubchemFP875 PubchemFP876 \\\n",
783
+ "0 0 0 0 0 0 \n",
784
+ "1 0 0 0 0 0 \n",
785
+ "2 0 0 0 0 0 \n",
786
+ "3 0 0 0 0 0 \n",
787
+ "4 0 0 0 0 0 \n",
788
+ "... ... ... ... ... ... \n",
789
+ "4690 0 0 0 0 0 \n",
790
+ "4691 0 0 0 0 0 \n",
791
+ "4692 0 0 0 0 0 \n",
792
+ "4693 0 0 0 0 0 \n",
793
+ "4694 0 0 0 0 0 \n",
794
+ "\n",
795
+ " PubchemFP877 PubchemFP878 PubchemFP879 PubchemFP880 \n",
796
+ "0 0 0 0 0 \n",
797
+ "1 0 0 0 0 \n",
798
+ "2 0 0 0 0 \n",
799
+ "3 0 0 0 0 \n",
800
+ "4 0 0 0 0 \n",
801
+ "... ... ... ... ... \n",
802
+ "4690 0 0 0 0 \n",
803
+ "4691 0 0 0 0 \n",
804
+ "4692 0 0 0 0 \n",
805
+ "4693 0 0 0 0 \n",
806
+ "4694 0 0 0 0 \n",
807
+ "\n",
808
+ "[4695 rows x 881 columns]"
809
+ ]
810
+ },
811
+ "execution_count": 9,
812
+ "metadata": {},
813
+ "output_type": "execute_result"
814
+ }
815
+ ],
816
+ "source": [
817
+ "X = dataset.drop(['pIC50'], axis=1)\n",
818
+ "X"
819
+ ]
820
+ },
821
+ {
822
+ "cell_type": "code",
823
+ "execution_count": 10,
824
+ "metadata": {
825
+ "colab": {
826
+ "base_uri": "https://localhost:8080/"
827
+ },
828
+ "id": "JDwxgKHqYmD4",
829
+ "outputId": "472cd19d-7dab-4f16-b03d-fab52d3fc782"
830
+ },
831
+ "outputs": [
832
+ {
833
+ "data": {
834
+ "text/plain": [
835
+ "0 6.124939\n",
836
+ "1 7.000000\n",
837
+ "2 4.301030\n",
838
+ "3 6.522879\n",
839
+ "4 6.096910\n",
840
+ " ... \n",
841
+ "4690 5.612610\n",
842
+ "4691 5.595166\n",
843
+ "4692 5.419075\n",
844
+ "4693 5.460924\n",
845
+ "4694 5.555955\n",
846
+ "Name: pIC50, Length: 4695, dtype: float64"
847
+ ]
848
+ },
849
+ "execution_count": 10,
850
+ "metadata": {},
851
+ "output_type": "execute_result"
852
+ }
853
+ ],
854
+ "source": [
855
+ "Y = dataset.iloc[:,-1]\n",
856
+ "Y"
857
+ ]
858
+ },
859
+ {
860
+ "cell_type": "markdown",
861
+ "metadata": {
862
+ "id": "AQ9E0xUY_o_M"
863
+ },
864
+ "source": [
865
+ "# Remove low variance features"
866
+ ]
867
+ },
868
+ {
869
+ "cell_type": "code",
870
+ "execution_count": 11,
871
+ "metadata": {
872
+ "colab": {
873
+ "base_uri": "https://localhost:8080/"
874
+ },
875
+ "id": "Qkgj-lsG_wOJ",
876
+ "outputId": "d3d11b21-fdf3-4cfb-e0c8-0f2b5a1d779b"
877
+ },
878
+ "outputs": [
879
+ {
880
+ "data": {
881
+ "text/html": [
882
+ "<div>\n",
883
+ "<style scoped>\n",
884
+ " .dataframe tbody tr th:only-of-type {\n",
885
+ " vertical-align: middle;\n",
886
+ " }\n",
887
+ "\n",
888
+ " .dataframe tbody tr th {\n",
889
+ " vertical-align: top;\n",
890
+ " }\n",
891
+ "\n",
892
+ " .dataframe thead th {\n",
893
+ " text-align: right;\n",
894
+ " }\n",
895
+ "</style>\n",
896
+ "<table border=\"1\" class=\"dataframe\">\n",
897
+ " <thead>\n",
898
+ " <tr style=\"text-align: right;\">\n",
899
+ " <th></th>\n",
900
+ " <th>PubchemFP3</th>\n",
901
+ " <th>PubchemFP12</th>\n",
902
+ " <th>PubchemFP13</th>\n",
903
+ " <th>PubchemFP15</th>\n",
904
+ " <th>PubchemFP16</th>\n",
905
+ " <th>PubchemFP18</th>\n",
906
+ " <th>PubchemFP19</th>\n",
907
+ " <th>PubchemFP20</th>\n",
908
+ " <th>PubchemFP37</th>\n",
909
+ " <th>PubchemFP143</th>\n",
910
+ " <th>...</th>\n",
911
+ " <th>PubchemFP758</th>\n",
912
+ " <th>PubchemFP761</th>\n",
913
+ " <th>PubchemFP776</th>\n",
914
+ " <th>PubchemFP777</th>\n",
915
+ " <th>PubchemFP797</th>\n",
916
+ " <th>PubchemFP798</th>\n",
917
+ " <th>PubchemFP818</th>\n",
918
+ " <th>PubchemFP819</th>\n",
919
+ " <th>PubchemFP821</th>\n",
920
+ " <th>PubchemFP824</th>\n",
921
+ " </tr>\n",
922
+ " </thead>\n",
923
+ " <tbody>\n",
924
+ " <tr>\n",
925
+ " <th>0</th>\n",
926
+ " <td>0</td>\n",
927
+ " <td>1</td>\n",
928
+ " <td>0</td>\n",
929
+ " <td>1</td>\n",
930
+ " <td>1</td>\n",
931
+ " <td>1</td>\n",
932
+ " <td>0</td>\n",
933
+ " <td>0</td>\n",
934
+ " <td>1</td>\n",
935
+ " <td>1</td>\n",
936
+ " <td>...</td>\n",
937
+ " <td>0</td>\n",
938
+ " <td>0</td>\n",
939
+ " <td>0</td>\n",
940
+ " <td>0</td>\n",
941
+ " <td>0</td>\n",
942
+ " <td>0</td>\n",
943
+ " <td>0</td>\n",
944
+ " <td>0</td>\n",
945
+ " <td>0</td>\n",
946
+ " <td>0</td>\n",
947
+ " </tr>\n",
948
+ " <tr>\n",
949
+ " <th>1</th>\n",
950
+ " <td>0</td>\n",
951
+ " <td>1</td>\n",
952
+ " <td>0</td>\n",
953
+ " <td>1</td>\n",
954
+ " <td>0</td>\n",
955
+ " <td>1</td>\n",
956
+ " <td>1</td>\n",
957
+ " <td>1</td>\n",
958
+ " <td>0</td>\n",
959
+ " <td>1</td>\n",
960
+ " <td>...</td>\n",
961
+ " <td>0</td>\n",
962
+ " <td>0</td>\n",
963
+ " <td>0</td>\n",
964
+ " <td>0</td>\n",
965
+ " <td>0</td>\n",
966
+ " <td>0</td>\n",
967
+ " <td>0</td>\n",
968
+ " <td>0</td>\n",
969
+ " <td>0</td>\n",
970
+ " <td>0</td>\n",
971
+ " </tr>\n",
972
+ " <tr>\n",
973
+ " <th>2</th>\n",
974
+ " <td>0</td>\n",
975
+ " <td>1</td>\n",
976
+ " <td>0</td>\n",
977
+ " <td>1</td>\n",
978
+ " <td>1</td>\n",
979
+ " <td>1</td>\n",
980
+ " <td>0</td>\n",
981
+ " <td>0</td>\n",
982
+ " <td>1</td>\n",
983
+ " <td>1</td>\n",
984
+ " <td>...</td>\n",
985
+ " <td>0</td>\n",
986
+ " <td>0</td>\n",
987
+ " <td>0</td>\n",
988
+ " <td>0</td>\n",
989
+ " <td>0</td>\n",
990
+ " <td>0</td>\n",
991
+ " <td>0</td>\n",
992
+ " <td>0</td>\n",
993
+ " <td>0</td>\n",
994
+ " <td>0</td>\n",
995
+ " </tr>\n",
996
+ " <tr>\n",
997
+ " <th>3</th>\n",
998
+ " <td>0</td>\n",
999
+ " <td>1</td>\n",
1000
+ " <td>0</td>\n",
1001
+ " <td>1</td>\n",
1002
+ " <td>1</td>\n",
1003
+ " <td>1</td>\n",
1004
+ " <td>0</td>\n",
1005
+ " <td>0</td>\n",
1006
+ " <td>1</td>\n",
1007
+ " <td>1</td>\n",
1008
+ " <td>...</td>\n",
1009
+ " <td>0</td>\n",
1010
+ " <td>0</td>\n",
1011
+ " <td>0</td>\n",
1012
+ " <td>0</td>\n",
1013
+ " <td>0</td>\n",
1014
+ " <td>0</td>\n",
1015
+ " <td>0</td>\n",
1016
+ " <td>0</td>\n",
1017
+ " <td>0</td>\n",
1018
+ " <td>0</td>\n",
1019
+ " </tr>\n",
1020
+ " <tr>\n",
1021
+ " <th>4</th>\n",
1022
+ " <td>0</td>\n",
1023
+ " <td>0</td>\n",
1024
+ " <td>0</td>\n",
1025
+ " <td>1</td>\n",
1026
+ " <td>1</td>\n",
1027
+ " <td>1</td>\n",
1028
+ " <td>1</td>\n",
1029
+ " <td>0</td>\n",
1030
+ " <td>0</td>\n",
1031
+ " <td>1</td>\n",
1032
+ " <td>...</td>\n",
1033
+ " <td>0</td>\n",
1034
+ " <td>0</td>\n",
1035
+ " <td>0</td>\n",
1036
+ " <td>1</td>\n",
1037
+ " <td>0</td>\n",
1038
+ " <td>0</td>\n",
1039
+ " <td>0</td>\n",
1040
+ " <td>0</td>\n",
1041
+ " <td>0</td>\n",
1042
+ " <td>0</td>\n",
1043
+ " </tr>\n",
1044
+ " <tr>\n",
1045
+ " <th>...</th>\n",
1046
+ " <td>...</td>\n",
1047
+ " <td>...</td>\n",
1048
+ " <td>...</td>\n",
1049
+ " <td>...</td>\n",
1050
+ " <td>...</td>\n",
1051
+ " <td>...</td>\n",
1052
+ " <td>...</td>\n",
1053
+ " <td>...</td>\n",
1054
+ " <td>...</td>\n",
1055
+ " <td>...</td>\n",
1056
+ " <td>...</td>\n",
1057
+ " <td>...</td>\n",
1058
+ " <td>...</td>\n",
1059
+ " <td>...</td>\n",
1060
+ " <td>...</td>\n",
1061
+ " <td>...</td>\n",
1062
+ " <td>...</td>\n",
1063
+ " <td>...</td>\n",
1064
+ " <td>...</td>\n",
1065
+ " <td>...</td>\n",
1066
+ " <td>...</td>\n",
1067
+ " </tr>\n",
1068
+ " <tr>\n",
1069
+ " <th>4690</th>\n",
1070
+ " <td>1</td>\n",
1071
+ " <td>1</td>\n",
1072
+ " <td>0</td>\n",
1073
+ " <td>1</td>\n",
1074
+ " <td>0</td>\n",
1075
+ " <td>1</td>\n",
1076
+ " <td>1</td>\n",
1077
+ " <td>0</td>\n",
1078
+ " <td>1</td>\n",
1079
+ " <td>0</td>\n",
1080
+ " <td>...</td>\n",
1081
+ " <td>0</td>\n",
1082
+ " <td>0</td>\n",
1083
+ " <td>0</td>\n",
1084
+ " <td>1</td>\n",
1085
+ " <td>1</td>\n",
1086
+ " <td>0</td>\n",
1087
+ " <td>0</td>\n",
1088
+ " <td>1</td>\n",
1089
+ " <td>0</td>\n",
1090
+ " <td>0</td>\n",
1091
+ " </tr>\n",
1092
+ " <tr>\n",
1093
+ " <th>4691</th>\n",
1094
+ " <td>1</td>\n",
1095
+ " <td>1</td>\n",
1096
+ " <td>0</td>\n",
1097
+ " <td>1</td>\n",
1098
+ " <td>0</td>\n",
1099
+ " <td>1</td>\n",
1100
+ " <td>1</td>\n",
1101
+ " <td>0</td>\n",
1102
+ " <td>1</td>\n",
1103
+ " <td>0</td>\n",
1104
+ " <td>...</td>\n",
1105
+ " <td>0</td>\n",
1106
+ " <td>0</td>\n",
1107
+ " <td>0</td>\n",
1108
+ " <td>1</td>\n",
1109
+ " <td>1</td>\n",
1110
+ " <td>0</td>\n",
1111
+ " <td>0</td>\n",
1112
+ " <td>1</td>\n",
1113
+ " <td>0</td>\n",
1114
+ " <td>0</td>\n",
1115
+ " </tr>\n",
1116
+ " <tr>\n",
1117
+ " <th>4692</th>\n",
1118
+ " <td>1</td>\n",
1119
+ " <td>1</td>\n",
1120
+ " <td>0</td>\n",
1121
+ " <td>1</td>\n",
1122
+ " <td>0</td>\n",
1123
+ " <td>1</td>\n",
1124
+ " <td>1</td>\n",
1125
+ " <td>0</td>\n",
1126
+ " <td>0</td>\n",
1127
+ " <td>0</td>\n",
1128
+ " <td>...</td>\n",
1129
+ " <td>0</td>\n",
1130
+ " <td>0</td>\n",
1131
+ " <td>0</td>\n",
1132
+ " <td>1</td>\n",
1133
+ " <td>1</td>\n",
1134
+ " <td>0</td>\n",
1135
+ " <td>0</td>\n",
1136
+ " <td>1</td>\n",
1137
+ " <td>0</td>\n",
1138
+ " <td>0</td>\n",
1139
+ " </tr>\n",
1140
+ " <tr>\n",
1141
+ " <th>4693</th>\n",
1142
+ " <td>1</td>\n",
1143
+ " <td>1</td>\n",
1144
+ " <td>0</td>\n",
1145
+ " <td>1</td>\n",
1146
+ " <td>0</td>\n",
1147
+ " <td>1</td>\n",
1148
+ " <td>1</td>\n",
1149
+ " <td>1</td>\n",
1150
+ " <td>0</td>\n",
1151
+ " <td>0</td>\n",
1152
+ " <td>...</td>\n",
1153
+ " <td>0</td>\n",
1154
+ " <td>0</td>\n",
1155
+ " <td>0</td>\n",
1156
+ " <td>1</td>\n",
1157
+ " <td>1</td>\n",
1158
+ " <td>0</td>\n",
1159
+ " <td>0</td>\n",
1160
+ " <td>1</td>\n",
1161
+ " <td>0</td>\n",
1162
+ " <td>0</td>\n",
1163
+ " </tr>\n",
1164
+ " <tr>\n",
1165
+ " <th>4694</th>\n",
1166
+ " <td>1</td>\n",
1167
+ " <td>1</td>\n",
1168
+ " <td>1</td>\n",
1169
+ " <td>1</td>\n",
1170
+ " <td>0</td>\n",
1171
+ " <td>1</td>\n",
1172
+ " <td>1</td>\n",
1173
+ " <td>0</td>\n",
1174
+ " <td>0</td>\n",
1175
+ " <td>0</td>\n",
1176
+ " <td>...</td>\n",
1177
+ " <td>0</td>\n",
1178
+ " <td>0</td>\n",
1179
+ " <td>1</td>\n",
1180
+ " <td>1</td>\n",
1181
+ " <td>1</td>\n",
1182
+ " <td>0</td>\n",
1183
+ " <td>0</td>\n",
1184
+ " <td>1</td>\n",
1185
+ " <td>0</td>\n",
1186
+ " <td>0</td>\n",
1187
+ " </tr>\n",
1188
+ " </tbody>\n",
1189
+ "</table>\n",
1190
+ "<p>4695 rows × 218 columns</p>\n",
1191
+ "</div>"
1192
+ ],
1193
+ "text/plain": [
1194
+ " PubchemFP3 PubchemFP12 PubchemFP13 PubchemFP15 PubchemFP16 \\\n",
1195
+ "0 0 1 0 1 1 \n",
1196
+ "1 0 1 0 1 0 \n",
1197
+ "2 0 1 0 1 1 \n",
1198
+ "3 0 1 0 1 1 \n",
1199
+ "4 0 0 0 1 1 \n",
1200
+ "... ... ... ... ... ... \n",
1201
+ "4690 1 1 0 1 0 \n",
1202
+ "4691 1 1 0 1 0 \n",
1203
+ "4692 1 1 0 1 0 \n",
1204
+ "4693 1 1 0 1 0 \n",
1205
+ "4694 1 1 1 1 0 \n",
1206
+ "\n",
1207
+ " PubchemFP18 PubchemFP19 PubchemFP20 PubchemFP37 PubchemFP143 ... \\\n",
1208
+ "0 1 0 0 1 1 ... \n",
1209
+ "1 1 1 1 0 1 ... \n",
1210
+ "2 1 0 0 1 1 ... \n",
1211
+ "3 1 0 0 1 1 ... \n",
1212
+ "4 1 1 0 0 1 ... \n",
1213
+ "... ... ... ... ... ... ... \n",
1214
+ "4690 1 1 0 1 0 ... \n",
1215
+ "4691 1 1 0 1 0 ... \n",
1216
+ "4692 1 1 0 0 0 ... \n",
1217
+ "4693 1 1 1 0 0 ... \n",
1218
+ "4694 1 1 0 0 0 ... \n",
1219
+ "\n",
1220
+ " PubchemFP758 PubchemFP761 PubchemFP776 PubchemFP777 PubchemFP797 \\\n",
1221
+ "0 0 0 0 0 0 \n",
1222
+ "1 0 0 0 0 0 \n",
1223
+ "2 0 0 0 0 0 \n",
1224
+ "3 0 0 0 0 0 \n",
1225
+ "4 0 0 0 1 0 \n",
1226
+ "... ... ... ... ... ... \n",
1227
+ "4690 0 0 0 1 1 \n",
1228
+ "4691 0 0 0 1 1 \n",
1229
+ "4692 0 0 0 1 1 \n",
1230
+ "4693 0 0 0 1 1 \n",
1231
+ "4694 0 0 1 1 1 \n",
1232
+ "\n",
1233
+ " PubchemFP798 PubchemFP818 PubchemFP819 PubchemFP821 PubchemFP824 \n",
1234
+ "0 0 0 0 0 0 \n",
1235
+ "1 0 0 0 0 0 \n",
1236
+ "2 0 0 0 0 0 \n",
1237
+ "3 0 0 0 0 0 \n",
1238
+ "4 0 0 0 0 0 \n",
1239
+ "... ... ... ... ... ... \n",
1240
+ "4690 0 0 1 0 0 \n",
1241
+ "4691 0 0 1 0 0 \n",
1242
+ "4692 0 0 1 0 0 \n",
1243
+ "4693 0 0 1 0 0 \n",
1244
+ "4694 0 0 1 0 0 \n",
1245
+ "\n",
1246
+ "[4695 rows x 218 columns]"
1247
+ ]
1248
+ },
1249
+ "execution_count": 11,
1250
+ "metadata": {},
1251
+ "output_type": "execute_result"
1252
+ }
1253
+ ],
1254
+ "source": [
1255
+ "from sklearn.feature_selection import VarianceThreshold\n",
1256
+ "\n",
1257
+ "def remove_low_variance(input_data, threshold=0.1):\n",
1258
+ " selection = VarianceThreshold(threshold)\n",
1259
+ " selection.fit(input_data)\n",
1260
+ " return input_data[input_data.columns[selection.get_support(indices=True)]]\n",
1261
+ "\n",
1262
+ "X = remove_low_variance(X, threshold=0.1)\n",
1263
+ "X"
1264
+ ]
1265
+ },
1266
+ {
1267
+ "cell_type": "code",
1268
+ "execution_count": 12,
1269
+ "metadata": {},
1270
+ "outputs": [],
1271
+ "source": [
1272
+ "X.to_csv('descriptor_list.csv', index = False)"
1273
+ ]
1274
+ },
1275
+ {
1276
+ "cell_type": "code",
1277
+ "execution_count": 13,
1278
+ "metadata": {},
1279
+ "outputs": [],
1280
+ "source": [
1281
+ "# In the app, use the following to get this same descriptor list\n",
1282
+ "# of 218 variables from the initial set of 881 variables\n",
1283
+ "# Xlist = list(pd.read_csv('descriptor_list.csv').columns)\n",
1284
+ "# X[Xlist]"
1285
+ ]
1286
+ },
1287
+ {
1288
+ "cell_type": "markdown",
1289
+ "metadata": {
1290
+ "id": "LNohCdqQY5VZ"
1291
+ },
1292
+ "source": [
1293
+ "# Random Forest Regression Model"
1294
+ ]
1295
+ },
1296
+ {
1297
+ "cell_type": "code",
1298
+ "execution_count": 14,
1299
+ "metadata": {
1300
+ "id": "EanoyG2eX9cV"
1301
+ },
1302
+ "outputs": [],
1303
+ "source": [
1304
+ "from sklearn.ensemble import RandomForestRegressor\n",
1305
+ "from sklearn.metrics import mean_squared_error, r2_score"
1306
+ ]
1307
+ },
1308
+ {
1309
+ "cell_type": "code",
1310
+ "execution_count": 16,
1311
+ "metadata": {
1312
+ "colab": {
1313
+ "base_uri": "https://localhost:8080/"
1314
+ },
1315
+ "id": "mLQJ2KLLY_9a",
1316
+ "outputId": "e0c22032-02af-40ca-c5c9-536982ec8627"
1317
+ },
1318
+ "outputs": [
1319
+ {
1320
+ "data": {
1321
+ "text/plain": [
1322
+ "0.8606007951843838"
1323
+ ]
1324
+ },
1325
+ "execution_count": 16,
1326
+ "metadata": {},
1327
+ "output_type": "execute_result"
1328
+ }
1329
+ ],
1330
+ "source": [
1331
+ "model = RandomForestRegressor(n_estimators=500, random_state=42)\n",
1332
+ "model.fit(X, Y)\n",
1333
+ "r2 = model.score(X, Y)\n",
1334
+ "r2"
1335
+ ]
1336
+ },
1337
+ {
1338
+ "cell_type": "markdown",
1339
+ "metadata": {
1340
+ "id": "F5f8KGWjZRSc"
1341
+ },
1342
+ "source": [
1343
+ "## Model Prediction"
1344
+ ]
1345
+ },
1346
+ {
1347
+ "cell_type": "code",
1348
+ "execution_count": 17,
1349
+ "metadata": {
1350
+ "colab": {
1351
+ "base_uri": "https://localhost:8080/"
1352
+ },
1353
+ "id": "MI3c8LB2ZCYW",
1354
+ "outputId": "1bc71664-c9f8-434f-a666-7f78a2d34da6"
1355
+ },
1356
+ "outputs": [
1357
+ {
1358
+ "data": {
1359
+ "text/plain": [
1360
+ "array([5.97555142, 6.38304794, 4.94339087, ..., 5.802151 , 5.70372719,\n",
1361
+ " 5.62942524])"
1362
+ ]
1363
+ },
1364
+ "execution_count": 17,
1365
+ "metadata": {},
1366
+ "output_type": "execute_result"
1367
+ }
1368
+ ],
1369
+ "source": [
1370
+ "Y_pred = model.predict(X)\n",
1371
+ "Y_pred"
1372
+ ]
1373
+ },
1374
+ {
1375
+ "cell_type": "markdown",
1376
+ "metadata": {
1377
+ "id": "fXv7bcolZqa-"
1378
+ },
1379
+ "source": [
1380
+ "## Model Performance"
1381
+ ]
1382
+ },
1383
+ {
1384
+ "cell_type": "code",
1385
+ "execution_count": 76,
1386
+ "metadata": {
1387
+ "colab": {
1388
+ "base_uri": "https://localhost:8080/"
1389
+ },
1390
+ "id": "6f13gYleZVKy",
1391
+ "outputId": "fd565d7f-26e4-45d1-89f7-55b37687746c"
1392
+ },
1393
+ "outputs": [
1394
+ {
1395
+ "name": "stdout",
1396
+ "output_type": "stream",
1397
+ "text": [
1398
+ "Mean squared error (MSE): 0.34\n",
1399
+ "Coefficient of determination (R^2): 0.86\n"
1400
+ ]
1401
+ }
1402
+ ],
1403
+ "source": [
1404
+ "print('Mean squared error (MSE): %.2f'\n",
1405
+ " % mean_squared_error(Y, Y_pred))\n",
1406
+ "print('Coefficient of determination (R^2): %.2f'\n",
1407
+ " % r2_score(Y, Y_pred))"
1408
+ ]
1409
+ },
1410
+ {
1411
+ "cell_type": "markdown",
1412
+ "metadata": {
1413
+ "id": "uWvxj1iSaL3n"
1414
+ },
1415
+ "source": [
1416
+ "# Data Visualization (Experimental vs Predicted pIC50 for Training Data)"
1417
+ ]
1418
+ },
1419
+ {
1420
+ "cell_type": "code",
1421
+ "execution_count": 18,
1422
+ "metadata": {
1423
+ "id": "iPcFF0MjZlh8"
1424
+ },
1425
+ "outputs": [
1426
+ {
1427
+ "name": "stderr",
1428
+ "output_type": "stream",
1429
+ "text": [
1430
+ "Matplotlib is building the font cache; this may take a moment.\n"
1431
+ ]
1432
+ }
1433
+ ],
1434
+ "source": [
1435
+ "import matplotlib.pyplot as plt\n",
1436
+ "import numpy as np"
1437
+ ]
1438
+ },
1439
+ {
1440
+ "cell_type": "code",
1441
+ "execution_count": 19,
1442
+ "metadata": {
1443
+ "colab": {
1444
+ "base_uri": "https://localhost:8080/",
1445
+ "height": 351
1446
+ },
1447
+ "id": "QRNyIlGAaQQI",
1448
+ "outputId": "1cf12d14-4ba5-49d4-e627-902a049fba2e"
1449
+ },
1450
+ "outputs": [
1451
+ {
1452
+ "data": {
1453
+ "text/plain": [
1454
+ "Text(0.5, 0, 'Experimental pIC50')"
1455
+ ]
1456
+ },
1457
+ "execution_count": 19,
1458
+ "metadata": {},
1459
+ "output_type": "execute_result"
1460
+ },
1461
+ {
1462
+ "data": {
1463
+ "image/png": "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\n",
1464
+ "text/plain": [
1465
+ "<Figure size 360x360 with 1 Axes>"
1466
+ ]
1467
+ },
1468
+ "metadata": {
1469
+ "needs_background": "light"
1470
+ },
1471
+ "output_type": "display_data"
1472
+ }
1473
+ ],
1474
+ "source": [
1475
+ "plt.figure(figsize=(5,5))\n",
1476
+ "plt.scatter(x=Y, y=Y_pred, c=\"#7CAE00\", alpha=0.3)\n",
1477
+ "\n",
1478
+ "# Add trendline\n",
1479
+ "# https://stackoverflow.com/questions/26447191/how-to-add-trendline-in-python-matplotlib-dot-scatter-graphs\n",
1480
+ "z = np.polyfit(Y, Y_pred, 1)\n",
1481
+ "p = np.poly1d(z)\n",
1482
+ "\n",
1483
+ "plt.plot(Y,p(Y),\"#F8766D\")\n",
1484
+ "plt.ylabel('Predicted pIC50')\n",
1485
+ "plt.xlabel('Experimental pIC50')"
1486
+ ]
1487
+ },
1488
+ {
1489
+ "cell_type": "markdown",
1490
+ "metadata": {
1491
+ "id": "YzKTmvZrbFVI"
1492
+ },
1493
+ "source": [
1494
+ "# Save Model as Pickle Object"
1495
+ ]
1496
+ },
1497
+ {
1498
+ "cell_type": "code",
1499
+ "execution_count": 20,
1500
+ "metadata": {
1501
+ "id": "DzjpPyVyb8XO"
1502
+ },
1503
+ "outputs": [],
1504
+ "source": [
1505
+ "import pickle"
1506
+ ]
1507
+ },
1508
+ {
1509
+ "cell_type": "code",
1510
+ "execution_count": 21,
1511
+ "metadata": {
1512
+ "id": "b2K9ajBaaYUk"
1513
+ },
1514
+ "outputs": [],
1515
+ "source": [
1516
+ "pickle.dump(model, open('acetylcholinesterase_model.pkl', 'wb'))"
1517
+ ]
1518
+ },
1519
+ {
1520
+ "cell_type": "code",
1521
+ "execution_count": null,
1522
+ "metadata": {
1523
+ "id": "ef4fyvrEb-NC"
1524
+ },
1525
+ "outputs": [],
1526
+ "source": []
1527
+ }
1528
+ ],
1529
+ "metadata": {
1530
+ "colab": {
1531
+ "collapsed_sections": [],
1532
+ "name": "QSAR-web-app.ipynb",
1533
+ "provenance": []
1534
+ },
1535
+ "kernelspec": {
1536
+ "display_name": "Python 3 (ipykernel)",
1537
+ "language": "python",
1538
+ "name": "python3"
1539
+ },
1540
+ "language_info": {
1541
+ "codemirror_mode": {
1542
+ "name": "ipython",
1543
+ "version": 3
1544
+ },
1545
+ "file_extension": ".py",
1546
+ "mimetype": "text/x-python",
1547
+ "name": "python",
1548
+ "nbconvert_exporter": "python",
1549
+ "pygments_lexer": "ipython3",
1550
+ "version": "3.9.12"
1551
+ }
1552
+ },
1553
+ "nbformat": 4,
1554
+ "nbformat_minor": 1
1555
+ }
descriptor_list.csv ADDED
The diff for this file is too large to render. See raw diff
descriptors_output.csv ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ Name,PubchemFP0,PubchemFP1,PubchemFP2,PubchemFP3,PubchemFP4,PubchemFP5,PubchemFP6,PubchemFP7,PubchemFP8,PubchemFP9,PubchemFP10,PubchemFP11,PubchemFP12,PubchemFP13,PubchemFP14,PubchemFP15,PubchemFP16,PubchemFP17,PubchemFP18,PubchemFP19,PubchemFP20,PubchemFP21,PubchemFP22,PubchemFP23,PubchemFP24,PubchemFP25,PubchemFP26,PubchemFP27,PubchemFP28,PubchemFP29,PubchemFP30,PubchemFP31,PubchemFP32,PubchemFP33,PubchemFP34,PubchemFP35,PubchemFP36,PubchemFP37,PubchemFP38,PubchemFP39,PubchemFP40,PubchemFP41,PubchemFP42,PubchemFP43,PubchemFP44,PubchemFP45,PubchemFP46,PubchemFP47,PubchemFP48,PubchemFP49,PubchemFP50,PubchemFP51,PubchemFP52,PubchemFP53,PubchemFP54,PubchemFP55,PubchemFP56,PubchemFP57,PubchemFP58,PubchemFP59,PubchemFP60,PubchemFP61,PubchemFP62,PubchemFP63,PubchemFP64,PubchemFP65,PubchemFP66,PubchemFP67,PubchemFP68,PubchemFP69,PubchemFP70,PubchemFP71,PubchemFP72,PubchemFP73,PubchemFP74,PubchemFP75,PubchemFP76,PubchemFP77,PubchemFP78,PubchemFP79,PubchemFP80,PubchemFP81,PubchemFP82,PubchemFP83,PubchemFP84,PubchemFP85,PubchemFP86,PubchemFP87,PubchemFP88,PubchemFP89,PubchemFP90,PubchemFP91,PubchemFP92,PubchemFP93,PubchemFP94,PubchemFP95,PubchemFP96,PubchemFP97,PubchemFP98,PubchemFP99,PubchemFP100,PubchemFP101,PubchemFP102,PubchemFP103,PubchemFP104,PubchemFP105,PubchemFP106,PubchemFP107,PubchemFP108,PubchemFP109,PubchemFP110,PubchemFP111,PubchemFP112,PubchemFP113,PubchemFP114,PubchemFP115,PubchemFP116,PubchemFP117,PubchemFP118,PubchemFP119,PubchemFP120,PubchemFP121,PubchemFP122,PubchemFP123,PubchemFP124,PubchemFP125,PubchemFP126,PubchemFP127,PubchemFP128,PubchemFP129,PubchemFP130,PubchemFP131,PubchemFP132,PubchemFP133,PubchemFP134,PubchemFP135,PubchemFP136,PubchemFP137,PubchemFP138,PubchemFP139,PubchemFP140,PubchemFP141,PubchemFP142,PubchemFP143,PubchemFP144,PubchemFP145,PubchemFP146,PubchemFP147,PubchemFP148,PubchemFP149,PubchemFP150,PubchemFP151,PubchemFP152,PubchemFP153,PubchemFP154,PubchemFP155,PubchemFP156,PubchemFP157,PubchemFP158,PubchemFP159,PubchemFP160,PubchemFP161,PubchemFP162,PubchemFP163,PubchemFP164,PubchemFP165,PubchemFP166,PubchemFP167,PubchemFP168,PubchemFP169,PubchemFP170,PubchemFP171,PubchemFP172,PubchemFP173,PubchemFP174,PubchemFP175,PubchemFP176,PubchemFP177,PubchemFP178,PubchemFP179,PubchemFP180,PubchemFP181,PubchemFP182,PubchemFP183,PubchemFP184,PubchemFP185,PubchemFP186,PubchemFP187,PubchemFP188,PubchemFP189,PubchemFP190,PubchemFP191,PubchemFP192,PubchemFP193,PubchemFP194,PubchemFP195,PubchemFP196,PubchemFP197,PubchemFP198,PubchemFP199,PubchemFP200,PubchemFP201,PubchemFP202,PubchemFP203,PubchemFP204,PubchemFP205,PubchemFP206,PubchemFP207,PubchemFP208,PubchemFP209,PubchemFP210,PubchemFP211,PubchemFP212,PubchemFP213,PubchemFP214,PubchemFP215,PubchemFP216,PubchemFP217,PubchemFP218,PubchemFP219,PubchemFP220,PubchemFP221,PubchemFP222,PubchemFP223,PubchemFP224,PubchemFP225,PubchemFP226,PubchemFP227,PubchemFP228,PubchemFP229,PubchemFP230,PubchemFP231,PubchemFP232,PubchemFP233,PubchemFP234,PubchemFP235,PubchemFP236,PubchemFP237,PubchemFP238,PubchemFP239,PubchemFP240,PubchemFP241,PubchemFP242,PubchemFP243,PubchemFP244,PubchemFP245,PubchemFP246,PubchemFP247,PubchemFP248,PubchemFP249,PubchemFP250,PubchemFP251,PubchemFP252,PubchemFP253,PubchemFP254,PubchemFP255,PubchemFP256,PubchemFP257,PubchemFP258,PubchemFP259,PubchemFP260,PubchemFP261,PubchemFP262,PubchemFP263,PubchemFP264,PubchemFP265,PubchemFP266,PubchemFP267,PubchemFP268,PubchemFP269,PubchemFP270,PubchemFP271,PubchemFP272,PubchemFP273,PubchemFP274,PubchemFP275,PubchemFP276,PubchemFP277,PubchemFP278,PubchemFP279,PubchemFP280,PubchemFP281,PubchemFP282,PubchemFP283,PubchemFP284,PubchemFP285,PubchemFP286,PubchemFP287,PubchemFP288,PubchemFP289,PubchemFP290,PubchemFP291,PubchemFP292,PubchemFP293,PubchemFP294,PubchemFP295,PubchemFP296,PubchemFP297,PubchemFP298,PubchemFP299,PubchemFP300,PubchemFP301,PubchemFP302,PubchemFP303,PubchemFP304,PubchemFP305,PubchemFP306,PubchemFP307,PubchemFP308,PubchemFP309,PubchemFP310,PubchemFP311,PubchemFP312,PubchemFP313,PubchemFP314,PubchemFP315,PubchemFP316,PubchemFP317,PubchemFP318,PubchemFP319,PubchemFP320,PubchemFP321,PubchemFP322,PubchemFP323,PubchemFP324,PubchemFP325,PubchemFP326,PubchemFP327,PubchemFP328,PubchemFP329,PubchemFP330,PubchemFP331,PubchemFP332,PubchemFP333,PubchemFP334,PubchemFP335,PubchemFP336,PubchemFP337,PubchemFP338,PubchemFP339,PubchemFP340,PubchemFP341,PubchemFP342,PubchemFP343,PubchemFP344,PubchemFP345,PubchemFP346,PubchemFP347,PubchemFP348,PubchemFP349,PubchemFP350,PubchemFP351,PubchemFP352,PubchemFP353,PubchemFP354,PubchemFP355,PubchemFP356,PubchemFP357,PubchemFP358,PubchemFP359,PubchemFP360,PubchemFP361,PubchemFP362,PubchemFP363,PubchemFP364,PubchemFP365,PubchemFP366,PubchemFP367,PubchemFP368,PubchemFP369,PubchemFP370,PubchemFP371,PubchemFP372,PubchemFP373,PubchemFP374,PubchemFP375,PubchemFP376,PubchemFP377,PubchemFP378,PubchemFP379,PubchemFP380,PubchemFP381,PubchemFP382,PubchemFP383,PubchemFP384,PubchemFP385,PubchemFP386,PubchemFP387,PubchemFP388,PubchemFP389,PubchemFP390,PubchemFP391,PubchemFP392,PubchemFP393,PubchemFP394,PubchemFP395,PubchemFP396,PubchemFP397,PubchemFP398,PubchemFP399,PubchemFP400,PubchemFP401,PubchemFP402,PubchemFP403,PubchemFP404,PubchemFP405,PubchemFP406,PubchemFP407,PubchemFP408,PubchemFP409,PubchemFP410,PubchemFP411,PubchemFP412,PubchemFP413,PubchemFP414,PubchemFP415,PubchemFP416,PubchemFP417,PubchemFP418,PubchemFP419,PubchemFP420,PubchemFP421,PubchemFP422,PubchemFP423,PubchemFP424,PubchemFP425,PubchemFP426,PubchemFP427,PubchemFP428,PubchemFP429,PubchemFP430,PubchemFP431,PubchemFP432,PubchemFP433,PubchemFP434,PubchemFP435,PubchemFP436,PubchemFP437,PubchemFP438,PubchemFP439,PubchemFP440,PubchemFP441,PubchemFP442,PubchemFP443,PubchemFP444,PubchemFP445,PubchemFP446,PubchemFP447,PubchemFP448,PubchemFP449,PubchemFP450,PubchemFP451,PubchemFP452,PubchemFP453,PubchemFP454,PubchemFP455,PubchemFP456,PubchemFP457,PubchemFP458,PubchemFP459,PubchemFP460,PubchemFP461,PubchemFP462,PubchemFP463,PubchemFP464,PubchemFP465,PubchemFP466,PubchemFP467,PubchemFP468,PubchemFP469,PubchemFP470,PubchemFP471,PubchemFP472,PubchemFP473,PubchemFP474,PubchemFP475,PubchemFP476,PubchemFP477,PubchemFP478,PubchemFP479,PubchemFP480,PubchemFP481,PubchemFP482,PubchemFP483,PubchemFP484,PubchemFP485,PubchemFP486,PubchemFP487,PubchemFP488,PubchemFP489,PubchemFP490,PubchemFP491,PubchemFP492,PubchemFP493,PubchemFP494,PubchemFP495,PubchemFP496,PubchemFP497,PubchemFP498,PubchemFP499,PubchemFP500,PubchemFP501,PubchemFP502,PubchemFP503,PubchemFP504,PubchemFP505,PubchemFP506,PubchemFP507,PubchemFP508,PubchemFP509,PubchemFP510,PubchemFP511,PubchemFP512,PubchemFP513,PubchemFP514,PubchemFP515,PubchemFP516,PubchemFP517,PubchemFP518,PubchemFP519,PubchemFP520,PubchemFP521,PubchemFP522,PubchemFP523,PubchemFP524,PubchemFP525,PubchemFP526,PubchemFP527,PubchemFP528,PubchemFP529,PubchemFP530,PubchemFP531,PubchemFP532,PubchemFP533,PubchemFP534,PubchemFP535,PubchemFP536,PubchemFP537,PubchemFP538,PubchemFP539,PubchemFP540,PubchemFP541,PubchemFP542,PubchemFP543,PubchemFP544,PubchemFP545,PubchemFP546,PubchemFP547,PubchemFP548,PubchemFP549,PubchemFP550,PubchemFP551,PubchemFP552,PubchemFP553,PubchemFP554,PubchemFP555,PubchemFP556,PubchemFP557,PubchemFP558,PubchemFP559,PubchemFP560,PubchemFP561,PubchemFP562,PubchemFP563,PubchemFP564,PubchemFP565,PubchemFP566,PubchemFP567,PubchemFP568,PubchemFP569,PubchemFP570,PubchemFP571,PubchemFP572,PubchemFP573,PubchemFP574,PubchemFP575,PubchemFP576,PubchemFP577,PubchemFP578,PubchemFP579,PubchemFP580,PubchemFP581,PubchemFP582,PubchemFP583,PubchemFP584,PubchemFP585,PubchemFP586,PubchemFP587,PubchemFP588,PubchemFP589,PubchemFP590,PubchemFP591,PubchemFP592,PubchemFP593,PubchemFP594,PubchemFP595,PubchemFP596,PubchemFP597,PubchemFP598,PubchemFP599,PubchemFP600,PubchemFP601,PubchemFP602,PubchemFP603,PubchemFP604,PubchemFP605,PubchemFP606,PubchemFP607,PubchemFP608,PubchemFP609,PubchemFP610,PubchemFP611,PubchemFP612,PubchemFP613,PubchemFP614,PubchemFP615,PubchemFP616,PubchemFP617,PubchemFP618,PubchemFP619,PubchemFP620,PubchemFP621,PubchemFP622,PubchemFP623,PubchemFP624,PubchemFP625,PubchemFP626,PubchemFP627,PubchemFP628,PubchemFP629,PubchemFP630,PubchemFP631,PubchemFP632,PubchemFP633,PubchemFP634,PubchemFP635,PubchemFP636,PubchemFP637,PubchemFP638,PubchemFP639,PubchemFP640,PubchemFP641,PubchemFP642,PubchemFP643,PubchemFP644,PubchemFP645,PubchemFP646,PubchemFP647,PubchemFP648,PubchemFP649,PubchemFP650,PubchemFP651,PubchemFP652,PubchemFP653,PubchemFP654,PubchemFP655,PubchemFP656,PubchemFP657,PubchemFP658,PubchemFP659,PubchemFP660,PubchemFP661,PubchemFP662,PubchemFP663,PubchemFP664,PubchemFP665,PubchemFP666,PubchemFP667,PubchemFP668,PubchemFP669,PubchemFP670,PubchemFP671,PubchemFP672,PubchemFP673,PubchemFP674,PubchemFP675,PubchemFP676,PubchemFP677,PubchemFP678,PubchemFP679,PubchemFP680,PubchemFP681,PubchemFP682,PubchemFP683,PubchemFP684,PubchemFP685,PubchemFP686,PubchemFP687,PubchemFP688,PubchemFP689,PubchemFP690,PubchemFP691,PubchemFP692,PubchemFP693,PubchemFP694,PubchemFP695,PubchemFP696,PubchemFP697,PubchemFP698,PubchemFP699,PubchemFP700,PubchemFP701,PubchemFP702,PubchemFP703,PubchemFP704,PubchemFP705,PubchemFP706,PubchemFP707,PubchemFP708,PubchemFP709,PubchemFP710,PubchemFP711,PubchemFP712,PubchemFP713,PubchemFP714,PubchemFP715,PubchemFP716,PubchemFP717,PubchemFP718,PubchemFP719,PubchemFP720,PubchemFP721,PubchemFP722,PubchemFP723,PubchemFP724,PubchemFP725,PubchemFP726,PubchemFP727,PubchemFP728,PubchemFP729,PubchemFP730,PubchemFP731,PubchemFP732,PubchemFP733,PubchemFP734,PubchemFP735,PubchemFP736,PubchemFP737,PubchemFP738,PubchemFP739,PubchemFP740,PubchemFP741,PubchemFP742,PubchemFP743,PubchemFP744,PubchemFP745,PubchemFP746,PubchemFP747,PubchemFP748,PubchemFP749,PubchemFP750,PubchemFP751,PubchemFP752,PubchemFP753,PubchemFP754,PubchemFP755,PubchemFP756,PubchemFP757,PubchemFP758,PubchemFP759,PubchemFP760,PubchemFP761,PubchemFP762,PubchemFP763,PubchemFP764,PubchemFP765,PubchemFP766,PubchemFP767,PubchemFP768,PubchemFP769,PubchemFP770,PubchemFP771,PubchemFP772,PubchemFP773,PubchemFP774,PubchemFP775,PubchemFP776,PubchemFP777,PubchemFP778,PubchemFP779,PubchemFP780,PubchemFP781,PubchemFP782,PubchemFP783,PubchemFP784,PubchemFP785,PubchemFP786,PubchemFP787,PubchemFP788,PubchemFP789,PubchemFP790,PubchemFP791,PubchemFP792,PubchemFP793,PubchemFP794,PubchemFP795,PubchemFP796,PubchemFP797,PubchemFP798,PubchemFP799,PubchemFP800,PubchemFP801,PubchemFP802,PubchemFP803,PubchemFP804,PubchemFP805,PubchemFP806,PubchemFP807,PubchemFP808,PubchemFP809,PubchemFP810,PubchemFP811,PubchemFP812,PubchemFP813,PubchemFP814,PubchemFP815,PubchemFP816,PubchemFP817,PubchemFP818,PubchemFP819,PubchemFP820,PubchemFP821,PubchemFP822,PubchemFP823,PubchemFP824,PubchemFP825,PubchemFP826,PubchemFP827,PubchemFP828,PubchemFP829,PubchemFP830,PubchemFP831,PubchemFP832,PubchemFP833,PubchemFP834,PubchemFP835,PubchemFP836,PubchemFP837,PubchemFP838,PubchemFP839,PubchemFP840,PubchemFP841,PubchemFP842,PubchemFP843,PubchemFP844,PubchemFP845,PubchemFP846,PubchemFP847,PubchemFP848,PubchemFP849,PubchemFP850,PubchemFP851,PubchemFP852,PubchemFP853,PubchemFP854,PubchemFP855,PubchemFP856,PubchemFP857,PubchemFP858,PubchemFP859,PubchemFP860,PubchemFP861,PubchemFP862,PubchemFP863,PubchemFP864,PubchemFP865,PubchemFP866,PubchemFP867,PubchemFP868,PubchemFP869,PubchemFP870,PubchemFP871,PubchemFP872,PubchemFP873,PubchemFP874,PubchemFP875,PubchemFP876,PubchemFP877,PubchemFP878,PubchemFP879,PubchemFP880
2
+ "CHEMBL130478",1,1,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,0,1,0,0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,1,1,0,1,1,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,1,1,0,0,1,0,0,1,1,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0,0,1,0,1,1,1,0,1,0,1,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,1,1,1,0,0,1,1,0,0,1,1,0,1,1,1,0,0,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,1,1,0,0,0,1,0,0,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3
+ "CHEMBL130628",1,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,1,0,1,0,1,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,1,1,0,1,0,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4
+ "CHEMBL336398",1,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,1,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,1,1,0,1,0,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
5
+ "CHEMBL133897",1,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,0,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,1,0,1,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,1,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,0,0,0,1,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,0,1,0,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
6
+ "CHEMBL131588",1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,0,1,0,1,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,1,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,1,1,0,1,0,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,1,0,0,0,1,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
example_acetylcholinesterase.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ CCOc1nn(-c2cccc(OCc3ccccc3)c2)c(=O)o1 CHEMBL133897
2
+ O=C(N1CCCCC1)n1nc(-c2ccc(Cl)cc2)nc1SCC1CC1 CHEMBL336398
3
+ CN(C(=O)n1nc(-c2ccc(Cl)cc2)nc1SCC(F)(F)F)c1ccccc1 CHEMBL131588
4
+ O=C(N1CCCCC1)n1nc(-c2ccc(Cl)cc2)nc1SCC(F)(F)F CHEMBL130628
5
+ CSc1nc(-c2ccc(OC(F)(F)F)cc2)nn1C(=O)N(C)C CHEMBL130478
logo.PNG ADDED