chemaxon.sss.search
Class SearchOptions

java.lang.Object
  extended by chemaxon.sss.search.SearchOptions
All Implemented Interfaces:
SearchConstants, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
JChemSearchOptions, MolSearchOptions

public class SearchOptions
extends java.lang.Object
implements SearchConstants, java.lang.Cloneable, java.io.Serializable

Class to encapsulate common search parameters.

Since:
5.0
Author:
Szabolcs Csepregi Date: 27-Mar-2007, Tamas Csizmazia
See Also:
Serialized Form

Field Summary
protected  boolean dirty
          This flag is set to true whenever any of the options change.
protected  int[] options
          Field to store various options of the search.
 boolean verbose
          For debugging purposes.
 
Fields inherited from interface chemaxon.sss.SearchConstants
ABS_STEREO_ALWAYS_ON, ABS_STEREO_CHIRAL_FLAG, ABS_STEREO_TABLE_OPTION, ATTACHED_DATA_MATCH_EXACT, ATTACHED_DATA_MATCH_GENERAL, ATTACHED_DATA_MATCH_IGNORE, CHARGE_MATCHING_DEFAULT, CHARGE_MATCHING_EXACT, CHARGE_MATCHING_IGNORE, DEFAULT_DISSIMILARITY_THRESHOLD, DEFAULT_SIMILARITY_THRESHOLD, DISSIMILARITY, DUPLICATE, EXACT, EXACT_FRAGMENT, EXACT_FRAGMENT_OFF, EXACT_FRAGMENT_ON, FULL, FULL_FRAGMENT, HCOUNT_MATCHING_AUTO, HCOUNT_MATCHING_EQUAL, HCOUNT_MATCHING_GREATER_OR_EQUAL, HIT_EXCLUDEDQ, HIT_LP, HIT_MULTICENTER, HIT_NON_R, HIT_R, HIT_R_EMPTY_MATCH, HIT_UNMAPABLE, 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_INNER, MARKUSH_HIT_ORIGINAL, 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, 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_GROUP, UNDEF_R_MATCHING_GROUP_H, UNDEF_R_MATCHING_GROUP_H_EMPTY, UNDEF_R_MATCHING_UNDEF_R, VAGUE_BOND_DEFAULT, VAGUE_BOND_LEVEL_HALF, VAGUE_BOND_LEVEL1, VAGUE_BOND_LEVEL2, VAGUE_BOND_LEVEL3, VAGUE_BOND_LEVEL4, VAGUE_BOND_OFF, VALENCE_MATCHING_IGNORE, VALENCE_MATCHING_ON
 
Constructor Summary
SearchOptions()
           
 
Method Summary
 void addUserComparator(MolComparator mc)
          Adds the given user-defined comparator to the search.
 boolean areMonomersTransformed()
           
 void clearChangesInUserComparators()
          Used in initializing searches.
 java.lang.Object clone()
          Makes an identical copy of this SearchObject.
 void clonecopy(SearchOptions other)
          Copies all parameters to the other object.
protected  void deepCopy(SearchOptions toOther)
          Deprecated. since 5.0.2 Please use clonecopy(SearchOptions) instead
 void deleteAllUserComparators()
           
 void deleteUserComparator(MolComparator mc)
           
 java.lang.String getAllOptionsAsString()
          Returns a string that
- describes the state of the options
- can be the input of setOptions(String)
- contains all options, including those which have their default value (except dissimilarity threshold in case of similarity search)
 java.lang.String getAllOptionsAsString(java.lang.String sep)
          Returns a string that
- describes the state of the options
- can be the input of setOptions(String)
- contains all options, including those which have their default value (except dissimilarity threshold in case of similarity search)
 int getAttachedDataMatch()
          Returns whether attached data (in data sgroups) should be used when comparing structures.
 java.lang.String getAttachedDataPrefixes()
          Returns the prefixes of the names of those data sgroups that will be used during structure comparison or null if all data sgroups should be checked.
