Query feature specific search options

In this document the search options concerning query features are summarized and their usage is shown in different search interfaces.

 

Exact query atom matching

Sets whether exact query atom matching should be used or not. If true, query information (eg. 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 value is false

MolSearch API

        MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setExactQueryAtomMatching( true / false );
// ...
MolSearch searcher = new MolSearch();
searcher.setSearchOptions(searchOptions);

JChemSearch API

        JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setExactQueryAtomMatching( true / false );
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);

JChem Oracle Cartridge

Use the jc_compare operator with exactQueryAtomMatching:y/n

  • Example:

  • SELECT count(*) FROM nci_150k WHERE jc_compare(structure, 'Brc1ccccc1', 't:s exactQueryAtomMatching:y') = 1;

jcsearch command line tool

Use the following command line parameter:

--exactQueryAtomMatching:y/n

See the availability of the option in further ChemAxon products:

Hydrogen count query property interpretation

Sets the H count matching mode. See examples of MDL and Daylight H query property representation.

MolSearch API

        MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setHCountMatching( SearchConstants.HCOUNT_MATCHING_AUTO /
SearchConstants.HCOUNT_MATCHING_EQUAL / SearchConstants.HCOUNT_MATCHING_GREATER_OR_EQUAL );
// ...
MolSearch searcher = new MolSearch();
searcher.setSearchOptions(searchOptions);

Default value is SearchConstants.HCOUNT_MATCHING_AUTO.

JChemSearch API

        JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setHCountMatching( SearchConstants.HCOUNT_MATCHING_AUTO /
SearchConstants.HCOUNT_MATCHING_EQUAL / SearchConstants.HCOUNT_MATCHING_GREATER_OR_EQUAL );
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);

Default value is SearchConstants.HCOUNT_MATCHING_AUTO.

JChem Oracle Cartridge

