Spaces:
Runtime error
Runtime error
| from lynxkite_core.ops import op | |
| from lynxkite_graph_analytics.core import Bundle, TableName, ColumnNameByTableName | |
| import base64 | |
| import io | |
| def pil_to_data(image): | |
| buffer = io.BytesIO() | |
| image.save(buffer, format="webp") | |
| b64 = base64.b64encode(buffer.getvalue()).decode("utf-8") | |
| return "data:image/webp;base64," + b64 | |
| def smiles_to_data(smiles): | |
| import rdkit | |
| m = rdkit.Chem.MolFromSmiles(smiles) | |
| if m is None: | |
| return None | |
| img = rdkit.Chem.Draw.MolToImage(m) | |
| data = pil_to_data(img) | |
| return data | |
| def draw_molecules( | |
| b: Bundle, | |
| *, | |
| table_name: TableName, | |
| smiles_column: ColumnNameByTableName, | |
| image_column: str = "image", | |
| ): | |
| """Adds molecule images in a table.""" | |
| b = b.copy() | |
| df = b.dfs[table_name] | |
| df = df.copy() | |
| df[image_column] = df[smiles_column].apply(smiles_to_data) | |
| b.dfs[table_name] = df | |
| return b | |