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 SummaryNested ClassesModifier and TypeClassDescriptionstatic final classBuilder class for creating immutable instances of the enclosingMcsSearchOptionsclass.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intDefault value forMcsSearchOptions.Builder.maxConsideredRingSize(int).
- 
Method SummaryModifier and TypeMethodDescriptionReturns the factory that is used to create custom matcher (if specified).static McsSearchOptionsReturns the default search options object.intReturns the maximum size of rings considered during search for the specified ring handling mode.intReturns the minimum required size of the fragments of the common substructures.Returns the ring handling mode.booleanReturns whether atom map numbers are considered in search.booleanReturns whether atom types are considered in search.booleanReturns whether bond types are considered in search.booleanReturns whether formal charges are considered in search.booleanReturns whether the common substructures should be connected or they can consist of multiple fragments.booleanReturns whether query atoms are matched only to query atoms of exactly the same type.booleanReturns whether query bonds are matched only to query bonds of exactly the same type.booleanReturns whether isotopes are considered in search.booleanReturns whether search is sensitive to the order of the matched atoms and bonds when searching for multiple hits.booleanReturns whether radicals are considered in search.
- 
Field Details- 
DEFAULT_MAX_CONSIDERED_RING_SIZEpublic static final int DEFAULT_MAX_CONSIDERED_RING_SIZEDefault value forMcsSearchOptions.Builder.maxConsideredRingSize(int).- See Also:
 
 
- 
- 
Method Details- 
getDefaultReturns 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 immutableMcsSearchOptionsinstance for each call.- Returns:
- the default search options
 
- 
isAtomTypeMatchingpublic 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
 
- 
isBondTypeMatchingpublic 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
 
- 
isChargeMatchingpublic boolean isChargeMatching()Returns whether formal charges are considered in search. SeeMcsSearchOptions.Builder.chargeMatching(boolean).- Returns:
- true if atoms with different charges are considered different
 
- 
isIsotopeMatchingpublic boolean isIsotopeMatching()Returns whether isotopes are considered in search. SeeMcsSearchOptions.Builder.isotopeMatching(boolean).- Returns:
- true if atoms with different mass numbers are considered different
 
- 
isRadicalMatchingpublic boolean isRadicalMatching()Returns whether radicals are considered in search. SeeMcsSearchOptions.Builder.radicalMatching(boolean).- Returns:
- true if atoms with different radicals are considered different
 
- 
isAtomMapMatchingpublic 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
 
- 
isExactQueryAtomMatchingpublic 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
 
- 
isExactQueryBondMatchingpublic 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
 
- 
getRingHandlingModeReturns the ring handling mode.- Returns:
- the ring handling mode (not null)
 
- 
getMaxConsideredRingSizepublic 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:
 
- 
isConnectedModepublic 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
 
- 
getMinFragmentSizepublic 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)
 
- 
isOrderSensitiveSearchpublic 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
 
- 
getCustomMatchingReturns the factory that is used to create custom matcher (if specified). SeeMcsSearchOptions.Builder.customMatching(McsCustomMatcherFactory).- Returns:
- the optional custom matcher factory
 
 
-