chemaxon.sss.search
Class MolSearchOptions

java.lang.Object
  extended bychemaxon.sss.search.SearchOptions
      extended bychemaxon.sss.search.MolSearchOptions
All Implemented Interfaces:
java.lang.Cloneable, SearchConstants

public class MolSearchOptions
extends SearchOptions
implements SearchConstants, java.lang.Cloneable

Class to encapsulate search parameters used by MolSearch.

Since:
5.0
Author:
pkovacs, Tamas Csizmazia

Field Summary
 
Fields inherited from class chemaxon.sss.search.SearchOptions
dirty, options, verbose
 
Fields inherited from interface chemaxon.sss.SearchConstants
ABS_STEREO_ALWAYS_ON, ABS_STEREO_CHIRAL_FLAG, ABS_STEREO_TABLE_OPTION, CHARGE_MATCHING_DEFAULT, CHARGE_MATCHING_EXACT, CHARGE_MATCHING_IGNORE, DEFAULT_DISSIMILARITY_THRESHOLD, DEFAULT_SIMILARITY_THRESHOLD, DISSIMILARITY, EXACT, EXACT_FRAGMENT, EXACT_FRAGMENT_OFF, EXACT_FRAGMENT_ON, HCOUNT_MATCHING_AUTO, HCOUNT_MATCHING_EQUAL, HCOUNT_MATCHING_GREATER_OR_EQUAL, IMPLICIT_H_MATCHING_DEFAULT, IMPLICIT_H_MATCHING_DISABLED, IMPLICIT_H_MATCHING_ENABLED, ISOTOPE_MATCHING_DEFAULT, ISOTOPE_MATCHING_EXACT, ISOTOPE_MATCHING_IGNORE, KEEP_QUERY_ORDER, MARKUSH_AROM_FINAL_CHECK, MARKUSH_AROM_NO_FINAL_CHECK, MARKUSH_AROM_OFF, MARKUSH_DISABLED, MARKUSH_ENABLED, MARKUSH_HIT_ORIGINAL, MARKUSH_HIT_SUPERGRAPH, MATCH_COUNT_BETWEEN, MATCH_COUNT_RELATION, MIX_SGROUP_MATCHING_OFF, MIX_SGROUP_MATCHING_ON, NO_ABAS, NO_SCREEN, OPTION_CHARGE_MATCHING, OPTION_EXACT_FRAGMENT, OPTION_ISOTOPE_MATCHING, OPTION_KEEP_QUERY_ORDER, OPTION_MARKUSH_AROM, OPTION_MARKUSH_ENABLED, OPTION_MARKUSH_HIT, OPTION_MIX_SGROUP_MATCHING, OPTION_RADICAL_MATCHING, OPTION_STEREO_MODEL, OPTION_TAUTOMER_SEARCH, OPTION_VAGUE_BOND, OPTION_VALENCE_MATCHING, PERFECT, R_NODE_PLACEHOLDER, RADICAL_MATCHING_DEFAULT, RADICAL_MATCHING_EXACT, RADICAL_MATCHING_IGNORE, REARRANGE_QUERY, REGULAR_SEARCH, SEARCH_MODE_NAMES, SEARCH_OPTIONS_LENGTH, SIMILARITY, STEREO_DIASTEREOMER, STEREO_EXACT, STEREO_IGNORE, STEREO_MODEL_COMPREHENSIVE, STEREO_MODEL_DEFAULT, STEREO_MODEL_GLOBAL, STEREO_MODEL_LOCAL, STEREO_SPECIFIC, SUBSTRUCTURE, SUPERSTRUCTURE, TAUTOMER_SEARCH_OFF, TAUTOMER_SEARCH_ON, UNDEF_R_MATCHING_ALL, UNDEF_R_MATCHING_UNDEF_R, VAGUE_BOND_DEFAULT, VAGUE_BOND_LEVEL1, VAGUE_BOND_LEVEL2, VAGUE_BOND_LEVEL3, VAGUE_BOND_LEVEL4, VAGUE_BOND_OFF, VALENCE_MATCHING_IGNORE, VALENCE_MATCHING_ON
 
