Download assets/figure1_source/make_molecules.py from ChatterjeeLab/DooABLe: direct link, hf CLI and curl.
- Browser
- Download file 1.03 kB
-
https://huggingface.co/ChatterjeeLab/DooABLe/resolve/main/assets/figure1_source/make_molecules.py
- Command line
-
hf download hf://ChatterjeeLab/DooABLe/assets/figure1_source/make_molecules.py
-
curl -L -o make_molecules.py https://huggingface.co/ChatterjeeLab/DooABLe/resolve/main/assets/figure1_source/make_molecules.py
1.03 kB
| """Render structures used in the overview from explicit SMILES.""" | |
| from pathlib import Path | |
| from rdkit import Chem | |
| from rdkit.Chem.Draw import rdMolDraw2D | |
| import cairosvg | |
| HERE=Path(__file__).resolve().parent | |
| structures={ | |
| 'parent_acid':'O=C(O)c1ccccc1', | |
| 'parent_amine':'Nc1ccccc1', | |
| 'parent_aminoacid':'Nc1ccc(C(=O)O)cc1', | |
| 'product':'CNC(=O)c1ccc(NC(C)=O)cc1', | |
| } | |
| for name,smiles in structures.items(): | |
| drawer=rdMolDraw2D.MolDraw2DSVG(420,180) if name == "product" else rdMolDraw2D.MolDraw2DSVG(240,140) | |
| options=drawer.drawOptions() | |
| options.useBWAtomPalette() | |
| options.clearBackground=False | |
| options.bondLineWidth=2 | |
| options.fixedBondLength=28 | |
| options.fixedFontSize=26 if name == "product" else 24 | |
| options.fontFile=str(HERE/'fonts/Ubuntu-Regular.ttf') | |
| drawer.DrawMolecule(Chem.MolFromSmiles(smiles)) | |
| drawer.FinishDrawing() | |
| svg=drawer.GetDrawingText() | |
| (HERE/f'{name}.svg').write_text(svg) | |
| cairosvg.svg2pdf(bytestring=svg.encode(),write_to=str(HERE/f'{name}.pdf')) | |