epam / epam/Indigo

indigo.createDecomposer changes R-group passed as query

Open
#171 0 comments 0 reactions 0 assignees View on GitHub
Indigo API Priority: Medium
Dominant language
C++
Stars
406
Forks
134
Avg merge
2d 11h
Merged PRs (30d)
24

Description

Hi,

very nice project thanks for maintaining this.

when initializing the decomposer it reduces user supplied scaffold definition. For the following scaffold it reduces R2 and R3 to a single R group. Is there a way to prevent this?

Screen Shot 2020-08-12 at 8 10 40 PM

```import indigo
from indigo import renderer
from IPython.display import SVG


indigo = indigo.Indigo()

def render_molobj(indigo, molobj: indigo.IndigoObject):
render = renderer.IndigoRenderer(indigo)
indigo.setOption("render-image-width", 200)
indigo.setOption("render-image-height", 200)
indigo.setOption("render-coloring", True)
indigo.setOption("render-output-format", "svg")
svg_image = render.renderToBuffer(molobj)

display(SVG(svg_image))

indol_scaffold = """
MJ200900

10 11 0 0 0 0 0 0 0 0999 V2000
0.6347 0.5113 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1.3491 0.0988 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1.3491 -0.7259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.6347 -1.1384 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-0.0796 -0.7259 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-0.0796 0.0988 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-1.3492 -0.3135 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0
-0.8642 0.3538 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
-1.1191 1.1384 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0
-0.8642 -0.9808 0.0000 R# 0 0 0 0 0 0 0 0 0 0 0 0
1 2 2 0 0 0 0
2 3 1 0 0 0 0
3 4 2 0 0 0 0
4 5 1 0 0 0 0
6 1 1 0 0 0 0
6 5 2 0 0 0 0
6 8 1 0 0 0 0
8 7 1 0 0 0 0
8 9 1 0 0 0 0
7 10 1 0 0 0 0
10 5 1 0 0 0 0
M RGP 3 7 2 9 1 10 3
M END
"""

molecules = [
indigo.loadMolecule("CN(C)CCN1C=CC2=C1C=CC=C2"),
indigo.loadMolecule("CC(CN(C)C)N1CC2=C1C=CC=C2")
]

mol_scaffold = indigo.loadQueryMolecule(indol_scaffold)
decomposer = indigo.createDecomposer(mol_scaffold)

decomposition = decomposer.decomposeMolecule(molecules[0])

for q_match in decomposition.iterateDecompositions():
decomp_item = q_match.decomposedMoleculeWithRGroups()
if decomp_item.countRSites() != 0:
render_molobj(indigo, decomp_item)
print(decomp_item.smiles())

```
Screen Shot 2020-08-12 at 8 14 18 PM

PS: Do you have an example on the MoleculeRGroupsComposition code somewhere?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.