Class MarkushGenerator

  • @PublicAPI
    public class MarkushGenerator
    extends Object

    Generates RgMolecule output that covers the specified targets with the specified scaffold. The scaffold is a Molecule with undefined R-atoms. The root structure of the generated RgMolecule is this scaffold, the R-group definitions are added so that the target space would be fully covered by the set of the enumerated structures (and typically contain a lot of additional structures as well).

    The implementation uses RGroupDecomposition to find the R-group definitions.

    API usage examples:

    query: the query molecule
    targets: the target molecules

     MarkushGenerator mg = new MarkushGenerator();
     // generate the RgMolecule that covers the targets
     RgMolecule rgmol = mg.generate();
     // get the target array indexes of the targets that did not match the query
     int[] skipped = mg.getSkippedTargetIndexes();
    JChem 5.3
    See Also:
    RGroupDecomposition, Decomposition
    • Constructor Detail

      • MarkushGenerator

        public MarkushGenerator()
    • Method Detail

      • setSearchOptions

        public void setSearchOptions​(SearchOptions options)
        Copies all search parameters from options.
        options - search options to copy
        See Also:
      • getSearchOptions

        public MolSearchOptions getSearchOptions()
        Returns the search options. Use this object to set the search options of RGroupDecomposition directly (e.g.: getSearchOptions().setExactBondMatching(true);).
        the search options
      • setStandardizer

        public void setStandardizer​(Standardizer standardizer)

        Sets standardizer object of this MolSearch class, to be used for the query and target molecules, Chemical Terms configuration and re-standardization of query tautomers at tautomer searching.

        Default is aromatization only.

        standardizer - the standardizer, null for aromatization only
        JChem 5.12
      • getQuery

        public Molecule getQuery()
        Returns the query.
        the query
      • setTargets

        public void setTargets​(Molecule[] targets)
        Sets the targets. The generated RgMolecule will cover these targets by its enumerations.
        targets - the targets
      • getTargets

        public Molecule[] getTargets()
        Returns the targets.
        the targets
      • getSkippedTargetIndexes

        public int[] getSkippedTargetIndexes()
        Returns the target array indexes of targets that have been skipped in the last RgMolecule generation in generate().
        the target array indexes of targets skipped in the last generate(), or null if called before generate()