protected static boolean getBoolean(java.lang.String value)
          Returns value as a boolean flag.
 int getChargeMatching()
           
 boolean getCheckSpHyb()
          Returns true if sp-hybridization state of the atoms should be considered, false otherwise
 java.lang.String getChemTermsFilter()
          Gets the Chemical Terms filtering expression
 java.lang.String getChemTermsFilterConfig()
          Gets the configuration string for Chemical Terms filter.
 boolean getCompleteHG()
          Retrieves the information if only complete structures are matching on target homology groups.
 int getDoubleBondStereoMatchingMode()
           
 java.lang.String getExactSpecialAtomMatching()
          Returns the identifiers of those special atoms that should match exactly during structure comparison.
 int getExhaustiveModeLimit()
          Upon reaching this number of steps, the search switches to exhaustive mode from fast mode.
 int getHCountMatching()
           
 int getImplicitHMatching()
           
 int getIsotopeMatching()
           
 int getOption(int option)
          Deprecated. Since 5.0 Please use getters instead.
  • isKeepQueryOrder()
  • isFullFragment()
  • isTautomerSearch()
  • getIsotopeMatching()
  • getChargeMatching()
  • isValenceMatching()
  • getRadicalMatching()
  • getVagueBondLevel()
  • isMixSgroupMatching()
  • getStereoModel()
  • getImplicitHMatching()
  • isReactionUnpairedMapMatching()
  •  java.lang.String getOption(java.lang.String name)
              Returns option value in string format.
    protected  java.lang.String[] getOptionNames()
               
     int[] getOptions()
              Deprecated. since 5.0
     int getRadicalMatching()
               
     boolean getRLigandEqualityCheck()
              Returns true if undefined R-atoms with the same R-group ID should match the same structure.
     int getSearchType()
              Returns the currently set global search operation mode.
     int getStereoModel()
               
     int getStereoSearchType()
               
     int getTimeoutLimit()
              The search timeouts reaching this number of steps.
     int getUndefinedRAtom()
              Returns undefined R atom matching behaviour mode.
     MolComparator[] getUserComparators()
              Because of efficiency reasons one should check hasUserComparators() before calling this method!
     int getVagueBondLevel()
              Getter for vague bond level.
     boolean hasChangesInUserComparators()
              Used in initializing searches.
     boolean hasUserComparators()
               
     boolean isBridgingRAllowed()
              Returns true if different undefined R-atoms can match the same group of atoms.
     boolean isCopolymerMatching()
               
     boolean isDiastereomerMatching()
              Deprecated. Please use getStereoSearchType() instead.
     boolean isDirty()
              Returns the dirty flag.
     boolean isEndgroupMatching()
               
     boolean isExactBondMatching()
              Indicates whether bond types should match exactly - looking for query bonds target.
     boolean isExactFragment()
               
     boolean isExactQueryAtomMatching()
              Returns whether exact matching of query atom information is set.
     boolean isExactStereoMatching()
              Deprecated. Please use getStereoSearchType() instead.
     boolean isFullFragment()
               
     boolean isIgnoreCTExceptions()
               
     boolean isKeepQueryOrder()
               
     boolean isMixSgroupMatching()
               
     boolean isOrderSensitiveSearch()
              Indicates whether the search is order sensitive
     boolean isPerfectSearchType()
               
     boolean isPhaseShiftedMatching()
               
     boolean isPolymerMatching()
               
     boolean isQHomologyHandling()
               
     boolean isReactionUnpairedMapMatching()
               
     boolean isStereoSearch()
              Deprecated. Please use getStereoSearchType() instead.
    protected  boolean isSubgraphSearch()
              Returns the subgraph matching option.
     boolean isSuperstructureSearch()
              True if the current search type is superstructure search.
     boolean isTautomerDuplicateFiltering()
               
     boolean isTautomerSearch()
              Indicates if tautomers of the query should be enumerated for search.
     boolean isUndefinedRAtomMatchingGroup()
              Returns whether undefined R atom matches group of atoms.
     boolean isValenceMatching()
               
     boolean isVerbose()
              For debugging purposes only.
    protected  java.lang.String returnOptionString(boolean value)
               
     void setAttachedDataMatch(int value)
              Sets whether attached data (in data sgroups) should be used when comparing structures.
     void setAttachedDataPrefixes(java.lang.String value)
              Sets the prefixes of the names of those data sgroups that will be used during structure comparison.
     void setBridgingRAllowed(boolean value)
              Sets whether different undefined R-atoms can match the same group of atoms.
     void setChargeMatching(int value)
               
     void setCheckSpHyb(boolean checkSp)
              Sets whether the sp-hybridization state of the atoms should be considered.
     void setChemTermsFilter(java.lang.String value)
              Sets the Chemical Terms filtering expression.
     void setChemTermsFilterConfig(java.lang.String value)
              Sets the configuration string for Chemical Terms filter.
     void setCompleteHG(boolean completeStr)
              Sets if only complete structures should match on homology groups.
     void setCopolymerMatching(boolean value)
              Adjusts copolymer matching mode.
     void setDiastereomerMatching(boolean value)
              Deprecated. Please use setStereoSearchType(STEREO_DIASTEREOMER) and setStereoSearchType(STEREO_SPECIFIC) instead.
     void setDirty(boolean v)
              Sets or clears the dirty flag.
     void setDoubleBondStereoMatchingMode(int value)
              Sets how double bond cis/trans stereo information should match during the search.
     void setEndgroupMatching(boolean value)
              Adjusts polymer end group matching.
     void setExactBondMatching(boolean value)
              Specifies whether bond types should match exacly - looking for query bonds target.
     void setExactFragment(boolean value)
               
     void setExactQueryAtomMatching(boolean isExact)
              Sets whether exact query atom matching should be used or not.
     void setExactSpecialAtomMatching(java.lang.String value)
              Sets the identifiers of those special atoms that should match exactly during structure comparison.
     void setExactStereoMatching(boolean value)
              Deprecated. Please use setStereoSearchType(STEREO_EXACT) and setStereoSearchType(STEREO_SPECIFIC) instead.
     void setExhaustiveModeLimit(int value)
              Upon reaching this number of steps, the search switches to exhaustive mode from fast mode.
     void setFullFragment(boolean value)
               
     void setHCountMatching(int value)
              Sets the H count matching mode.
     void setIgnoreCTExceptions(boolean value)
              If set true, only syntactical exceptions will be thrown.
     void setImplicitHMatching(int value)
               
     void setIsotopeMatching(int value)
               
     void setKeepQueryOrder(boolean value)
               
     void setMixSgroupMatching(boolean value)
               
     void setMonomerTransform(boolean value)
              Adjusts if monomers should be transformed to structural repeating units if the monomer is homolopolimerizable.
     void setOption(int option, int value)
              Deprecated. Since 5.0 Please use setters instead.
  • setKeepQueryOrder(boolean)
  • setFullFragment(boolean)
  • setTautomerSearch(boolean)
  • setIsotopeMatching(int)
  • setChargeMatching(int)
  • setValenceMatching(boolean)
  • setRadicalMatching(int)
  • setVagueBondLevel(int)
  • setMixSgroupMatching(boolean)
  • setStereoModel(int)
  • setImplicitHMatching(int)
  • setReactionUnpairedMapMatching(boolean)
  •  void setOption(java.lang.String name, java.lang.String value)
              Sets search options.
     void setOptions(int[] newOptions)
              Deprecated. since 5.0
     void setOptions(java.lang.String optionString)
              Sets search options.
     void setOrderSensitiveSearch(boolean value)
              Specifies whether the same set of target atoms found in a different order should be considered as a different hit.
     void setPhaseShiftedMatching(boolean value)
              Adjusts if the phase shifted polymer should match on the original.
     void setPolymerMatching(boolean value)
              Adjust polymer matching.
     void setQHomologyHandling(boolean value)
              Adjusts query side homology matching mode.
     void setRadicalMatching(int value)
               
     void setReactionUnpairedMapMatching(boolean value)
               
     void setRLigandEqualityCheck(boolean value)
              Sets whether undefined R-atoms with the same R-group ID should match the same structure.
     void setSearchType(int searchType)
              Sets different search options according to a predefined search type.
     void setStereoModel(int value)
               
     void setStereoSearch(boolean value)
              Deprecated. Please use setStereoSearchType(STEREO_SPECIFIC) and setStereoSearchType(STEREO_IGNORE) instead.
     void setStereoSearchType(int value)
              Specifies the way stereo information is considered during searching.
    protected  void setSubgraphSearch(boolean value)
              Specifies the matching mode for topology search
     void setSuperstructureSearch(boolean value)
              Sets if the current search type is superstructure search.
     void setTautomerDuplicateFiltering(boolean value)
               
     void setTautomerSearch(boolean value)
              Sets if tautomers of the query should be enumerated for search.
     void setTimeoutLimit(int value)
              The search timeouts reaching this number of steps.
     void setUndefinedRAtom(int value)
              Sets the matching behaviour of an undefined R atom in the query.
     void setVagueBondLevel(int value)
              Option for less strict evaluation of query bonds (e.g. ambiguious aromaticity).
     void setValenceMatching(boolean value)
               
     void setVerbose(boolean verboseP)
              For debugging purposes only.
     java.util.ArrayList toList()
               
     java.lang.String toString()
              Returns a string that
    - describes the state of the options
    - can be the input of setOptions(String)
    - doesn't contain options that have their default value (except dissimilarity threshold in case of similarity search)
     java.lang.String toString(java.lang.String sep)
              Returns a string that
    - describes the state of the options
    - can be the input of setOptions(String)
    - doesn't contain options that have their default value (except dissimilarity threshold in case of similarity search)
     
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
     

    Field Detail

    dirty

    protected boolean dirty
    This flag is set to true whenever any of the options change. It can be used by Search objects to check whether options changed since the previous initialization. (They set the dirty flag to false during their own initialization.)


    verbose

    public boolean verbose
    For debugging purposes. Public, because it does not count for the dirty flag.


    options

    protected int[] options
    Field to store various options of the search.

    Constructor Detail

    SearchOptions

    public SearchOptions()
    Method Detail

    isExactQueryAtomMatching

    public final boolean isExactQueryAtomMatching()
    Returns whether exact matching of query atom information is set. If true, query information (e.g. atom list, any atom, number of hydrogens, aromaticity, etc.) in atoms will not be evaluated, but rather exact matching of these information is required. It is useful for searching in query databases. Default is false.

    Since:
    JChem 2.2

    setExactQueryAtomMatching

    public void setExactQueryAtomMatching(boolean isExact)
    Sets whether exact query atom matching should be used or not. See Search.isExactQueryAtomMatching.

    Since:
    JChem 2.2

    setDoubleBondStereoMatchingMode

    public void setDoubleBondStereoMatchingMode(int value)
    Sets how double bond cis/trans stereo information should match during the search.

    Parameters:
    value - The following options can be used: Replaces setStereoCareChecking(boolean)
    Since:
    JChem 2.2

    getDoubleBondStereoMatchingMode

    public int getDoubleBondStereoMatchingMode()
    Returns:
    the matching mode relating to double bond stereo.
    Since:
    JChem 2.2
    See Also:
    setDoubleBondStereoMatchingMode(int)

    setSearchType

    public void setSearchType(int searchType)
    Sets different search options according to a predefined search type. For full explanation see JChem Query Guide. Acceptable values: SearchConstants.NO_SCREEN, SearchConstants.NO_ABAS, SearchConstants.SUBSTRUCTURE (default), SearchConstants.SUPERSTRUCTURE (no query features allowed), SearchConstants.SIMILARITY, and SearchConstants.FULL. SearchConstants.DUPLICATE. SearchConstants.FULL_FRAGMENT.

    WARNING: This method may affect other search settings, therefore if other search options are adjusted, this method should be called first! For affected search options, see links below.

    Parameters:
    searchType - the predefined search type
    See Also:
    setExactBondMatching(boolean), setExactQueryAtomMatching(boolean), setExactStereoMatching(boolean), setStereoSearch(boolean), setSubgraphSearch(boolean), setOption(int, int), SearchConstants.OPTION_CHARGE_MATCHING, SearchConstants.OPTION_ISOTOPE_MATCHING, SearchConstants.OPTION_RADICAL_MATCHING, SearchConstants.OPTION_VALENCE_MATCHING

    getSearchType

    public int getSearchType()
    Returns the currently set global search operation mode.

    Returns:
    The last set value.
    Since:
    JChem 3.2
    See Also:
    setSearchType(int)

    isPerfectSearchType

    public boolean isPerfectSearchType()
    Returns:
    whether this search is a DUPLICATE search or not.

    isSubgraphSearch

    protected boolean isSubgraphSearch()
    Returns the subgraph matching option.

    Returns:
    true if substructure search, false if the full molecular graph must match, e.g. full structure search or duplicate match.

    setSubgraphSearch

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

    Parameters:
    value - true for substructure search, false for full structure search matching

    getHCountMatching

    public int getHCountMatching()
    Returns:
    the H count matching mode. (Default is HCOUNT_MATCHING_AUTO.)
    See Also:
    setHCountMatching(int), SearchConstants.HCOUNT_MATCHING_AUTO, SearchConstants.HCOUNT_MATCHING_EQUAL, SearchConstants.HCOUNT_MATCHING_GREATER_OR_EQUAL

    setHCountMatching

    public void setHCountMatching(int value)
    Sets the H count matching mode. Default is HCOUNT_MATCHING_AUTO.

    Parameters:
    value - possible values:
    See Also:
    SearchConstants.HCOUNT_MATCHING_AUTO, SearchConstants.HCOUNT_MATCHING_EQUAL, SearchConstants.HCOUNT_MATCHING_GREATER_OR_EQUAL

    isVerbose

    public boolean isVerbose()
    For debugging purposes only.


    setVerbose

    public void setVerbose(boolean verboseP)
    For debugging purposes only.


    setOption

    public void setOption(int option,
                          int value)
    Deprecated. Since 5.0 Please use setters instead.
  • setKeepQueryOrder(boolean)
  • setFullFragment(boolean)
  • setTautomerSearch(boolean)
  • setIsotopeMatching(int)
  • setChargeMatching(int)
  • setValenceMatching(boolean)
  • setRadicalMatching(int)
  • setVagueBondLevel(int)
  • setMixSgroupMatching(boolean)
  • setStereoModel(int)
  • setImplicitHMatching(int)
  • setReactionUnpairedMapMatching(boolean)
  • Sets search options.

    Parameters:
    option - Option identifier to be set.
    value - Value of option to be set.
    See Also:
    SearchConstants.OPTION_KEEP_QUERY_ORDER, SearchConstants.OPTION_EXACT_FRAGMENT, SearchConstants.OPTION_TAUTOMER_SEARCH, SearchConstants.OPTION_ISOTOPE_MATCHING, SearchConstants.OPTION_CHARGE_MATCHING, SearchConstants.OPTION_VALENCE_MATCHING, SearchConstants.OPTION_RADICAL_MATCHING, SearchConstants.OPTION_VAGUE_BOND, SearchConstants.OPTION_MIX_SGROUP_MATCHING, SearchConstants.OPTION_STEREO_MODEL

    getOption

    public final int getOption(int option)
    Deprecated. Since 5.0 Please use getters instead.
  • isKeepQueryOrder()
  • isFullFragment()
  • isTautomerSearch()
  • getIsotopeMatching()
  • getChargeMatching()
  • isValenceMatching()
  • getRadicalMatching()
  • getVagueBondLevel()
  • isMixSgroupMatching()
  • getStereoModel()
  • getImplicitHMatching()
  • isReactionUnpairedMapMatching()
  • Gets a search option.

    Parameters:
    option - Option identifier to be asked for.
    Returns:
    the setting of the given option
    See Also:
    SearchConstants.OPTION_KEEP_QUERY_ORDER, SearchConstants.OPTION_EXACT_FRAGMENT, SearchConstants.OPTION_TAUTOMER_SEARCH, SearchConstants.OPTION_ISOTOPE_MATCHING, SearchConstants.OPTION_CHARGE_MATCHING, SearchConstants.OPTION_VALENCE_MATCHING, SearchConstants.OPTION_RADICAL_MATCHING, SearchConstants.OPTION_VAGUE_BOND, SearchConstants.OPTION_MIX_SGROUP_MATCHING, SearchConstants.OPTION_STEREO_MODEL

    setOptions

    public void setOptions(int[] newOptions)
    Deprecated. since 5.0

    Rapidly sets all needed search options.

    Parameters:
    newOptions - Option array to copy.

    getOptions

    public int[] getOptions()
    Deprecated. since 5.0

    Gets all needed search options.


    setOptions

    public void setOptions(java.lang.String optionString)
    Sets search options.

    Parameters:
    optionString - Can set multiple options. Option names and values (all case insensitive) are defined in JChem Query Guide: summary of search options. Name and value of an option should be separated by ":", and different pairs of names/values by spaces. Instead of spaces an alternative option separator string (even more than 1 character) can be specified at the beginning of optionString by the syntax "sep='separator string' ...". After 'separator string' there must be at least 1 space character!)
    E.g.

  • setOptions("HCountMatching:E")
  • setOptions(" hcountmatching:g keepqueryorder:y")
  • setOptions("sep=*-* hcoUntmatchInG:A*-*KeEpQueryorder:False")
  • See Also:
    setOption(String,String)

    isSuperstructureSearch

    public boolean isSuperstructureSearch()
    True if the current search type is superstructure search. This property is usually set indirectly through setSearchType.

    See Also:
    setSearchType(int), SearchConstants.SUPERSTRUCTURE, setSuperstructureSearch(boolean)

    setSuperstructureSearch

    public void setSuperstructureSearch(boolean value)
    Sets if the current search type is superstructure search. This property is usually set indirectly through setSearchType in case of superstructure search.

    See Also:
    setSearchType(int), SearchConstants.SUPERSTRUCTURE

    isExactStereoMatching

    public final boolean isExactStereoMatching()
    Deprecated. Please use getStereoSearchType() instead.

    Returns whether exact stereo matching stereo search type is set. If true, equality is needed in stereochemistry. ("All stereo info is exactly the same.") It mainly has an effect when the query has no stereo information: it only matches non-stereo target. Similarly, a query with a wiggly tetrahedral center will only match wiggly tetrahedral center, and not specific R and S configurations. If false, non-stereo query matches both nonstereo and stereo target.

    By default, this is false for all search types except for DUPLICATE search, where it is true.

    Returns:
    the exact-stereo setting
    See Also:
    isStereoSearch()

    setExactStereoMatching

    public void setExactStereoMatching(boolean value)
    Deprecated. Please use setStereoSearchType(STEREO_EXACT) and setStereoSearchType(STEREO_SPECIFIC) instead.

    If true, equality is needed in stereochemistry. ("All stereo info is exactly the same.") It mainly has an effect when the query has no stereo information: it only matches non-stereo target. Similarly, a query with a wiggly tetrahedral center will only match wiggly tetrahedral center, and not specific R and S configurations. If false, non-stereo query matches both nonstereo and stereo target.

    By default, this setting is false for all search types except for DUPLICATE search, where it is true.

    Parameters:
    value - the exact-stereo setting
    See Also:
    setStereoSearch(boolean), setStereoSearchType(int)

    isDiastereomerMatching

    public boolean isDiastereomerMatching()
    Deprecated. Please use getStereoSearchType() instead.

    Returns the diastereomer matching option. If true the diastereomers targets of a given query structure are also matched. This mean that it is only required that if a query atom has stereo information, the target atom should have as well but the two configurations are treated the same. If exactStereoMatching is true (see isExactStereoMatching() then this option has no effect. By default this setting is false for all search types.

    Returns:
    diastereomer matching is true or not

    setDiastereomerMatching

    public void setDiastereomerMatching(boolean value)
    Deprecated. Please use setStereoSearchType(STEREO_DIASTEREOMER) and setStereoSearchType(STEREO_SPECIFIC) instead.

    If true sets the stereo search type option to diastereomer search, else STEREO_SPECIFIC is set.

    Parameters:
    value -
    See Also:
    isDiastereomerMatching(), setStereoSearchType(int)

    setOrderSensitiveSearch

    public void setOrderSensitiveSearch(boolean value)
    Specifies whether the same set of target atoms found in a different order should be considered as a different hit.
    For example the 3-atom query molecule fits 2 positions on the target:
    Hit 1: [1;3;5]
    Hit 2: [5;3;1]
    If orderSensitiveSearch is true, both cases are returned, otherwise only one of them (the one found first).

    Parameters:
    value - set this to true to get results in every possible order

    isOrderSensitiveSearch

    public boolean isOrderSensitiveSearch()
    Indicates whether the search is order sensitive

    Returns:
    if hits are returned in every possible order
    See Also:
    setOrderSensitiveSearch(boolean)

    isStereoSearch

    public boolean isStereoSearch()
    Deprecated. Please use getStereoSearchType() instead.

    If true, then chirality information is considered during searching, otherwise all stereo information is ignored. (Default: true)


    setStereoSearch

    public void setStereoSearch(boolean value)
    Deprecated. Please use setStereoSearchType(STEREO_SPECIFIC) and setStereoSearchType(STEREO_IGNORE) instead.

    If true, then chirality information is considered during searching, otherwise all stereo information is ignored. (Default: true)

    See Also:
    setStereoSearchType(int)

    isExactBondMatching

    public final boolean isExactBondMatching()
    Indicates whether bond types should match exactly - looking for query bonds target.

    Returns:
    true if bond types must match exactly. Default value is false

    setExactBondMatching

    public void setExactBondMatching(boolean value)
    Specifies whether bond types should match exacly - looking for query bonds target.

    Parameters:
    value - if set to true, bond types must match exactly. For example "single or double" matches only "single or double", but matches neither "single" or "double". Default value is false

    setVagueBondLevel

    public void setVagueBondLevel(int value)
    Option for less strict evaluation of query bonds (e.g. ambiguious aromaticity). Default value is VAGUE_BOND_LEVEL1

    Parameters:
    value - the desired vague bond level
    Since:
    JChem 5.0
    See Also:
    getVagueBondLevel(), SearchConstants.VAGUE_BOND_LEVEL_HALF, SearchConstants.VAGUE_BOND_LEVEL1, SearchConstants.VAGUE_BOND_LEVEL2, SearchConstants.VAGUE_BOND_LEVEL3, SearchConstants.VAGUE_BOND_LEVEL4

    getVagueBondLevel

    public int getVagueBondLevel()
    Getter for vague bond level.

    Returns:
    the current vague bond level
    Since:
    JChem 5.0
    See Also:
    setVagueBondLevel(int), SearchConstants.VAGUE_BOND_LEVEL_HALF, SearchConstants.VAGUE_BOND_LEVEL1, SearchConstants.VAGUE_BOND_LEVEL2, SearchConstants.VAGUE_BOND_LEVEL3, SearchConstants.VAGUE_BOND_LEVEL4

    setCompleteHG

    public void setCompleteHG(boolean completeStr)
    Sets if only complete structures should match on homology groups. If set to false than substructures which don't form an entire homology group can also match (e.g. carbon chain on a cycloalkyl).

    Parameters:
    completeStr - if true only complete structures are accepted, if false all substructures.
    See Also:
    getCompleteHG()

    getCompleteHG

    public boolean getCompleteHG()
    Retrieves the information if only complete structures are matching on target homology groups.

    Returns:
    true if only complete structures are matching, false otherwise.
    See Also:
    setCompleteHG(boolean)

    hasChangesInUserComparators

    public boolean hasChangesInUserComparators()
    Used in initializing searches. Returns true, if there is any changes in user-defined comparators. After initializing the search, the change flag is cleared.

    Returns:
    the value of the change flag of user-defined MolComparators.

    clearChangesInUserComparators

    public void clearChangesInUserComparators()
    Used in initializing searches. Clears the change flag of user-defined MolComparators.


    hasUserComparators

    public final boolean hasUserComparators()
    Returns:
    true, if there is any user-defined MOlComparator

    addUserComparator

    public void addUserComparator(MolComparator mc)
    Adds the given user-defined comparator to the search.

    Parameters:
    mc - user-defined MolComparator

    deleteUserComparator

    public void deleteUserComparator(MolComparator mc)

    deleteAllUserComparators

    public void deleteAllUserComparators()

    getUserComparators

    public MolComparator[] getUserComparators()
    Because of efficiency reasons one should check hasUserComparators() before calling this method!

    Returns:
    MolComparator[] of user-defined MolComparators

    isDirty

    public boolean isDirty()
    Returns the dirty flag. Dirty flag usage:
    1. When the search object initializes itself using the actual query, target and options, it clears the dirty flag(sets to false).
    2. When the search options change, the dirty flag is set automatically.
    3. Next time a major operation is done with the search object, it checks the dirty flag of the options. If set, it re-initializes itself.

    See Also:
    setDirty(boolean)

    setDirty

    public void setDirty(boolean v)
    Sets or clears the dirty flag. See the description of isDirty() for its usage.

    See Also:
    isDirty()

    clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException
    Makes an identical copy of this SearchObject.

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

    clonecopy

    public void clonecopy(SearchOptions other)
    Copies all parameters to the other object.


    deepCopy

    protected void deepCopy(SearchOptions toOther)
    Deprecated. since 5.0.2 Please use clonecopy(SearchOptions) instead

    Copies the complex data structures only from this to toOther.


    setTautomerSearch

    public void setTautomerSearch(boolean value)
    Sets if tautomers of the query should be enumerated for search. Default is false.

    Parameters:
    value - set to true to enable enumeration of the tautomers of the query for search. The default is false.
    See Also:
    SearchConstants.OPTION_TAUTOMER_SEARCH

    isTautomerSearch

    public boolean isTautomerSearch()
    Indicates if tautomers of the query should be enumerated for search. Default is false.

    Returns:
    wheather tautomers of the query are enumerated for search.
    See Also:
    setTautomerSearch(boolean), SearchConstants.OPTION_TAUTOMER_SEARCH

    setOption

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

    Parameters:
    name - Name (case insensitive) of search option (e.g. stereoSearch).
    value - String form (case insensitive) of search parameter value (y, M, ef, ...).
    In case of boolean parameters 'true' is acceptable instead of 'y' and 'false' instead of 'n'.

    Useable search parameters:

  • orderSensitive
  • tautomer
  • stereoSearchType
  • keepQueryOrder
  • exactAtomMatching
  • exactBondMatching
  • exactQueryAtomMatching
  • exactRadicalMatching
  • exactIsotopeMatching
  • exactChargeMatching
  • checkSpHyb
  • doubleBondStereo
  • HCountMatching
  • t
  • implicitHMatching
  • vagueBond
  • completeHG
  • charge
  • isotope
  • radical
  • valence
  • mix
  • polymer
  • endGroupMatching
  • transformMonomer
  • markush
  • stereoModel
  • undefinedRAtom
  • bridgingRAllowed
  • RLigandEqualityCheck
  • reactionUnpairedMap
  • attachedDataMatch
  • attachedDataPrefixes
  • exactSpecialAtomMatching
  • ignoreCTExceptions
  • exhaustiveModeLimit
  • timeoutLimit
  • tdf
  • See Also:
    getOption(String)

    getOption

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

    Parameters:
    name - Name (case insensitive) of search option (e.g. stereoSearch).

    Useable search parameters:

  • orderSensitive
  • tautomer
  • stereoSearchType
  • keepQueryOrder
  • checkSpHyb
  • exactBondMatching
  • exactQueryAtomMatching
  • doubleBondStereo
  • HCountMatching
  • t
  • implicitHMatching
  • reactionUnpairedMap
  • vagueBond
  • completeHG
  • charge
  • isotope
  • radical
  • valence
  • mix
  • polymer
  • stereoModel
  • undefinedRAtom
  • bridgingRAllowed
  • RLigandEqualityCheck
  • attachedDataMatch
  • attachedDataPrefixes
  • exactSpecialAtomMatching
  • ignoreCTExceptions
  • exhaustiveModeLimit
  • timeoutLimit
  • tdf
  • Returns:
    string value of the given option (true --> y, false --> n, except 'valence', 'polymer' and 'mix': true --> d, false --> i)
    See Also:
    setOption(String, String)

    getBoolean

    protected static boolean getBoolean(java.lang.String value)
    Returns value as a boolean flag.

    Parameters:
    value - String representation of boolean flag.
    Returns:
    true if value is null, "", "y", "Y"; false if "n" or "N".
    Throws:
    java.lang.IllegalArgumentException - otherwise.

    returnOptionString

    protected java.lang.String returnOptionString(boolean value)

    isKeepQueryOrder

    public boolean isKeepQueryOrder()
    Returns:
    false if search rearranges query atoms for better search performance

    setKeepQueryOrder

    public void setKeepQueryOrder(boolean value)
    Parameters:
    value - false, if search should rearrange query atoms for better search performance

    isExactFragment

    public boolean isExactFragment()
    Returns:
    true if the query only matches to full(exact) fragments of the target. (No heavy atoms outside the match and each query fragment corresponds to a target fragment.) Same as isFullFragment().

    setExactFragment

    public void setExactFragment(boolean value)
    Parameters:
    value - true, if the query should only match to full fragments of the target. (No heavy atoms outside the match and each query fragment corresponds to a target fragment.) Same as setFullFragment(boolean).

    isFullFragment

    public final boolean isFullFragment()
    Returns:
    true if the query only matches to full fragments of the target. (No heavy atoms outside the match and each query fragment corresponds to a target fragment.) Same as isExactFragment().

    setFullFragment

    public void setFullFragment(boolean value)
    Parameters:
    value - true, if the query should only match to full fragments of the target. (No heavy atoms outside the match and each query fragment corresponds to a target fragment.) Same as setExactFragment(boolean)

    getIsotopeMatching

    public final int getIsotopeMatching()
    Returns:
    Isotope searching behaviour. Default is ISOTOPE_MATCHING_DEFAULT (isotope query matches only isotope target, nonisotope query matches all)
    See Also:
    SearchConstants.ISOTOPE_MATCHING_DEFAULT, SearchConstants.ISOTOPE_MATCHING_EXACT, SearchConstants.ISOTOPE_MATCHING_IGNORE

    setIsotopeMatching

    public void setIsotopeMatching(int value)
    Parameters:
    value - Specifies the isotope searching behaviour. Default is ISOTOPE_MATCHING_DEFAULT (isotope query matches only isotope target, nonisotope query matches all)
    See Also:
    SearchConstants.ISOTOPE_MATCHING_DEFAULT, SearchConstants.ISOTOPE_MATCHING_EXACT, SearchConstants.ISOTOPE_MATCHING_IGNORE

    getChargeMatching

    public final int getChargeMatching()
    Returns:
    Charge searching behaviour. Default is CHARGE_MATCHING_DEFAULT (charged query matches only charged target, noncharged query matches all)
    See Also:
    SearchConstants.CHARGE_MATCHING_DEFAULT, SearchConstants.CHARGE_MATCHING_EXACT, SearchConstants.CHARGE_MATCHING_IGNORE

    setChargeMatching

    public void setChargeMatching(int value)
    Parameters:
    value - Specifies the charge searching behaviour. Default is CHARGE_MATCHING_DEFAULT (charged query matches only charged target, noncharged query matches all)
    See Also:
    SearchConstants.CHARGE_MATCHING_DEFAULT, SearchConstants.CHARGE_MATCHING_EXACT, SearchConstants.CHARGE_MATCHING_IGNORE

    isValenceMatching

    public boolean isValenceMatching()
    Returns:
    true if valence is checked during search. Default value is true.

    setValenceMatching

    public void setValenceMatching(boolean value)
    Parameters:
    value - true, if valence should be checked during search. Default value is true.

    getRadicalMatching

    public final int getRadicalMatching()
    Returns:
    Radical searching behaviour. Default is RADICAL_MATCHING_DEFAULT (radical query matches only radical target, nonradical query matches all)
    See Also:
    SearchConstants.RADICAL_MATCHING_DEFAULT, SearchConstants.RADICAL_MATCHING_EXACT, SearchConstants.RADICAL_MATCHING_IGNORE

    setRadicalMatching

    public void setRadicalMatching(int value)
    Parameters:
    value - Specifies the radical searching behaviour. Default is RADICAL_MATCHING_DEFAULT (radical query matches only radical target, nonradical query matches all)
    See Also:
    SearchConstants.RADICAL_MATCHING_DEFAULT, SearchConstants.RADICAL_MATCHING_EXACT, SearchConstants.RADICAL_MATCHING_IGNORE

    isMixSgroupMatching

    public boolean isMixSgroupMatching()
    Returns:
    true if considers COM, MIX and FOR sgroups during search Default value is true.

    setMixSgroupMatching

    public void setMixSgroupMatching(boolean value)
    Parameters:
    value - true, if COM, MIX and FOR sgroups should be considered during search. Default value is true).

    isPolymerMatching

    public boolean isPolymerMatching()
    Returns:
    true if considers polymer sgroups during search Default value is true.
    See Also:
    setPolymerMatching(boolean)

    setPolymerMatching

    public void setPolymerMatching(boolean value)
    Adjust polymer matching.

    Parameters:
    value - true, if polymer sgroups should be considered during search. (Default value is true).
    See Also:
    isPolymerMatching()

    isEndgroupMatching

    public boolean isEndgroupMatching()
    Returns:
    true if polymer end groups must match during search. In this case the star atom can't match on a specified engroup. Default value is true.

    setEndgroupMatching

    public void setEndgroupMatching(boolean value)
    Adjusts polymer end group matching.

    Parameters:
    value - true, if polymer endgroups should be matched during search. In this case the star atom can't match on a specified engroup. (Default value is true).

    areMonomersTransformed

    public boolean areMonomersTransformed()
    Returns:
    true if monomers (source based representation of polymers) are transformed to sru repeating units if they can be polimerizated.
    See Also:
    setMonomerTransform(boolean)

    setMonomerTransform

    public void setMonomerTransform(boolean value)
    Adjusts if monomers should be transformed to structural repeating units if the monomer is homolopolimerizable.

    Parameters:
    value - true if monomers should be transformed, false otherwise
    See Also:
    areMonomersTransformed()

    isPhaseShiftedMatching

    public boolean isPhaseShiftedMatching()
    Returns:
    true if the phase-shifted polymers are matching.
    See Also:
    setPhaseShiftedMatching(boolean)

    setPhaseShiftedMatching

    public void setPhaseShiftedMatching(boolean value)
    Adjusts if the phase shifted polymer should match on the original.

    Parameters:
    value - true if the phase shifted should be matching false otherwise. (default true)
    See Also:
    isPhaseShiftedMatching()

    isCopolymerMatching

    public boolean isCopolymerMatching()
    Returns:
    true if the copolymer matching mode is set.
    See Also:
    setCopolymerMatching(boolean)

    setCopolymerMatching

    public void setCopolymerMatching(boolean value)
    Adjusts copolymer matching mode. If set, then target polymers in copolymers can only be matched by query polymers in copolymers.

    Parameters:
    value - true if copolymer matching mode should be set, false otherwise. (default false)
    See Also:
    isCopolymerMatching()

    isQHomologyHandling

    public boolean isQHomologyHandling()
    Returns:
    true if the query-side homology matching mode is set.
    See Also:
    setQHomologyHandling(boolean)

    setQHomologyHandling

    public void setQHomologyHandling(boolean value)
    Adjusts query side homology matching mode. If set, then pseudo atoms with homology names on the query side are handled as homology groups. If false they are handled as pseudo atoms and match only pseudo atoms with the same name.

    Parameters:
    value - true if homology handling should be set, false otherwise. (default true)
    See Also:
    isQHomologyHandling()

    getStereoModel

    public int getStereoModel()
    Returns:
    Used stereo model. Default is STEREO_MODEL_LOCAL (it may change in the future!)
    See Also:
    SearchConstants.STEREO_MODEL_LOCAL, SearchConstants.STEREO_MODEL_COMPREHENSIVE, SearchConstants.STEREO_MODEL_GLOBAL, SearchConstants.STEREO_MODEL_DEFAULT

    setStereoModel

    public void setStereoModel(int value)
    Parameters:
    value - Specifies the used stereo model. Default is STEREO_MODEL_LOCAL (it may change in the future!)
    See Also:
    SearchConstants.STEREO_MODEL_LOCAL, SearchConstants.STEREO_MODEL_COMPREHENSIVE, SearchConstants.STEREO_MODEL_GLOBAL, SearchConstants.STEREO_MODEL_DEFAULT

    setStereoSearchType

    public void setStereoSearchType(int value)
    Specifies the way stereo information is considered during searching. (setStereoModel(int) specifies the model for calculating the stereo information.)

    Parameters:
    value - Specifies the stereo mode. Accepted values: SearchConstants.STEREO_SPECIFIC SearchConstants.STEREO_IGNORE SearchConstants.STEREO_EXACT SearchConstants.STEREO_DIASTEREOMER

    getStereoSearchType

    public final int getStereoSearchType()
    Returns:
    Specifies the stereo search type. Default is STEREO_SPECIFIC.
    See Also:
    SearchConstants.STEREO_SPECIFIC, SearchConstants.STEREO_IGNORE, SearchConstants.STEREO_EXACT, SearchConstants.STEREO_DIASTEREOMER, setStereoSearchType(int)

    getCheckSpHyb

    public final boolean getCheckSpHyb()
    Returns true if sp-hybridization state of the atoms should be considered, false otherwise

    Returns:
    true if sp-hybridization state of the atoms is considered,
    See Also:
    setCheckSpHyb(boolean), MoleculeGraph.calcHybridization()

    setCheckSpHyb

    public void setCheckSpHyb(boolean checkSp)
    Sets whether the sp-hybridization state of the atoms should be considered.

    Parameters:
    checkSp - If true the sp-hybridization state is checked.
    Since:
    5.1
    See Also:
    getCheckSpHyb(), MoleculeGraph.calcHybridization()

    getImplicitHMatching

    public int getImplicitHMatching()
    Returns:
    Matching behaviour between explicit and implicit hydrogens. Default is IMPLICIT_H_MATCHING_DEFAULT (matching depends on the circumstances of search)
    See Also:
    SearchConstants.IMPLICIT_H_MATCHING_DEFAULT, SearchConstants.IMPLICIT_H_MATCHING_DISABLED, SearchConstants.IMPLICIT_H_MATCHING_ENABLED

    setImplicitHMatching

    public void setImplicitHMatching(int value)
    Parameters:
    value - Specifies matching bahaviour between explicit and implicit hydrogens. Default is IMPLICIT_H_MATCHING_DEFAULT (matching depends on the circumstances of search)
    See Also:
    SearchConstants.IMPLICIT_H_MATCHING_DEFAULT, SearchConstants.IMPLICIT_H_MATCHING_DISABLED, SearchConstants.IMPLICIT_H_MATCHING_ENABLED

    isReactionUnpairedMapMatching

    public boolean isReactionUnpairedMapMatching()
    Returns:
    true if in reaction search unpaired (orphan and widow) atom maps can match any atom map. Default value is true.

    setReactionUnpairedMapMatching

    public void setReactionUnpairedMapMatching(boolean value)
    Parameters:
    value - true, if in reaction search unpaired (orphan and widow) atom maps can match any atom map. Default value is true.

    setChemTermsFilter

    public void setChemTermsFilter(java.lang.String value)
    Sets the Chemical Terms filtering expression.

    See Also:
    getChemTermsFilter()

    getChemTermsFilter

    public java.lang.String getChemTermsFilter()
    Gets the Chemical Terms filtering expression

    See Also:
    setChemTermsFilter(String)

    setChemTermsFilterConfig

    public void setChemTermsFilterConfig(java.lang.String value)
    Sets the configuration string for Chemical Terms filter.

    Parameters:
    value - the configuration string. Set to null for default configuration.
    See Also:
    getChemTermsFilterConfig()

    getChemTermsFilterConfig

    public java.lang.String getChemTermsFilterConfig()
    Gets the configuration string for Chemical Terms filter.

    Returns:
    the configuration string
    See Also:
    setChemTermsFilterConfig(String)

    setUndefinedRAtom

    public void setUndefinedRAtom(int value)
    Sets the matching behaviour of an undefined R atom in the query. Default is SearchConstants.UNDEF_R_MATCHING_GROUP.

    Parameters:
    value - Matching mode value.
    See Also:
    SearchConstants.UNDEF_R_MATCHING_ALL, SearchConstants.UNDEF_R_MATCHING_UNDEF_R, SearchConstants.UNDEF_R_MATCHING_GROUP, SearchConstants.UNDEF_R_MATCHING_GROUP_H, SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY, getUndefinedRAtom()

    getUndefinedRAtom

    public int getUndefinedRAtom()
    Returns undefined R atom matching behaviour mode.

    Returns:
    Matching mode value.
    See Also:
    SearchConstants.UNDEF_R_MATCHING_ALL, SearchConstants.UNDEF_R_MATCHING_UNDEF_R, SearchConstants.UNDEF_R_MATCHING_GROUP, SearchConstants.UNDEF_R_MATCHING_GROUP_H, SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY, setUndefinedRAtom(int)

    isUndefinedRAtomMatchingGroup

    public boolean isUndefinedRAtomMatchingGroup()
    Returns whether undefined R atom matches group of atoms. This is the case when getUndefinedRAtom() returns SearchConstants.UNDEF_R_MATCHING_GROUP, SearchConstants.UNDEF_R_MATCHING_GROUP_H or SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY.

    Returns:
    true if undefined R atom matches group
    Since:
    JChem 5.3

    setBridgingRAllowed

    public void setBridgingRAllowed(boolean value)
    Sets whether different undefined R-atoms can match the same group of atoms. This parameter is only used if R atom matching behaviour (setUndefinedRAtom(int)) is set to group matching: SearchConstants.UNDEF_R_MATCHING_GROUP or SearchConstants.UNDEF_R_MATCHING_GROUP_H or SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY. Default: false.

    Parameters:
    value - true if different undefined R-atoms can match the same group of atoms
    Since:
    JChem 5.3
    See Also:
    setUndefinedRAtom(int)

    isBridgingRAllowed

    public boolean isBridgingRAllowed()
    Returns true if different undefined R-atoms can match the same group of atoms. This parameter is only used if R atom matching behaviour (setUndefinedRAtom(int)) is set to group matching: SearchConstants.UNDEF_R_MATCHING_GROUP or SearchConstants.UNDEF_R_MATCHING_GROUP_H or SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY.

    Returns:
    true if different undefined R-atoms can match the same group of atoms
    Since:
    JChem 5.3
    See Also:
    setBridgingRAllowed(boolean)

    setRLigandEqualityCheck

    public void setRLigandEqualityCheck(boolean value)
    Sets whether undefined R-atoms with the same R-group ID should match the same structure. This parameter is only used if R atom matching behaviour (setUndefinedRAtom(int)) is set to group matching: SearchConstants.UNDEF_R_MATCHING_GROUP or SearchConstants.UNDEF_R_MATCHING_GROUP_H or SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY. Default: false.

    Parameters:
    value - true if undefined R-atoms with the same R-group ID should match the same structure
    Since:
    JChem 5.3
    See Also:
    setUndefinedRAtom(int)

    getRLigandEqualityCheck

    public boolean getRLigandEqualityCheck()
    Returns true if undefined R-atoms with the same R-group ID should match the same structure. This parameter is only used if R atom matching behaviour (setUndefinedRAtom(int)) is set to group matching: SearchConstants.UNDEF_R_MATCHING_GROUP or SearchConstants.UNDEF_R_MATCHING_GROUP_H or SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY.

    Returns:
    true if undefined R-atoms with the same R-group ID should match the same structure
    Since:
    JChem 5.3
    See Also:
    setRLigandEqualityCheck(boolean)

    setAttachedDataMatch

    public void setAttachedDataMatch(int value)
    Sets whether attached data (in data sgroups) should be used when comparing structures. Default value is SearchConstants.ATTACHED_DATA_MATCH_IGNORE (no attached data used)

    Parameters:
    value -
    See Also:
    getAttachedDataMatch(), SearchConstants.ATTACHED_DATA_MATCH_IGNORE, SearchConstants.ATTACHED_DATA_MATCH_GENERAL, SearchConstants.ATTACHED_DATA_MATCH_EXACT

    getAttachedDataMatch

    public int getAttachedDataMatch()
    Returns whether attached data (in data sgroups) should be used when comparing structures.

    Returns:
    value of attached data match type
    See Also:
    setAttachedDataMatch(int), SearchConstants.ATTACHED_DATA_MATCH_IGNORE, SearchConstants.ATTACHED_DATA_MATCH_GENERAL, SearchConstants.ATTACHED_DATA_MATCH_EXACT

    setAttachedDataPrefixes

    public void setAttachedDataPrefixes(java.lang.String value)
    Sets the prefixes of the names of those data sgroups that will be used during structure comparison.
    Default value is null (all data sgroups will be checked). The value is used only when attached data is not ignored (see setAttachedDataMatch(int)).
    Prefixes are case insensitive.

    Parameters:
    value - comma separated list of name prefixes, e.g. "weight,atomcount"

    getAttachedDataPrefixes

    public java.lang.String getAttachedDataPrefixes()
    Returns the prefixes of the names of those data sgroups that will be used during structure comparison or null if all data sgroups should be checked.

    Returns:
    comma separated list of name prefixes or null

    setExactSpecialAtomMatching

    public void setExactSpecialAtomMatching(java.lang.String value)
    Sets the identifiers of those special atoms that should match exactly during structure comparison.
    Default value is "" (all data sgroups will be checked).
    Identifiers are case insensitive.
    Available identifiers are generic query atoms (A, AH, Q, ...) (see this page ) and pseudo atom aliases (see this page ).

    Parameters:
    value - comma separated list of identifiers e.g. "A,G18,*,Resin"

    getExactSpecialAtomMatching

    public java.lang.String getExactSpecialAtomMatching()
    Returns the identifiers of those special atoms that should match exactly during structure comparison.

    Returns:
    comma separated list of identifiers

    isIgnoreCTExceptions

    public boolean isIgnoreCTExceptions()
    Returns:
    true if Chemical Terms exceptions should be ignored during evalution

    setIgnoreCTExceptions

    public void setIgnoreCTExceptions(boolean value)
    If set true, only syntactical exceptions will be thrown. Those molecules that return exception during evaluation will be left out from hit list. Default value is false.

    Parameters:
    value - true if Chemical Terms exceptions should be ignored during evalution

    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.

    setTautomerDuplicateFiltering

    public void setTautomerDuplicateFiltering(boolean value)
    Parameters:
    value - true if generic tautomers of query and target should be used during search. (Effective only in case of duplicate search.) Default is false.

    isTautomerDuplicateFiltering

    public boolean isTautomerDuplicateFiltering()
    Returns:
    true if generic tautomers of query and target should be used during search. (Effective only in case of duplicate search.)

    toString

    public java.lang.String toString()
    Returns a string that
    - describes the state of the options
    - can be the input of setOptions(String)
    - doesn't contain options that have their default value (except dissimilarity threshold in case of similarity search)

    Overrides:
    toString in class java.lang.Object
    Returns:
    a string in format "optionname1:optionvalue1 optionname2:optionvalue2 ..."
    See Also:
    setOptions(String), toList()

    toString

    public java.lang.String toString(java.lang.String sep)
    Returns a string that
    - describes the state of the options
    - can be the input of setOptions(String)
    - doesn't contain options that have their default value (except dissimilarity threshold in case of similarity search)

    Parameters:
    sep - the separator string between options
    Returns:
    a string in format "optionname1:optionvalue1 optionname2:optionvalue2 ..."
    Since:
    JChem 5.3
    See Also:
    setOptions(String), toList()

    getAllOptionsAsString

    public java.lang.String getAllOptionsAsString()
    Returns a string that
    - describes the state of the options
    - can be the input of setOptions(String)
    - contains all options, including those which have their default value (except dissimilarity threshold in case of similarity search)

    Returns:
    a string in format "optionname1:optionvalue1 optionname2:optionvalue2 ..."
    Since:
    JChem 5.3
    See Also:
    getAllOptionsAsString(String), setOptions(String), toString()

    getAllOptionsAsString

    public java.lang.String getAllOptionsAsString(java.lang.String sep)
    Returns a string that
    - describes the state of the options
    - can be the input of setOptions(String)
    - contains all options, including those which have their default value (except dissimilarity threshold in case of similarity search)

    Parameters:
    sep - is the separator
    Returns:
    a string in format "sep=$$ optionname1:optionvalue1$$optionname2:optionvalue2$$...", where $$ is the separator
    Since:
    JChem 5.3
    See Also:
    getAllOptionsAsString(), setOptions(String), toString()

    toList

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

    getOptionNames

    protected java.lang.String[] getOptionNames()