Class MarkushGenerator
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(); mg.setQuery(query); mg.setTargets(targets); // 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();
- Since:
- JChem 5.3
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongenerate()
Generates theRgMolecule
with the specified scaffold (seesetQuery(chemaxon.struc.Molecule)
) covering the specified targets (seesetTargets(chemaxon.struc.Molecule[])
).getQuery()
Returns the query.Returns the search options.int[]
Returns the target array indexes of targets that have been skipped in the lastRgMolecule
generation ingenerate()
.Molecule[]
Returns the targets.void
Sets the query.void
setSearchOptions
(SearchOptions options) Copies all search parameters fromoptions
.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.void
setTargets
(Molecule[] targets) Sets the targets.
-
Field Details
-
NO_UNDEF_RGROUP
- See Also:
-
-
Constructor Details
-
MarkushGenerator
public MarkushGenerator()Constructor.
-
-
Method Details
-
setSearchOptions
Copies all search parameters fromoptions
.- Parameters:
options
- search options to copy- See Also:
-
getSearchOptions
Returns the search options. Use this object to set the search options ofRGroupDecomposition
directly (e.g.:getSearchOptions().setExactBondMatching(true);
).- Returns:
- the search options
-
setStandardizer
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.
- Parameters:
standardizer
- the standardizer,null
for aromatization only- Since:
- JChem 5.12
-
setQuery
Sets the query. This will be the root structure in the generatedRgMolecule
. The query should contain at least one undefined R-atom.- Parameters:
query
- the query- Throws:
SearchException
- if the query does not contain an undefined R-atomIllegalArgumentException
- if query contains Markush features which would be enumerated during R-rgroup decomposition
-
getQuery
Returns the query.- Returns:
- the query
-
setTargets
Sets the targets. The generatedRgMolecule
will cover these targets by its enumerations.- Parameters:
targets
- the targets
-
getTargets
Returns the targets.- Returns:
- the targets
-
generate
Generates theRgMolecule
with the specified scaffold (seesetQuery(chemaxon.struc.Molecule)
) covering the specified targets (seesetTargets(chemaxon.struc.Molecule[])
). The query and the targets should be set beforehand. If some of the targets cannot be decomposed (because there is not search hit) then the corresponding target array indexes are returned ingetSkippedTargetIndexes()
.- Returns:
- the generated
RgMolecule
- Throws:
SearchException
- on search error- See Also:
-
getSkippedTargetIndexes
public int[] getSkippedTargetIndexes()Returns the target array indexes of targets that have been skipped in the lastRgMolecule
generation ingenerate()
.- Returns:
- the target array indexes of targets skipped in the last
generate()
, ornull
if called beforegenerate()
-