Constructor Summary
MolSearchOptions()
           
 
Method Summary
 java.lang.Object clone()
          Makes an identical copy of this SearchObject.
 void clonecopy(SearchOptions other)
          Copies parameters to other.
 void deepCopy(SearchOptions other)
          Deprecated. since 5.0.2 Please use clonecopy(SearchOptions) instead
 int getExhaustiveModeLimit()
          Upon reaching this number of steps, the search switches to exhaustive mode from fast mode.
 int getMarkushArom()
           
 java.lang.String getOption(java.lang.String name)
          Returns search option value in string format.
 int getTimeoutLimit()
          The search timeouts reaching this number of steps.
 boolean isHitIncludesRNodes()
          Specifies the result format for R-group queries.
 boolean isMarkushEnabled()
           
 boolean isMarkushHitSupergraph()
           
 boolean isQueryAbsoluteStereo()
          Returns whether the chiral flag is ignored or not for the query molecule.
 boolean isSubgraphSearch()
          Returns the subgraph matching option.
 boolean isTargetAbsoluteStereo()
          Returns whether the chiral flag is ignored or not for the target molecule.
 void setExhaustiveModeLimit(int value)
          Upon reaching this number of steps, the search switches to exhaustive mode from fast mode.
 void setHitIncludesRNodes(boolean value)
          Specifies the result format for R-group queries.
 void setMarkushArom(int value)
          Default is MARKUSH_AROM_FINAL_CHECK (consider Markush aromatization during Markush search and check the hit afterwards).
 void setMarkushEnabled(boolean value)
           
 void setMarkushHitSupergraph(boolean value)
           
 void setOption(int option, int value)
          Deprecated. Since 5.0 Use setters instead. setMarkushHitSupergraph(boolean), setMarkushEnabled(boolean), setMarkushArom(int)
 void setOption(java.lang.String name, java.lang.String value)
          Sets search options.
 void setQueryAbsoluteStereo(boolean value)
          Sets whether the chiral flag should be ignored or not for the query molecule.
 void setSubgraphSearch(boolean value)
          Specifies the matching mode for topology search
 void setTargetAbsoluteStereo(boolean value)
          Sets whether the chiral flag should be ignored or not for the target molecule.
 void setTimeoutLimit(int value)
          The search timeouts reaching this number of steps.
 java.util.ArrayList toList()
           
 
Methods inherited from class chemaxon.sss.search.SearchOptions
addUserComparator, clearChangesInUserComparators, deleteAllUserComparators, deleteUserComparator, getBoolean, getChargeMatching, getCheckSpHyb, getChemTermsFilter, getChemTermsFilterConfig, getDoubleBondStereoMatchingMode, getHCountMatching, getImplicitHMatching, getIsotopeMatching, getOption, getOptions, getRadicalMatching, getSearchType, getStereoModel, getStereoSearchType, getUndefinedRAtom, getUserComparators, getVagueBondLevel, hasChangesInUserComparators, hasUserComparators, isDiastereomerMatching, isDirty, isExactBondMatching, isExactFragment, isExactQueryAtomMatching, isExactStereoMatching, isKeepQueryOrder, isMixSgroupMatching, isOrderSensitiveSearch, isPerfectSearchType, isReactionUnpairedMapMatching, isStereoSearch, isSuperstructureSearch, isTautomerSearch, isValenceMatching, isVerbose, returnOptionString, setChargeMatching, setCheckSpHyb, setChemTermsFilter, setChemTermsFilterConfig, setDiastereomerMatching, setDirty, setDoubleBondStereoMatchingMode, setExactBondMatching, setExactFragment, setExactQueryAtomMatching, setExactStereoMatching, setHCountMatching, setImplicitHMatching, setIsotopeMatching, setKeepQueryOrder, setMixSgroupMatching, setOptions, setOptions, setOrderSensitiveSearch, setRadicalMatching, setReactionUnpairedMapMatching, setSearchType, setStereoModel, setStereoSearch, setStereoSearchType, setSuperstructureSearch, setTautomerSearch, setUndefinedRAtom, setVagueBondLevel, setValenceMatching, setVerbose, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MolSearchOptions

