File size: 1,025 Bytes
81ae663
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""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'))