@PublicAPI public final class McsSearchOptions extends MatchingOptions
MaxCommonSubstructure
(MCS) search. Instances of this class are immutable, they can be
created using the McsSearchOptions.Builder
nested class. For example,
McsSearchOptions searchOpts = new McsSearchOptions.Builder().chargeMatching(true).build();
There are various options for specifying when the atoms and bonds of the two molecules can be matched with each other. By default, only atom and bond types are considered, but other properties can also be taken into account optionally (e.g. charge, isotope, radical).
MCS algorithms can search for connected and disconnected common substructures as well. The latter one is the default, which means that the common substructures could consist of more than one fragment. A minimum required size can be specified for these fragments, but the largest fragment is kept regardless of the specified minimum size.
Modifier and Type | Class and Description |
---|---|
static class |
McsSearchOptions.Builder
Builder class for creating immutable instances of the enclosing
McsSearchOptions class. |
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_CONSIDERED_RING_SIZE
Default value for
McsSearchOptions.Builder.maxConsideredRingSize(int) . |
Modifier and Type | Method and Description |
---|---|
static McsSearchOptions |
getDefault()
Returns the default search options object.
|
int |
getMaxConsideredRingSize()
Gets the maximum size of rings considered during search for the specified ring handling mode.
|
int |
getMinFragmentSize()
Gets the minimum required size of the fragments of the common substructures.
|
RingHandlingMode |
getRingHandlingMode()
Gets the ring handling mode specified.
|
boolean |
isConnectedMode()
Gets whether the common substructures should be connected or they can consist of multiple fragments.
|
getCustomMatching, isAtomMapMatching, isAtomTypeMatching, isBondTypeMatching, isChargeMatching, isExactQueryAtomMatching, isExactQueryBondMatching, isIsotopeMatching, isOrderSensitiveSearch, isRadicalMatching
public static final int DEFAULT_MAX_CONSIDERED_RING_SIZE
McsSearchOptions.Builder.maxConsideredRingSize(int)
.public static McsSearchOptions getDefault()
new SearchOptions.Builder().build()
,
but it does not create a new object, it returns the same immutable McsSearchOptions
instance for each
call.public RingHandlingMode getRingHandlingMode()
public int getMaxConsideredRingSize()
RingHandlingMode
public boolean isConnectedMode()
McsSearchOptions.Builder.connectedMode(boolean)
.public int getMinFragmentSize()
McsSearchOptions.Builder.minFragmentSize(int)
.