Spaces:
Running
Running
| from lynxkite.core.ops import op | |
| import pandas as pd | |
| import base64 | |
| import io | |
| def pil_to_data(image): | |
| buffer = io.BytesIO() | |
| image.save(buffer, format="png") | |
| b64 = base64.b64encode(buffer.getvalue()).decode("utf-8") | |
| return "data:image/png;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(df: pd.DataFrame, *, smiles_column: str, image_column: str = "image"): | |
| df = df.copy() | |
| df[image_column] = df[smiles_column].apply(smiles_to_data) | |
| return df | |