public MolSearchOptions()
Method Detail

isQueryAbsoluteStereo

public boolean isQueryAbsoluteStereo()
Returns whether the chiral flag is ignored or not for the query molecule.

Returns:
true, if chiral centers in the query molecule are regarded as absolute stereo, ignoring the chiral flag. If the molecule contains any enhanced stereo labels, this flag has no effect.

setQueryAbsoluteStereo

public void setQueryAbsoluteStereo(boolean value)
Sets whether the chiral flag should be ignored or not for the query molecule.

Parameters:
value - if true, chiral centers in the query molecule are regarded as absolute stereo, ignoring the chiral flag. If the molecule contains any enhanced stereo labels, this flag has no effect.

isTargetAbsoluteStereo

public boolean isTargetAbsoluteStereo()
Returns whether the chiral flag is ignored or not for the target molecule.

Returns:
true, if chiral centers in the target molecule are regarded as absolute stereo, ignoring the chiral flag. If the molecule contains any enhanced stereo labels, this flag has no effect.

setTargetAbsoluteStereo

public void setTargetAbsoluteStereo(boolean value)
Sets whether the chiral flag should be ignored or not for the target molecule.

Parameters:
value - if true, chiral centers in the target molecule are regarded as absolute stereo, ignoring the chiral flag. If the molecule contains any enhanced stereo labels, this flag has no effect.

isHitIncludesRNodes

public boolean isHitIncludesRNodes()
Specifies the result format for R-group queries. If false, the hits will contain only the matching atom indexes for non-R-group atoms in the root structure, in order (default). In this case the hit list contains less indexes, than the number of nodes in the root structure.
If set to true, the hit list will contain placeholders for the R-nodes with the value of SearchConstants.R_NODE_PLACEHOLDER, thus maintaining root indexes in the result.


setHitIncludesRNodes

public void setHitIncludesRNodes(boolean value)
Specifies the result format for R-group queries.

Parameters:
value - if set to false, the hits will contain only the matching atom indexes for non-R-group atoms in the root structure, in order (default). In this case the hit list contains less indexes, than the number of nodes in the root structure.
If set to true, the hit list will contain placeholders for the R-nodes with the value of SearchConstants.R_NODE_PLACEHOLDER, thus maintaining root indexes in the result.

isSubgraphSearch

public boolean isSubgraphSearch()
Returns the subgraph matching option.

Overrides:
isSubgraphSearch in class SearchOptions
Returns:
true if substructure search, false if exact structure search

setSubgraphSearch

public void setSubgraphSearch(boolean value)
Specifies the matching mode for topology search

Overrides:
setSubgraphSearch in class SearchOptions
Parameters:
value - true for substructure search, false for exact structure search matching

isMarkushHitSupergraph

public boolean isMarkushHitSupergraph()
Returns:
true, if search returns hit indices of the supergraph representation of a Markush target (instead of the original Markush target). since 5.0

setMarkushHitSupergraph

public void setMarkushHitSupergraph(boolean value)
Parameters:
value - true, if search should return hit indices of the supergraph representation of a Markush target (instead of the original Markush target).

isMarkushEnabled

public boolean isMarkushEnabled()
Returns:
true, if a target containing Markush features should be treated as Markush library since 5.0

setMarkushEnabled

public void setMarkushEnabled(boolean value)
Parameters:
value - true, if a target containing Markush features should be treated as Markush library
Since:
5.0

getMarkushArom

public int getMarkushArom()
Returns:
Behaviour of Markush aromatic search.
Since:
5.0
See Also:
SearchConstants.MARKUSH_AROM_FINAL_CHECK, SearchConstants.MARKUSH_AROM_NO_FINAL_CHECK, SearchConstants.MARKUSH_AROM_OFF

