Given a scaffold structure with attached R1, R2, ... nodes as query,
determines the possible R-group decompositions of given target molecule.
A decomposition consists of the matching scaffold and the R1, R2, ... ligands
with attachment points. Each decomposition corresponds to a group hit, see
Search.findFirstGroup() and Search.findNextGroup().

Get a colored ligand table for different targets, one row for each target
corresponding to the first decomposition (note, that this is null
if there is no hit), align target and ligands according to query,
coloring data set in atom sets (for MRV output):

addRGroups

Adds different rgroup atoms connected by any-bonds
to query molecule in place of all implicit H-s.
In this way ligands will be accepted and stored
at all possible attachments. As of JChem 5.3,
these R-atoms are added automatically if the query does not contain
undefined R-atoms. In this case R-atoms are allowed to match the empty set.
Call this before setQuery(chemaxon.struc.Molecule).

Parameters:

query - is the query molecule to be set

addRGroups

Adds different rgroup atoms connected by the specified bond type
to query molecule in place of all implicit H-s.
Bond types: see constants in MolBond.
In this way ligands will be accepted and stored
at all possible attachments.
Call this before setQuery(chemaxon.struc.Molecule).

Parameters:

query - is the query molecule to be set

bondType - is the attachment bond type

setAlign

public void setAlign(boolean align)

Sets alignment. Default: false.

Parameters:

align - is true if ligands and target should be aligned (cleaned)

Since:

JChem 5.3

isMarkushQuery

public boolean isMarkushQuery()

Returns true if query contains Markush features
which will be enumerated (all features except defined R-rgroups
and homologies).

Returns:

true if query contains Markush features
other than defined R-groups and homologies

setQuery

Specifies the query structure to search for. If the query does not contain undefined R-atoms
then addRGroups(chemaxon.struc.Molecule) is called to put R-atoms in place of
implicit hydrogens - in this case undefined R-atoms are allowed to match the empty set,
apart from heavy atom groups or hydrogen atoms. If the query contains R-atoms, these are
allowed to match heavy atom groups or hydrogen atoms, but not the empty set.

If there are more Rgroup ligands with the same rgroup index in the query
(e.g. multiple R1 groups) then corresponding ligands will be fused.
If there is no Rgroup ligand with an rgroup index then the corresponding
table entry is null.
Color map is stored in atom sets which can be written in MRV format and
is automatically handled by MView. See MolAtom.getSetSeq().
Rgroups in the table header are represented by any-atoms with rgroup index
set in atom map to enable SMILES export.

If there are more Rgroup ligands with the same rgroup index in the query
(e.g. multiple R1 groups) then corresponding ligands will be fused.
If there is no Rgroup ligand with an rgroup index then the corresponding
table entry is null.
If the colorTag is specified then a color map symbol is set in the molecule
property for each atom, separated by SEPARATOR characters:

the least ligand attachment query atom Rgroup index for ligand atoms

0 for scaffold atoms

You can run MView with setting atom colors from the SDF tag DMAP,
symbol - color pairs given in file Colors.ini:

mview -t DMAP -p Colors.ini ligands.sdf

By default, color map is stored in atom sets which can be written in MRV format and
is automatically handled by MView. See MolAtom.getSetSeq().
Rgroups in the table header are represented by any-atoms with rgroup index
set in atom map to enable SMILES export.

findLigandTableRow

Returns a ligand table row with ligands corresponding to a the first search hit.
Format:

target scaffold ligand R1 ligand R2 ligand R3 ...

The target and the scaffold columns are optional.
The color map is stored in atom sets which can be written in MRV format and
is automatically handled by MView. See MolAtom.getSetSeq().
Attachment points in ligands are represented according to attachment type
set in setAttachmentType(int).

findLigandTableRow

Returns a ligand table row with ligands corresponding to a the first search hit.
Format:

target scaffold ligand R1 ligand R2 ligand R3 ...

The target and the scaffold columns are optional.
By default, color map is stored in atom sets which can be written in MRV format and
is automatically handled by MView. See MolAtom.getSetSeq().
Attachment points in ligands are represented according to attachment type
set in setAttachmentType(int).

getLigandTableHeader

The query and the scaffold columns are optional.
Color maps are stored in atom sets which can be written in MRV format and
is automatically handled by MView. See MolAtom.getSetSeq().
Rgroups in the table header are represented by any-atoms with rgroup index
set in atom map or by rgroup atoms.

Parameters:

headerType - is the header type:

HEADER_RGROUP for header with rgroup atoms (cannot be exported to SMILES)

getLigandTableHeader

The query and the scaffold columns are optional.
By default, color map is stored in atom sets which can be written in MRV format and
is automatically handled by MView. See MolAtom.getSetSeq().
Rgroups in the table header are represented by any-atoms with rgroup index
set in atom map or by rgroup atoms.

Parameters:

headerType - is the header type:

HEADER_RGROUP for header with rgroup atoms (cannot be exported to SMILES)