Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/cluster/project/beltrao/jjaenes/23.03_DHODH\n"
]
}
],
"source": [
"%cd ../../.\n",
"from workflow.modules import *\n",
"import sklearn as sk, sklearn.preprocessing, sklearn.metrics"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Choose method to plot\n",
"method_name_ = 'DiffDock'\n",
"#method_name_ = 'vina'\n",
"\n",
"df_ = pd.read_csv(f'results/raw_docking_scores_{method_name_}.tsv', sep='\\t')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"label_id\n",
"DUDE decoys 6444\n",
"Prestwick 1476\n",
"DUDE actives 111\n",
"in_vitro_inactive 8\n",
"in_vitro_active 3\n",
"Name: count, dtype: int64\n"
]
}
],
"source": [
"def label_id_(r):\n",
" if r['library_id'] == 'dude_actives':\n",
" return 'DUDE actives'\n",
" elif r['library_id'].startswith('dude_decoys'):\n",
" return 'DUDE decoys'\n",
" elif r['library_id'].startswith('prestwick'):\n",
" if r.ligand_id in {'teriflunomide', 'tiratricol', 'dicumarol'}:\n",
" return 'in_vitro_active'\n",
" elif r.ligand_id in {'leflunomide', 'azaribine', 'tegaserod_maleate', 'flunarizine_dihydrochloride', 'felodipine', 'cisatracurium_besylate', 'mesoridazine_besylate', 'amethopterin'}:\n",
" return 'in_vitro_inactive'\n",
" else:\n",
" return 'Prestwick'\n",
" else:\n",
" return 'Unknown'\n",
"\n",
"df_['label_id'] = df_.apply(label_id_, axis=1)\n",
"print(df_['label_id'].value_counts())"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ligand_id</th>\n",
" <th>library_id</th>\n",
" <th>docking_score_1d3g</th>\n",
" <th>docking_score_1d3h</th>\n",
" <th>docking_score_4igh</th>\n",
" <th>docking_score_6j3c</th>\n",
" <th>label_id</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>CHEMBL104001</td>\n",
" <td>dude_actives</td>\n",
" <td>2.845082</td>\n",
" <td>1.437503</td>\n",
" <td>1.808002</td>\n",
" <td>2.508283</td>\n",
" <td>DUDE actives</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>CHEMBL107642</td>\n",
" <td>dude_actives</td>\n",
" <td>2.719386</td>\n",
" <td>-0.815275</td>\n",
" <td>1.052445</td>\n",
" <td>2.221207</td>\n",
" <td>DUDE actives</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>CHEMBL41799</td>\n",
" <td>dude_actives</td>\n",
" <td>3.815615</td>\n",
" <td>1.414756</td>\n",
" <td>2.074270</td>\n",
" <td>1.073455</td>\n",
" <td>DUDE actives</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>CHEMBL39448</td>\n",
" <td>dude_actives</td>\n",
" <td>3.594265</td>\n",
" <td>1.537032</td>\n",
" <td>1.953160</td>\n",
" <td>3.518149</td>\n",
" <td>DUDE actives</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>CHEMBL142996</td>\n",
" <td>dude_actives</td>\n",
" <td>2.173816</td>\n",
" <td>1.492498</td>\n",
" <td>1.851271</td>\n",
" <td>2.452923</td>\n",
" <td>DUDE actives</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8037</th>\n",
" <td>troleandomycin</td>\n",
" <td>prestwick_c</td>\n",
" <td>0.085040</td>\n",
" <td>0.984957</td>\n",
" <td>0.859423</td>\n",
" <td>0.131867</td>\n",
" <td>Prestwick</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8038</th>\n",
" <td>colistin_sulfate</td>\n",
" <td>prestwick_c</td>\n",
" <td>-1.171916</td>\n",
" <td>-1.179155</td>\n",
" <td>-0.425947</td>\n",
" <td>-0.682864</td>\n",
" <td>Prestwick</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8039</th>\n",
" <td>cyclosporin_a</td>\n",
" <td>prestwick_c</td>\n",
" <td>-1.195172</td>\n",
" <td>0.621070</td>\n",
" <td>-0.464957</td>\n",
" <td>-1.123533</td>\n",
" <td>Prestwick</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8040</th>\n",
" <td>vancomycin_hydrochloride</td>\n",
" <td>prestwick_c</td>\n",
" <td>0.065695</td>\n",
" <td>-1.194204</td>\n",
" <td>-1.174475</td>\n",
" <td>-1.139471</td>\n",
" <td>Prestwick</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8041</th>\n",
" <td>bromide</td>\n",
" <td>prestwick_c</td>\n",
" <td>-1.200260</td>\n",
" <td>-1.210483</td>\n",
" <td>-1.175436</td>\n",
" <td>-1.147681</td>\n",
" <td>Prestwick</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8042 rows × 7 columns</p>\n",
"</div>"
],
"text/plain": [
" ligand_id library_id docking_score_1d3g \\\n",
"0 CHEMBL104001 dude_actives 2.845082 \n",
"1 CHEMBL107642 dude_actives 2.719386 \n",
"2 CHEMBL41799 dude_actives 3.815615 \n",
"3 CHEMBL39448 dude_actives 3.594265 \n",
"4 CHEMBL142996 dude_actives 2.173816 \n",
"... ... ... ... \n",
"8037 troleandomycin prestwick_c 0.085040 \n",
"8038 colistin_sulfate prestwick_c -1.171916 \n",
"8039 cyclosporin_a prestwick_c -1.195172 \n",
"8040 vancomycin_hydrochloride prestwick_c 0.065695 \n",
"8041 bromide prestwick_c -1.200260 \n",
"\n",
" docking_score_1d3h docking_score_4igh docking_score_6j3c label_id \n",
"0 1.437503 1.808002 2.508283 DUDE actives \n",
"1 -0.815275 1.052445 2.221207 DUDE actives \n",
"2 1.414756 2.074270 1.073455 DUDE actives \n",
"3 1.537032 1.953160 3.518149 DUDE actives \n",
"4 1.492498 1.851271 2.452923 DUDE actives \n",
"... ... ... ... ... \n",
"8037 0.984957 0.859423 0.131867 Prestwick \n",
"8038 -1.179155 -0.425947 -0.682864 Prestwick \n",
"8039 0.621070 -0.464957 -1.123533 Prestwick \n",
"8040 -1.194204 -1.174475 -1.139471 Prestwick \n",
"8041 -1.210483 -1.175436 -1.147681 Prestwick \n",
"\n",
"[8042 rows x 7 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for pdb_id in ['1d3g', '1d3h', '4igh', '6j3c']:\n",
" score_col_ = f'docking_score_{pdb_id}'\n",
" scaler_ = sklearn.preprocessing.RobustScaler().fit(df_.query('label_id == \"Prestwick\"')[score_col_].to_numpy().reshape(-1, 1))\n",
" df_[score_col_] = scaler_.transform(df_[score_col_].to_numpy().reshape(-1, 1))\n",
"df_"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"cols_ = [f'docking_score_{pdb_id}' for pdb_id in ['1d3g', '1d3h', '4igh', '6j3c'] ]\n",
"df_['docking_score_combined'] = df_[cols_].mean(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.8519706857695685\n"
]
},
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'DiffDock (DUDE AUC=85.2)')"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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YmhoiKenJ7Nnzy5xWxVm9+7d2Nvb4+DgoLM9/9LQli1bypz3kyLXpIV4AZmbm1OxYkUuXbpUZJpXXnkFe3t79PT0eOWVV9Ttjo6OWFlZkZWVpbO9JFxdXQG4dOkSVapU4YsvvuDvv//m8OHDNGnSBID27duTm5vL119/zYgRI6hVqxbfffcdu3fvZvHixfTr10/Nr6ggcOPGDQIDA0lKSmLv3r0lul586NAhevfuXarzeficnpbiPi8nJ6cC26pXr865c+ceme+SJUswMTGhZ8+eAPTt25d3332XdevWERoaWub6JicnY29vj7m5eYnSl+b6raIo6r/ffPNNNm7cSJ8+ffj444+BvB+Dy5cvp0uXLjrHderUiUaNGlG9enVu3rzJ999/T1hYGHFxcYXeaPYo//3vf4mOjmbevHno6+vr7NPX16dBgwbs37+/1Pk+aRKkhXhBPfhl97zK/OWXX/D09FQDdL6QkBAWLlzIL7/8Qq1atdi6dSsmJiYlChxJSUn4+vpiYmLCoUOHihxufdCtW7e4e/dugR5RSTyrdiyqnJ07dxa4cawkQ71JSUns3r2bHj16qKMHXbp0YdiwYSxduvSxgnRpde7cmZiYmFIft23bNt555x26dOlC165dMTAw4McffyQkJISsrCydwP+f//xH59jAwEBsbW1ZsGABo0aNomHDhiUud+vWrQwePJi3336boUOHFprGwcGhTOf0pEmQFuIFdOfOHa5fv069evWeabl//vknAJUqVQLg+vXruLm5FUj34H7IGxavVKmSzrXHohw5coRr167x6aeflihAA9y7dw8oWXB72MPnBGBgYFDkMGr+kK2hoWGJyyju82rQoAEVK1YsTZWBvGvPiqLw9ttvc+vWLXX766+/zqpVqzh16hR16tQB8s4HKPacHjyfqlWrcvbsWe7cuVOi3nSFChUKvUO9OIqiEBoaSsuWLXWuo7dt25a0tDSGDh1K165diy3/nXfeYcGCBRw6dKjEQXr79u28+eabtGvXjlWrVhV6rRry/pby/66eJ7kmLcQLaMuWLeTm5hb6bOvTcu/ePXbu3En16tXV4GlnZ0dKSkqBtPnDuvnBx97enkuXLpXo2dNu3boxdepUPvroIz755JMS1c3Ozg6gwA1AJfHjjz8C6LSlo6Mjly5dKrT3+/fff6tpSupJf15arZaIiAgg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1aoCddNoNHz99dcEBgZibm7OJ598AsDChQupXr06RkZG1K5dmxUrVugcd+vWLQYMGICjoyMmJibUrVuXzZs366TZvn07Hh4eWFhY0KFDB1JSUopso8zMTIYNG4aDgwMmJiY0b96cmJgYdX90dDQajYbt27fTqFEjjI2N2bt3b4Hh7pK0taIofP7557i7u2NqakqDBg1Yv359kXUTQojnocRBet68eUyZMoUqVaqQkpKi8+VZWh999BFhYWHExcVRq1YtevToQU5ODgD379/npZdeYvPmzfz+++8MGDCAXr16cfjwYZ08li9fjoGBAfv372fRokUFyggLCyMlJUV9zZo1CzMzs2LXCZ49ezaNGjXi+PHjDBo0iPfff59Tp04BecGyVatWWFhY8Ouvv7Jv3z418GRlZT3ynGfPns3SpUtZsmQJ+/bt48aNG2zatKlExxVVp379+rF69WoyMzPV9KtWraJSpUq0atUKyPtxdeHCBX755RfWr1/PV199RWpqaoFyJk2aRGBgICdPniQ0NJRNmzYxfPhwPvjgA37//Xfee+893n33XXbv3g2AVqulY8eOHDhwgJUrVxIfH8+MGTPQ19dX87x79y6zZs1ixYoV/PrrryQnJxMWFlbkuY4ZM4YNGzawfPlyjh07Ro0aNWjfvj03btwokG769OkkJCRQv379MrX1xx9/zLJly1i4cCF//PEHI0eO5J133mHPnj2P+kiEEOLZUUphzpw5iqurq/rez89PGT58uPoeUDZt2qRzjLW1tbJs2TJFURQlKSlJAZT//ve/6v4//vhDAZSEhIQiyw0ICFA++OADnXK9vb0LpCusfEVRlIMHDyomJibK2rVri6y7q6ur8s4776jvtVqt4uDgoCxcuFBRFEVZsmSJUrt2bUWr1appMjMzFVNTU2X79u1F1j2fs7OzMmPGDPV9dna2UqVKFSUwMLDMdbp//75SoUIFnfPy9vZWwsPDFUVRlNOnTyuAcujQIXV/QkKCAihz5sxRtwHKiBEjdOrbtGlTpX///jrbunTpogQEBCiKoijbt29X9PT0lNOnTxd6vsuWLVMA5dy5c+q2//znP4qjo6P6vk+fPur5Z2RkKIaGhsqqVavU/VlZWUqlSpWUzz//XFEURdm9e7cCKJGRkTplTZo0SWnQoIH6/lFtnZGRoZiYmCgHDhzQyadv375K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",
"text/plain": [
"<Figure size 350x450 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(2, 1, sharex=True, figsize=(3.5,4.5), gridspec_kw={'height_ratios': [11, 5]})\n",
"fig.subplots_adjust(hspace=0)\n",
"\n",
"kwargs_ = {\n",
" 'palette': {\n",
" 'in_vitro_active': 'tab:orange',\n",
" 'in_vitro_inactive': 'tab:gray',\n",
" }\n",
"}\n",
"\n",
"df_invitro_ = df_.query('label_id == \"in_vitro_inactive\" | label_id == \"in_vitro_active\"').sort_values('docking_score_combined', ascending=False)\n",
"sns.barplot(data=df_invitro_, x='docking_score_combined', y='ligand_id', hue='label_id', width=.5, ax=ax[0], **kwargs_)\n",
"ax[0].legend(loc='lower right')\n",
"\n",
"kwargs_ = {\n",
" 'order': [\n",
" 'in_vitro_active',\n",
" 'in_vitro_inactive',\n",
" 'Prestwick',\n",
" 'DUDE actives',\n",
" 'DUDE decoys',\n",
" ],\n",
" 'orient': 'h',\n",
" #'inner': 'stick',\n",
" #'cut': 0,\n",
"}\n",
"sns.violinplot(data=df_, x='docking_score_combined', y='label_id', **kwargs_)\n",
"ax[0].set_xlim([-2.5, 5])\n",
"ax[0].xaxis.grid(True)\n",
"ax[1].xaxis.grid(True)\n",
"ax[0].set_ylabel('')\n",
"ax[1].set_ylabel('')\n",
"\n",
"df_auc_ = df_.query('label_id == \"DUDE actives\" | label_id == \"DUDE decoys\"')\n",
"auc_ = sk.metrics.roc_auc_score(y_true=df_auc_['label_id'] == 'DUDE actives', y_score=df_auc_['docking_score_combined'])\n",
"print(auc_)\n",
"ax[0].set_title(f'{method_name_} (DUDE AUC={100*auc_:.1f})')\n",
"#plt.savefig(f'results/scoreplot_{method_name_}.svg', bbox_inches='tight', transparent=True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"#df_table_ = df1_.merge(df2_, on='ligand_id')[['ligand_id', 'label_id', 'docking_score_vina', 'docking_score_diffdock']]\\\n",
"# .sort_values('docking_score_diffdock', ascending=False)\n",
"#df_table_.drop_duplicates(keep='first').to_csv('results/docking_scores.tsv', sep='\\t', index=False, header=True)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}