|
8 | 8 |
|
9 | 9 | from rdkit.Chem import MolToSmiles, MolFromSmiles, BondType, GetSymmSSSR |
10 | 10 |
|
| 11 | +try: |
| 12 | + kernel_name = get_ipython().__class__.__name__ |
| 13 | + if kernel_name == 'ZMQInteractiveShell': |
| 14 | + from rdkit.Chem.Draw import IPythonConsole |
| 15 | + from rdkit.Chem import Draw |
| 16 | +except NameError: |
| 17 | + pass |
| 18 | + |
11 | 19 |
|
12 | 20 | class Scaffold(object): |
13 | 21 | """A convenience class for defining scaffolds in scaffoldgraph. |
@@ -497,6 +505,29 @@ def __len__(self): |
497 | 505 | """Returns the size of the ring (number of atoms).""" |
498 | 506 | return len(self.aix) |
499 | 507 |
|
| 508 | + def _repr_png_(self): |
| 509 | + """Return PNG representation of the rdkit mol (ring highlighted).""" |
| 510 | + mol = self.owner.mol |
| 511 | + keku = IPythonConsole.kekulizeStructures |
| 512 | + size = IPythonConsole.molSize |
| 513 | + opts = IPythonConsole.drawOptions |
| 514 | + return Draw._moltoimg( |
| 515 | + mol, size, self.aix, "", returnPNG=True, drawOptions=opts, |
| 516 | + kekulize=keku, highlightBonds=self.bix |
| 517 | + ) |
| 518 | + |
| 519 | + def _repr_svg_(self): |
| 520 | + """Return SVG representation of the rdkit mol (ring highlighted).""" |
| 521 | + if not IPythonConsole.ipython_useSVG: |
| 522 | + return None |
| 523 | + mol = self.owner.mol |
| 524 | + keku = IPythonConsole.kekulizeStructures |
| 525 | + size = IPythonConsole.molSize |
| 526 | + opts = IPythonConsole.drawOptions |
| 527 | + return Draw._moltoSVG( |
| 528 | + mol, size, self.aix, "", keku, drawOptions=opts, highlightBonds=self.bix |
| 529 | + ) |
| 530 | + |
500 | 531 | def __repr__(self): |
501 | 532 | return '<{_cls} at {address}>'.format( |
502 | 533 | _cls=self.__class__.__name__, |
@@ -838,6 +869,29 @@ def __getitem__(self, index): |
838 | 869 | def __len__(self): |
839 | 870 | return len(self.aix) |
840 | 871 |
|
| 872 | + def _repr_png_(self): |
| 873 | + """Return PNG representation of the rdkit mol (ring highlighted).""" |
| 874 | + mol = self.owner.mol |
| 875 | + keku = IPythonConsole.kekulizeStructures |
| 876 | + size = IPythonConsole.molSize |
| 877 | + opts = IPythonConsole.drawOptions |
| 878 | + return Draw._moltoimg( |
| 879 | + mol, size, self.aix, "", returnPNG=True, drawOptions=opts, |
| 880 | + kekulize=keku, highlightBonds=self.bix |
| 881 | + ) |
| 882 | + |
| 883 | + def _repr_svg_(self): |
| 884 | + """Return SVG representation of the rdkit mol (ring highlighted).""" |
| 885 | + if not IPythonConsole.ipython_useSVG: |
| 886 | + return None |
| 887 | + mol = self.owner.mol |
| 888 | + keku = IPythonConsole.kekulizeStructures |
| 889 | + size = IPythonConsole.molSize |
| 890 | + opts = IPythonConsole.drawOptions |
| 891 | + return Draw._moltoSVG( |
| 892 | + mol, size, self.aix, "", keku, drawOptions=opts, highlightBonds=self.bix |
| 893 | + ) |
| 894 | + |
841 | 895 | def __repr__(self): |
842 | 896 | return '<{_cls} at {address}>'.format( |
843 | 897 | _cls=self.__class__.__name__, |
|
0 commit comments