Package com.chemaxon.search.mcs
Class McsSearchOptions
java.lang.Object
com.chemaxon.search.mcs.McsSearchOptions
Options class for
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.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Builder class for creating immutable instances of the enclosingMcsSearchOptions
class. -
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Default value forMcsSearchOptions.Builder.maxConsideredRingSize(int)
. -
Method Summary
Modifier and TypeMethodDescriptionReturns the factory that is used to create custom matcher (if specified).static McsSearchOptions
Returns the default search options object.int
Returns the maximum size of rings considered during search for the specified ring handling mode.int
Returns the minimum required size of the fragments of the common substructures.Returns the ring handling mode.boolean
Returns whether atom map numbers are considered in search.boolean
Returns whether atom types are considered in search.boolean
Returns whether bond types are considered in search.boolean
Returns whether formal charges are considered in search.boolean
Returns whether the common substructures should be connected or they can consist of multiple fragments.boolean
Returns whether query atoms are matched only to query atoms of exactly the same type.boolean
Returns whether query bonds are matched only to query bonds of exactly the same type.boolean
Returns whether isotopes are considered in search.boolean
Returns whether search is sensitive to the order of the matched atoms and bonds when searching for multiple hits.boolean
Returns whether radicals are considered in search.
-
Field Details
-
DEFAULT_MAX_CONSIDERED_RING_SIZE
public static final int DEFAULT_MAX_CONSIDERED_RING_SIZEDefault value forMcsSearchOptions.Builder.maxConsideredRingSize(int)
.- See Also:
-
-
Method Details
-
getDefault
Returns the default search options object. It is the same asnew McsSearchOptions.Builder().build()
, but it does not create a new object, it returns the same immutableMcsSearchOptions
instance for each call.- Returns:
- the default search options
-
isAtomTypeMatching
public boolean isAtomTypeMatching()Returns whether atom types are considered in search. SeeMcsSearchOptions.Builder.atomTypeMatching(boolean)
.- Returns:
- true if atoms with different atom types are considered different
-
isBondTypeMatching
public boolean isBondTypeMatching()Returns whether bond types are considered in search. SeeMcsSearchOptions.Builder.bondTypeMatching(boolean)
.- Returns:
- true if bonds with different bond types are considered different
-
isChargeMatching
public boolean isChargeMatching()Returns whether formal charges are considered in search. SeeMcsSearchOptions.Builder.chargeMatching(boolean)
.- Returns:
- true if atoms with different charges are considered different
-
isIsotopeMatching
public boolean isIsotopeMatching()Returns whether isotopes are considered in search. SeeMcsSearchOptions.Builder.isotopeMatching(boolean)
.- Returns:
- true if atoms with different mass numbers are considered different
-
isRadicalMatching
public boolean isRadicalMatching()Returns whether radicals are considered in search. SeeMcsSearchOptions.Builder.radicalMatching(boolean)
.- Returns:
- true if atoms with different radicals are considered different
-
isAtomMapMatching
public boolean isAtomMapMatching()Returns whether atom map numbers are considered in search. SeeMcsSearchOptions.Builder.atomMapMatching(boolean)
.- Returns:
- true if atoms with different atom map numbers are considered different
-
isExactQueryAtomMatching
public boolean isExactQueryAtomMatching()Returns whether query atoms are matched only to query atoms of exactly the same type. SeeMcsSearchOptions.Builder.exactQueryAtomMatching(boolean)
.- Returns:
- true if query atoms match only the same query atoms
-
isExactQueryBondMatching
public boolean isExactQueryBondMatching()Returns whether query bonds are matched only to query bonds of exactly the same type. SeeMcsSearchOptions.Builder.exactQueryBondMatching(boolean)
.- Returns:
- true if query bonds match only the same query bonds
-
getRingHandlingMode
Returns the ring handling mode.- Returns:
- the ring handling mode (not null)
-
getMaxConsideredRingSize
public int getMaxConsideredRingSize()Returns the maximum size of rings considered during search for the specified ring handling mode.- Returns:
- the maximum considered ring size
- See Also:
-
isConnectedMode
public boolean isConnectedMode()Returns whether the common substructures should be connected or they can consist of multiple fragments. SeeMcsSearchOptions.Builder.connectedMode(boolean)
.- Returns:
- true if the search is for a connected common substructure
-
getMinFragmentSize
public int getMinFragmentSize()Returns the minimum required size of the fragments of the common substructures. Fragments having less bonds than this limit are ignored, except for one largest fragment found. SeeMcsSearchOptions.Builder.minFragmentSize(int)
.- Returns:
- minimum required bond count in additional fragments (except for the largest one)
-
isOrderSensitiveSearch
public boolean isOrderSensitiveSearch()Returns whether search is sensitive to the order of the matched atoms and bonds when searching for multiple hits. SeeMcsSearchOptions.Builder.orderSensitive(boolean)
.- Returns:
- true if the search is order-sensitive
-
getCustomMatching
Returns the factory that is used to create custom matcher (if specified). SeeMcsSearchOptions.Builder.customMatching(McsCustomMatcherFactory)
.- Returns:
- the optional custom matcher factory
-