Spaces:
Running
Running
Add example with molecule images.
Browse files
examples/Image table.lynxkite.json
CHANGED
@@ -6,12 +6,28 @@
|
|
6 |
"sourceHandle": "output",
|
7 |
"target": "View tables 1",
|
8 |
"targetHandle": "bundle"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
}
|
10 |
],
|
11 |
"env": "LynxKite Graph Analytics",
|
12 |
"nodes": [
|
13 |
{
|
14 |
"data": {
|
|
|
|
|
15 |
"display": null,
|
16 |
"error": null,
|
17 |
"input_metadata": [],
|
@@ -39,11 +55,11 @@
|
|
39 |
"height": 200.0,
|
40 |
"id": "Example image table 1",
|
41 |
"position": {
|
42 |
-
"x":
|
43 |
-
"y":
|
44 |
},
|
45 |
"type": "basic",
|
46 |
-
"width":
|
47 |
},
|
48 |
{
|
49 |
"data": {
|
@@ -119,14 +135,230 @@
|
|
119 |
"title": "View tables"
|
120 |
},
|
121 |
"dragHandle": ".bg-primary",
|
122 |
-
"height":
|
123 |
"id": "View tables 1",
|
124 |
"position": {
|
125 |
-
"x":
|
126 |
-
"y":
|
127 |
},
|
128 |
"type": "table_view",
|
129 |
-
"width":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
}
|
131 |
]
|
132 |
}
|
|
|
6 |
"sourceHandle": "output",
|
7 |
"target": "View tables 1",
|
8 |
"targetHandle": "bundle"
|
9 |
+
},
|
10 |
+
{
|
11 |
+
"id": "Import CSV 1 Draw molecules 1",
|
12 |
+
"source": "Import CSV 1",
|
13 |
+
"sourceHandle": "output",
|
14 |
+
"target": "Draw molecules 1",
|
15 |
+
"targetHandle": "df"
|
16 |
+
},
|
17 |
+
{
|
18 |
+
"id": "Draw molecules 1 View tables 2",
|
19 |
+
"source": "Draw molecules 1",
|
20 |
+
"sourceHandle": "output",
|
21 |
+
"target": "View tables 2",
|
22 |
+
"targetHandle": "bundle"
|
23 |
}
|
24 |
],
|
25 |
"env": "LynxKite Graph Analytics",
|
26 |
"nodes": [
|
27 |
{
|
28 |
"data": {
|
29 |
+
"__execution_delay": null,
|
30 |
+
"collapsed": true,
|
31 |
"display": null,
|
32 |
"error": null,
|
33 |
"input_metadata": [],
|
|
|
55 |
"height": 200.0,
|
56 |
"id": "Example image table 1",
|
57 |
"position": {
|
58 |
+
"x": 213.60043945845376,
|
59 |
+
"y": 306.98088700969373
|
60 |
},
|
61 |
"type": "basic",
|
62 |
+
"width": 280.0
|
63 |
},
|
64 |
{
|
65 |
"data": {
|
|
|
135 |
"title": "View tables"
|
136 |
},
|
137 |
"dragHandle": ".bg-primary",
|
138 |
+
"height": 440.0,
|
139 |
"id": "View tables 1",
|
140 |
"position": {
|
141 |
+
"x": 626.2831607914023,
|
142 |
+
"y": 109.55448939208392
|
143 |
},
|
144 |
"type": "table_view",
|
145 |
+
"width": 376.0
|
146 |
+
},
|
147 |
+
{
|
148 |
+
"data": {
|
149 |
+
"__execution_delay": 0.0,
|
150 |
+
"collapsed": null,
|
151 |
+
"display": null,
|
152 |
+
"error": null,
|
153 |
+
"input_metadata": [],
|
154 |
+
"meta": {
|
155 |
+
"color": "orange",
|
156 |
+
"inputs": [],
|
157 |
+
"name": "Import CSV",
|
158 |
+
"outputs": [
|
159 |
+
{
|
160 |
+
"name": "output",
|
161 |
+
"position": "right",
|
162 |
+
"type": {
|
163 |
+
"type": "None"
|
164 |
+
}
|
165 |
+
}
|
166 |
+
],
|
167 |
+
"params": [
|
168 |
+
{
|
169 |
+
"default": null,
|
170 |
+
"name": "filename",
|
171 |
+
"type": {
|
172 |
+
"type": "<class 'str'>"
|
173 |
+
}
|
174 |
+
},
|
175 |
+
{
|
176 |
+
"default": "<from file>",
|
177 |
+
"name": "columns",
|
178 |
+
"type": {
|
179 |
+
"type": "<class 'str'>"
|
180 |
+
}
|
181 |
+
},
|
182 |
+
{
|
183 |
+
"default": "<auto>",
|
184 |
+
"name": "separator",
|
185 |
+
"type": {
|
186 |
+
"type": "<class 'str'>"
|
187 |
+
}
|
188 |
+
}
|
189 |
+
],
|
190 |
+
"type": "basic"
|
191 |
+
},
|
192 |
+
"params": {
|
193 |
+
"columns": "<from file>",
|
194 |
+
"filename": "uploads/molecules2.csv",
|
195 |
+
"separator": "<auto>"
|
196 |
+
},
|
197 |
+
"status": "done",
|
198 |
+
"title": "Import CSV"
|
199 |
+
},
|
200 |
+
"dragHandle": ".bg-primary",
|
201 |
+
"height": 313.0,
|
202 |
+
"id": "Import CSV 1",
|
203 |
+
"position": {
|
204 |
+
"x": 13.802068621055497,
|
205 |
+
"y": -269.65065144888104
|
206 |
+
},
|
207 |
+
"type": "basic",
|
208 |
+
"width": 216.0
|
209 |
+
},
|
210 |
+
{
|
211 |
+
"data": {
|
212 |
+
"display": {
|
213 |
+
"dataframes": {
|
214 |
+
"df": {
|
215 |
+
"columns": [
|
216 |
+
"name",
|
217 |
+
"smiles",
|
218 |
+
"image"
|
219 |
+
],
|
220 |
+
"data": [
|
221 |
+
[
|
222 |
+
"ciprofloxacin",
|
223 |
+
"C1CNCCN1c(c2)c(F)cc3c2N(C4CC4)C=C(C3=O)C(=O)O",
|
224 |
+
"data:image/png;base64,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"
|
225 |
+
],
|
226 |
+
[
|
227 |
+
"caffeine",
|
228 |
+
"CN1C=NC2=C1C(=O)N(C(=O)N2C)C",
|
229 |
+
"data:image/png;base64,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"
|
230 |
+
],
|
231 |
+
[
|
232 |
+
"\u03b1-d-glucopyranose",
|
233 |
+
"C([C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)O)O)O)O)O",
|
234 |
+
"data:image/png;base64,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"
|
235 |
+
]
|
236 |
+
]
|
237 |
+
}
|
238 |
+
},
|
239 |
+
"other": {},
|
240 |
+
"relations": []
|
241 |
+
},
|
242 |
+
"error": null,
|
243 |
+
"input_metadata": [
|
244 |
+
{
|
245 |
+
"dataframes": {
|
246 |
+
"df": {
|
247 |
+
"columns": [
|
248 |
+
"image",
|
249 |
+
"name",
|
250 |
+
"smiles"
|
251 |
+
]
|
252 |
+
}
|
253 |
+
},
|
254 |
+
"other": {},
|
255 |
+
"relations": []
|
256 |
+
}
|
257 |
+
],
|
258 |
+
"meta": {
|
259 |
+
"color": "orange",
|
260 |
+
"inputs": [
|
261 |
+
{
|
262 |
+
"name": "bundle",
|
263 |
+
"position": "left",
|
264 |
+
"type": {
|
265 |
+
"type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
|
266 |
+
}
|
267 |
+
}
|
268 |
+
],
|
269 |
+
"name": "View tables",
|
270 |
+
"outputs": [],
|
271 |
+
"params": [
|
272 |
+
{
|
273 |
+
"default": 100,
|
274 |
+
"name": "limit",
|
275 |
+
"type": {
|
276 |
+
"type": "<class 'int'>"
|
277 |
+
}
|
278 |
+
}
|
279 |
+
],
|
280 |
+
"type": "table_view"
|
281 |
+
},
|
282 |
+
"params": {
|
283 |
+
"limit": 100.0
|
284 |
+
},
|
285 |
+
"status": "done",
|
286 |
+
"title": "View tables"
|
287 |
+
},
|
288 |
+
"dragHandle": ".bg-primary",
|
289 |
+
"height": 418.0,
|
290 |
+
"id": "View tables 2",
|
291 |
+
"position": {
|
292 |
+
"x": 548.7706661684929,
|
293 |
+
"y": -316.9626796191875
|
294 |
+
},
|
295 |
+
"type": "table_view",
|
296 |
+
"width": 1116.0
|
297 |
+
},
|
298 |
+
{
|
299 |
+
"data": {
|
300 |
+
"__execution_delay": 0.0,
|
301 |
+
"collapsed": null,
|
302 |
+
"display": null,
|
303 |
+
"error": null,
|
304 |
+
"input_metadata": [
|
305 |
+
{}
|
306 |
+
],
|
307 |
+
"meta": {
|
308 |
+
"color": "orange",
|
309 |
+
"inputs": [
|
310 |
+
{
|
311 |
+
"name": "df",
|
312 |
+
"position": "left",
|
313 |
+
"type": {
|
314 |
+
"type": "<class 'pandas.core.frame.DataFrame'>"
|
315 |
+
}
|
316 |
+
}
|
317 |
+
],
|
318 |
+
"name": "Draw molecules",
|
319 |
+
"outputs": [
|
320 |
+
{
|
321 |
+
"name": "output",
|
322 |
+
"position": "right",
|
323 |
+
"type": {
|
324 |
+
"type": "None"
|
325 |
+
}
|
326 |
+
}
|
327 |
+
],
|
328 |
+
"params": [
|
329 |
+
{
|
330 |
+
"default": null,
|
331 |
+
"name": "smiles_column",
|
332 |
+
"type": {
|
333 |
+
"type": "<class 'str'>"
|
334 |
+
}
|
335 |
+
},
|
336 |
+
{
|
337 |
+
"default": "image",
|
338 |
+
"name": "image_column",
|
339 |
+
"type": {
|
340 |
+
"type": "<class 'str'>"
|
341 |
+
}
|
342 |
+
}
|
343 |
+
],
|
344 |
+
"type": "basic"
|
345 |
+
},
|
346 |
+
"params": {
|
347 |
+
"image_column": "image",
|
348 |
+
"smiles_column": "smiles"
|
349 |
+
},
|
350 |
+
"status": "done",
|
351 |
+
"title": "Draw molecules"
|
352 |
+
},
|
353 |
+
"dragHandle": ".bg-primary",
|
354 |
+
"height": 296.0,
|
355 |
+
"id": "Draw molecules 1",
|
356 |
+
"position": {
|
357 |
+
"x": 289.42386787591244,
|
358 |
+
"y": -258.0823121715324
|
359 |
+
},
|
360 |
+
"type": "basic",
|
361 |
+
"width": 212.0
|
362 |
}
|
363 |
]
|
364 |
}
|
examples/draw_molecules.py
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from lynxkite.core.ops import op
|
2 |
+
import pandas as pd
|
3 |
+
import base64
|
4 |
+
import io
|
5 |
+
|
6 |
+
|
7 |
+
def pil_to_data(image):
|
8 |
+
buffer = io.BytesIO()
|
9 |
+
image.save(buffer, format="png")
|
10 |
+
b64 = base64.b64encode(buffer.getvalue()).decode("utf-8")
|
11 |
+
return "data:image/png;base64," + b64
|
12 |
+
|
13 |
+
|
14 |
+
def smiles_to_data(smiles):
|
15 |
+
import rdkit
|
16 |
+
|
17 |
+
m = rdkit.Chem.MolFromSmiles(smiles)
|
18 |
+
img = rdkit.Chem.Draw.MolToImage(m)
|
19 |
+
data = pil_to_data(img)
|
20 |
+
return data
|
21 |
+
|
22 |
+
|
23 |
+
@op("LynxKite Graph Analytics", "Draw molecules")
|
24 |
+
def draw_molecules(df: pd.DataFrame, *, smiles_column: str, image_column: str = "image"):
|
25 |
+
df = df.copy()
|
26 |
+
df[image_column] = df[smiles_column].apply(smiles_to_data)
|
27 |
+
return df
|
examples/uploads/molecules2.csv
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
name,smiles
|
2 |
+
ciprofloxacin,C1CNCCN1c(c2)c(F)cc3c2N(C4CC4)C=C(C3=O)C(=O)O
|
3 |
+
caffeine,CN1C=NC2=C1C(=O)N(C(=O)N2C)C
|
4 |
+
α-d-glucopyranose,C([C@@H]1[C@H]([C@@H]([C@H]([C@H](O1)O)O)O)O)O
|
lynxkite-app/web/src/index.css
CHANGED
@@ -281,7 +281,7 @@ body {
|
|
281 |
}
|
282 |
|
283 |
.image-in-table {
|
284 |
-
max-height:
|
285 |
}
|
286 |
}
|
287 |
}
|
|
|
281 |
}
|
282 |
|
283 |
.image-in-table {
|
284 |
+
max-height: 100px;
|
285 |
}
|
286 |
}
|
287 |
}
|