Class MatchingOptions.Builder
- java.lang.Object
-
- com.chemaxon.search.MatchingOptions.Builder
-
- Direct Known Subclasses:
McsSearchOptions.Builder
- Enclosing class:
- MatchingOptions
public abstract static class MatchingOptions.Builder extends Object
Abstract builder class for creating the base part of immutable instances of any class inheriting the enclosingMatchingOptions
class.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
atomMapMatching
protected boolean
atomTypeMatching
protected boolean
bondTypeMatching
protected boolean
chargeMatching
protected CustomMatcherFactory
customMatcherFactory
protected boolean
exactQueryAtomMatching
protected boolean
exactQueryBondMatching
protected boolean
isotopeMatching
protected boolean
orderSensitive
protected boolean
radicalMatching
-
Constructor Summary
Constructors Constructor Description Builder()
Creates a Builder object with the default settings.Builder(MatchingOptions opts)
Creates a Builder object containing the settings of the given search options object.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract MatchingOptions.Builder
atomMapMatching(boolean value)
Sets whether atom map numbers should be considered in search.abstract MatchingOptions.Builder
atomTypeMatching(boolean value)
Sets whether atom types should be considered in search.abstract MatchingOptions.Builder
bondTypeMatching(boolean value)
Sets whether bond types should be considered in search.abstract MatchingOptions
build()
Creates a search options object with the settings specified by this builder instance.abstract MatchingOptions.Builder
chargeMatching(boolean value)
Sets whether formal charges of atoms should be considered in search.abstract MatchingOptions.Builder
customMatching(CustomMatcherFactory matcherFactory)
Sets the factory to be used to create a custom matcher.abstract MatchingOptions.Builder
exactQueryAtomMatching(boolean value)
Sets whether generic query atoms should be matched only to atoms of exactly the same type.abstract MatchingOptions.Builder
exactQueryBondMatching(boolean value)
Sets whether generic query bonds should be matched only to bonds of exactly the same type.abstract MatchingOptions.Builder
isotopeMatching(boolean value)
Sets whether isotopes of atoms should be considered in search.abstract MatchingOptions.Builder
orderSensitive(boolean value)
Sets whether search is sensitive to the order of the matched atoms and bonds when searching for multiple results.abstract MatchingOptions.Builder
radicalMatching(boolean value)
Sets whether the radical information of atoms should be considered in search.
-
-
-
Field Detail
-
atomTypeMatching
protected boolean atomTypeMatching
-
bondTypeMatching
protected boolean bondTypeMatching
-
chargeMatching
protected boolean chargeMatching
-
isotopeMatching
protected boolean isotopeMatching
-
radicalMatching
protected boolean radicalMatching
-
atomMapMatching
protected boolean atomMapMatching
-
exactQueryAtomMatching
protected boolean exactQueryAtomMatching
-
exactQueryBondMatching
protected boolean exactQueryBondMatching
-
customMatcherFactory
protected CustomMatcherFactory customMatcherFactory
-
orderSensitive
protected boolean orderSensitive
-
-
Constructor Detail
-
Builder
public Builder()
Creates a Builder object with the default settings.
-
Builder
public Builder(MatchingOptions opts)
Creates a Builder object containing the settings of the given search options object. Useful if only a few options need to be changed, compared to an existing search options object.- Parameters:
opts
- the default values
-
-
Method Detail
-
atomTypeMatching
public abstract MatchingOptions.Builder atomTypeMatching(boolean value)
Sets whether atom types should be considered in search. By default, the atom types are checked, i.e., a carbon atom does not match to an oxygen atom.- Parameters:
value
- specifies whether atom types are checked (true) or ignored (false)- Returns:
- this builder
-
bondTypeMatching
public abstract MatchingOptions.Builder bondTypeMatching(boolean value)
Sets whether bond types should be considered in search. By default, the bond types are checked, i.e., "CC" does not match to "C=C".- Parameters:
value
- specifies whether bond types are checked (true) or ignored (false)- Returns:
- this builder
-
chargeMatching
public abstract MatchingOptions.Builder chargeMatching(boolean value)
Sets whether formal charges of atoms should be considered in search. By default, charges are ignored.- Parameters:
value
- specifies whether charges are checked (true) or ignored (false)- Returns:
- this builder
-
isotopeMatching
public abstract MatchingOptions.Builder isotopeMatching(boolean value)
Sets whether isotopes of atoms should be considered in search. By default, mass numbers are ignored, so isotopes of the same element match each other.If atom type matching is disabled, isotopes are also ignored, irrespective of this search option.
- Parameters:
value
- specifies whether mass numbers are checked (true) or ignored (false)- Returns:
- this builder
-
radicalMatching
public abstract MatchingOptions.Builder radicalMatching(boolean value)
Sets whether the radical information of atoms should be considered in search. By default, radicals are ignored.- Parameters:
value
- specifies whether radicals are checked (true) or ignored (false)- Returns:
- this builder
-
atomMapMatching
public abstract MatchingOptions.Builder atomMapMatching(boolean value)
Sets whether atom map numbers should be considered in search. If set to true, two atoms with different map numbers do not match each other. By default, it is set to false.- Parameters:
value
- specifies whether atom map numbers are checked (true) or ignored (false)- Returns:
- this builder
-
exactQueryAtomMatching
public abstract MatchingOptions.Builder exactQueryAtomMatching(boolean value)
Sets whether generic query atoms should be matched only to atoms of exactly the same type. If set to true, generic atoms are not considered as query features. For example, an "any" atom matches only to another "any" atom. By default, it is set to false.- Parameters:
value
- true if generic query atoms should match only atoms of exactly the same type- Returns:
- this builder
-
exactQueryBondMatching
public abstract MatchingOptions.Builder exactQueryBondMatching(boolean value)
Sets whether generic query bonds should be matched only to bonds of exactly the same type. If set to true, generic bonds are not considered as query features. For example, an "any" bond matches only to another "any" bond. By default, it is set to false.- Parameters:
value
- true if generic query bonds should match only bonds of exactly the same type- Returns:
- this builder
-
customMatching
public abstract MatchingOptions.Builder customMatching(CustomMatcherFactory matcherFactory)
Sets the factory to be used to create a custom matcher. During search, two atom or bonds may be matched only if they are accepted by the corresponding method of theCustomMatcher
created by the given factory (in addition to the criteria specified by other search options).- Parameters:
matcherFactory
- the factory for creating the custom matcher to be used- Returns:
- this builder
-
orderSensitive
public abstract MatchingOptions.Builder orderSensitive(boolean value)
Sets whether search is sensitive to the order of the matched atoms and bonds when searching for multiple results.By default, this option is set to false. It means that two search results are considered to be different only when they cover different atoms or bonds of the query or the target. In contrast, order sensitive search differentiates two results with the same set of mapped atoms and bonds in both molecules if the actual mappings are different.
For example, if the query molecule is "CNC" and target molecule is "CNCNC", then order sensitive search provides four different mappings of the query to the target, while order insensitive (default) search provides only two of these hits (that cover different parts of the target molecule).
Warning: Order sensitive search may produce orders of magnitude more hits as it also deals with the internal symmetry of the molecules.
- Parameters:
value
- true if the search should be order sensitive- Returns:
- this builder
-
build
public abstract MatchingOptions build()
Creates a search options object with the settings specified by this builder instance.- Returns:
- the search options object
-
-