Use the jc_compare operator with HCountMatching:G/E/A, where

  • G:(greater or equal, mdl behavior) target atom must have H-s greater or equal to query H-s, in excess of explicit H-s. H0 means no extra H other than explicitly drawn.

  • E:(equal, daylight behavior) target atom mus have H-s equal to H count number.

  • A:automatically determine whether G or E should be used, from the query source. (smiles and smarts source: E, all other: G).

      Example:

      SELECT count(*) FROM nci_150k WHERE jc_compare(structure, 'Brc1ccccc1', 't:s HCountMatching:A') = 1;

      jcsearch command line tool

      Use the following command line parameter:

      --HCountMatching:G/E/A

      • G:(greater or equal, mdl behavior) target atom must have H-s greater or equal to query H-s, in excess of explicit H-s. H0 means no extra H other than explicitly drawn.

      • E:(equal, daylight behavior) target atom mus have H-s equal to H count number.

      • A:automatically determine whether G or E should be used, from the query source. (smiles and smarts source: E, all other: G).

      See the availability of the option in further ChemAxon products:

      Implicit H matching mode

      Set option for matching implicit and explicit hydrogens. See examples here.

      MolSearch API

              MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
      searchOptions.setImplicitHMatching( SearchConstants.IMPLICIT_H_MATCHING_DEFAULT /
      SearchConstants.IMPLICIT_H_MATCHING_ENABLED / SearchConstants.IMPLICIT_H_MATCHING_DISABLED /
      SearchConstants.IMPLICIT_H_MATCHING_IGNORE);
      // ...
      MolSearch searcher = new MolSearch();
      searcher.setSearchOptions(searchOptions);

      JChemSearch API

              JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
      searchOptions.setImplicitHMatching( SearchConstants.IMPLICIT_H_MATCHING_DEFAULT /
      SearchConstants.IMPLICIT_H_MATCHING_ENABLED / SearchConstants.IMPLICIT_H_MATCHING_DISABLED /
      SearchConstants.IMPLICIT_H_MATCHING_IGNORE);
      // ...
      JChemSearch searcher = new JChemSearch();
      searcher.setSearchOptions(searchOptions);

      Default value is SearchConstants.IMPLICIT_H_MATCHING_DEFAULT.

      JChem Oracle CartridgeUse the jc_compare operator with implicitHMatching:d/y/n/i, where

      • d: default: its value is y in almost every cases. There is only one exception: its value is n in case of duplicate search against a query table in a database.

      • y: Implicit and explicit hydrogens can match.

      • n: Implicit and explicit hydrogens cannot match.

      • i: Implicit and explicit hydrogens are ignored.

      jcsearch command line tool

      Use the following command line parameter:

      --implicitHMatching:d/y/n/i

      • d: default: its value is y in almost every cases. There is only one exception: its value is n in case of duplicate search against a query table in a database.

      • y: Implicit and explicit hydrogens can match.

      • n: Implicit and explicit hydrogens cannot match.

      • i: Implicit and explicit hydrogens are ignored.

      See the availability of the option in further ChemAxon products:

      Undefined R-atom matching

      Sets the matching behavior of an undefined R atom in the query. Examples of group matching of undefined R-atoms are presented here .
      R-group queries of Markush targets are not supported with undefinedRAtom:g/gh/ghe options when query structures contain undefined R-atom(s).
      They are supported only with undefinedRAtom:a and undefinedRAtom:u options.

      • g (default): undefined R-atom matches a group of one or more connected atoms in target, including at least one heavy atom;

      • gh: undefined R-atom matches a group of one or more connected atoms in target, which can also be a single H atom;

      • ghe: undefined R-atom matches a group of one or more connected atoms in target, which can also be a single H atom or
        the empty set (empty set match is allowed for isolated or one-attachment R-atoms only);

      • a: undefined R-atom matches any single atom in target;

      • u: undefined R-atom matches only an undefined R atom in target.

      MolSearch API

              MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
      searchOptions.setUndefinedRAtom( SearchConstants.UNDEF_R_MATCHING_GROUP / SearchConstants.UNDEF_R_MATCHING_GROUP_H /
      SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY / SearchConstants.UNDEF_R_MATCHING_ALL /
      SearchConstants.UNDEF_R_MATCHING_UNDEF_R );
      // ...
      MolSearch searcher = new MolSearch();
      searcher.setSearchOptions(searchOptions);

      Default value is SearchConstants.UNDEF_R_MATCHING_GROUP.

      JChemSearch API

              JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
      searchOptions.setUndefinedRAtom( SearchConstants.UNDEF_R_MATCHING_GROUP / SearchConstants.UNDEF_R_MATCHING_GROUP_H /
      SearchConstants.UNDEF_R_MATCHING_GROUP_H_EMPTY / SearchConstants.UNDEF_R_MATCHING_ALL /
      SearchConstants.UNDEF_R_MATCHING_UNDEF_R );
      // ...
      JChemSearch searcher = new JChemSearch();
      searcher.setSearchOptions(searchOptions);

      Default value is SearchConstants.UNDEF_R_MATCHING_GROUP.

      JChem Oracle CartridgeUse the jc_compare operator with undefinedRAtom:g/gh/ghe/a/u.

      jcsearch command line tool

      Use the following command line parameter:

      --undefinedRAtom:g/gh/ghe/a/

      See the availability of the option in further ChemAxon products:

      Bridging R ligand

      Sets whether different undefined R-atoms can match the same group of atoms. This parameter is only used if undefined R atom matching behavior is set to group matching. Default value is no or false.

      MolSearch API

              MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
      searchOptions.setBridgingRAllowed( true / false );
      // ...
      MolSearch searcher = new MolSearch();
      searcher.setSearchOptions(searchOptions);

      Default value is false.

      JChemSearch API

              JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
      searchOptions.setBridgingRAllowed( true / false );
      // ...
      JChemSearch searcher = new JChemSearch();
      searcher.setSearchOptions(searchOptions);

      Default value is false.

      JChem Oracle Cartridge

      jcsearch command line tool

      Use the following command line parameter:--bridgingRAllowed:n/y

      See the availability of the option in further ChemAxon products:

      R ligand equality check

      Switches on/off the requirement that R-atoms with the same R-group ID (e.g. two R1 atoms) should match ligands with the same structure. Default is yes or true.

      MolSearch API

              MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
      searchOptions.setRLigandEqualityCheck( true / false );
      // ...
      MolSearch searcher = new MolSearch();
      searcher.setSearchOptions(searchOptions);

      Default value is true.

      JChemSearch API

              JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
      searchOptions.setRLigandEqualityCheck( true / false );
      // ...
      JChemSearch searcher = new JChemSearch();
      searcher.setSearchOptions(searchOptions);

      Default value is true.

      JChem Oracle CartridgeUse the jc_compare operator with RLigandEqualityheck:y|n.

      • yes (default);

      • n: no.

      jcsearch command line tool

      Use the following command line parameter:

      --RLigandEqualityCheck:y/n

      See the availability of the option in further ChemAxon products: