Here you find the User's Guide .
Given a scaffold structure with attached R1, R2, ... nodes as query, RGroupDecomposition 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.
The search hit has to cover full fragments, that is, extra ligands not corresponding to some query R-atom are not allowed. If the query does not contain R-atoms then it is automatically modified: all implicit hydrogens are replaced by different R-atoms attached by any-bonds.
Since JChem 5.3, decompositions are returned in a dedicated Decomposition result object, see [findFirstDecomposition()](https://apidocs.chemaxon.com/jchem/doc/dev/java/api/chemaxon/sss/search/RGroupDecomposition.html#findFirstDecomposition()) and [findNextDecomposition()](https://apidocs.chemaxon.com/jchem/doc/dev/java/api/chemaxon/sss/search/RGroupDecomposition.html#findNextDecomposition()) .
Output in table form is returned infindLigandTable() .
Since JChem 5.3, it is also possible to generate a Markush structure in form of an RgMolecule which covers a list of specified targets. The root structure is the specified scaffold (query) and R-group definitions are determined by the decompositions of the targets. This functionality is implemented in MarkushGenerator.
In case of database search the hits can also be retrieved as R-group decomposition result objects. Refer to the JChemSearch guide for details. It is more efficient to apply database search in case of many targets since JChemSearch uses parallel processing while RGroupDecomposition is run on a single thread.