setMarkushArom

public void setMarkushArom(int value)
Default is MARKUSH_AROM_FINAL_CHECK (consider Markush aromatization during Markush search and check the hit afterwards).

Parameters:
value - the desired Markush aromatic search option
Since:
5.0
See Also:
SearchConstants.MARKUSH_AROM_FINAL_CHECK, SearchConstants.MARKUSH_AROM_NO_FINAL_CHECK, SearchConstants.MARKUSH_AROM_OFF

getExhaustiveModeLimit

public int getExhaustiveModeLimit()
Upon reaching this number of steps, the search switches to exhaustive mode from fast mode.

Returns:
The limit value.
See Also:
setExhaustiveModeLimit(int)

setExhaustiveModeLimit

public void setExhaustiveModeLimit(int value)
Upon reaching this number of steps, the search switches to exhaustive mode from fast mode. Default value is one million.

Parameters:
value - Set it to -1 if you do not want to switch to exhaustive mode. Set it to 0 if you want to use exhaustive mode only.

getTimeoutLimit

public int getTimeoutLimit()
The search timeouts reaching this number of steps.

Returns:
The timeout step limit.
See Also:
setTimeoutLimit(int)

setTimeoutLimit

public void setTimeoutLimit(int value)
The search timeouts reaching this number of steps. Set it to -1 if you do not want the search to time out. Default value is ten million.

Parameters:
value - The step limit to set.

setOption

public void setOption(int option,
                      int value)
Deprecated. Since 5.0 Use setters instead. setMarkushHitSupergraph(boolean), setMarkushEnabled(boolean), setMarkushArom(int)

Sets search options.

Overrides:
setOption in class SearchOptions
Parameters:
option - Option identifier to be set.
value - Value of option to be set.
See Also:
SearchConstants.OPTION_MARKUSH_HIT, SearchConstants.OPTION_MARKUSH_ENABLED, SearchConstants.OPTION_MARKUSH_AROM

setOption

public void setOption(java.lang.String name,
                      java.lang.String value)
Sets search options.

Overrides:
setOption in class SearchOptions
Parameters:
name - Option name to be set. Useable options:
  • queryAbsoluteStereo
  • targetAbsoluteStereo
  • markush
  • markushHitSupergraph
  • value - String value of option to be set.
    See Also:
    SearchOptions.setOption(String, String), getOption(String)

    getOption

    public java.lang.String getOption(java.lang.String name)
    Returns search option value in string format.

    Overrides:
    getOption in class SearchOptions
    Parameters:
    name - Option name to get. Useable options:
  • queryAbsoluteStereo
  • targetAbsoluteStereo
  • markush
  • markushHitSupergraph
  • Returns:
    String value of option
    See Also:
    SearchOptions.getOption(String), setOption(String, String)

    clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException
    Description copied from class: SearchOptions
    Makes an identical copy of this SearchObject.

    Overrides:
    clone in class SearchOptions
    Throws:
    java.lang.CloneNotSupportedException

    clonecopy

    public void clonecopy(SearchOptions other)
    Copies parameters to other. It copies
    - all parameters if other is a MolSearchOptions object
    - only the parameters defined in SearchOptions if it is a SearchOptions or JchemSearchOptions object

    Overrides:
    clonecopy in class SearchOptions

    deepCopy

    public void deepCopy(SearchOptions other)
    Deprecated. since 5.0.2 Please use clonecopy(SearchOptions) instead

    Copies the complex data structures only from this to toOther.

    Overrides:
    deepCopy in class SearchOptions

    toList

    public java.util.ArrayList toList()
    Overrides:
    toList in class SearchOptions
    Returns:
    An arraylist that contains strings of format "optionname:optionvalue". Doesn't contain options that have their default value.
    See Also:
    SearchOptions.setOptions(String), SearchOptions.toString()