General search options

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

 

Search type

Sets different search options according to a predefined search type. For full explanation see detailed description of search types .

MolSearch API
It can be specified as a constructor parameter of the search options object.
 
MolSearchOptions mso = new MolSearchOptions( SearchConstants.SUBSTRUCTURE /
SearchConstants.FULL / SearchConstants.FULL_FRAGMENT / SearchConstants.DUPLICATE /
SearchConstants.SUPERSTRUCTURE / ... );
// ...
MolSearch searcher = new MolSearch();
searcher.setSearchOptions(searchOptions);
 
Default search type is SearchConstants.SUBSTRUCTURE.
JChemSearch API
It can be specified as a constructor parameter of the search options object.
 
JChemSearchOptions searchOptions = new JChemSearchOptions( SearchConstants.SUBSTRUCTURE /
SearchConstants.FULL / SearchConstants.FULL_FRAGMENT / SearchConstants.DUPLICATE /
SearchConstants.SUPERSTRUCTURE / SearchConstants.SIMILARITY / ... );
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);
 
Default search type is SearchConstants.SUBSTRUCTURE.
JChem Oracle Cartridge
Use the jc_compare operator with t:s/f/ff/d/i/u/na
 
s: substructure search (default);
f: full structure search;
ff: full fragment search;
d: duplicate search
i: smilarity search;
u: superstructure search;
na: superstructure search fingerprint-only (returns the result of the fingerprint screening without performing an atom-by-atom search).
This option is available only when the jc_compare operator is evaluated as part of a domain index scan.
jcsearch command line tool
Use the following command line parameter:
 
-t:s/f/ff/d/i/u/c, where
 
s: substructure search (default);
f: full structure search;
ff: full fragment search;
d: duplicate search;
i[:dissimilarity_threshold]: smilarity search;
u: superstructure search;
c: count all hits.

Order sensitive hits

Specifies whether the same set of target atoms found in a different order should be considered as a different hit.

MolSearch API
MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setOrderSensitiveSearch( true / false );
// ...
MolSearch searcher = new MolSearch();
searcher.setSearchOptions(searchOptions);
 
Default value is false.
JChemSearch API
Not applicable.
JChem Oracle Cartridge
Not applicable.
jcsearch command line tool
Use the following command line parameter:
 
--orderSensitive

Pre-assignment of query and target atoms

Specifies an extra prerequisite of the structure search that queryAtom must match to targetAtom only or queryAtoms[0] must match

to targetAtoms[0] only AND queryAtoms[1] must match to targetAtoms[1], etc. If this is impossible, the search methods will report no matching.

The use of this method makes the search more effective than checking the hits afterwards.

MolSearch API
MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.addMatch( queryAtomIndexes, targetAtomIndexes, length );
// ...
MolSearch searcher = new MolSearch();
searcher.setSearchOptions(searchOptions);
JChemSearch API
Not applicable.
JChem Oracle Cartridge
Not applicable.
jcsearch command line tool
Not applicable.

Distinct first atom matching enable/disable

Option ensuring that upon the findNext() call the first atom must be stepped as well. Option is considered only in case of searching a recursive SMARTS query.

MolSearch API
MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setDistinctFirstAtomMatching( false / true );
// ...
MolSearch searcher = new MolSearch();
searcher.setSearchOptions(searchOptions);
 
Default value is false.
JChemSearch API
Not applicable.
JChem Oracle Cartridge
Not applicable.
jcsearch command line tool
Use the following command line parameter:
 
--distinctFirstAtomMatching:n/y
 
Default value is n.

Standardization configuration

Sets standardizer object to be used for the query and target molecules, Chemical Terms configuration and re-standardization of query tautomers at tautomer searching.
Default is no standardization, but query standardization is always switched on at tautomer search. See detailes of standardization in Standardizer manual.

MolSearch API
MolSearch searcher = new MolSearch();
searcher.setStandardizer(standardizer);
JChemSearch API
This is not a search option for JChemSearch, but can be specified as table property. See details here.
JChem Oracle Cartridge
Use the jc_compare operator with
 
std_config index parameter (for regular structure tables)
table option (for JChem structure tables)
standardizerConfig default property
jcsearch command line tool
Use the following command line parameter:
 
-S "file name" / "action string"
or
--standardize "file name" / "action string"
 
Default option is: -S 'aromatize'. Set -S '' to skip standardization.

Halt on error

Specifies whether the search is aborted on error or continues searching on error finding and returning as many hits as possible. Halt on error option controlls the handling of record-wise, target dependent errors. In case of general errors: incompatible query, query - search option pair or license error the search is always stopped. Default value in case of Markush tables is HaltOnErrorOption.NO or n (do not halt on error), while in case of other table types HaltOnErrorOption.YES or y (halt on error).

MolSearch API
Not applicable.
JChemSearch API
It can be specified as a constructor parameter.
 
JChemSearchOptions searchOptions = new JChemSearchOptions();
searchOptions.setHaltOnError(HaltOnErrorOption.DEFAULT /
HaltOnErrorOption.YES / HaltOnErrorOption.NO );
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);
 
Default parameter is HaltOnErrorOption
.DEFAULT.
JChem Oracle Cartridge
Use the jc_compare operator with haltOnError:y/n
jcsearch command line tool
Use the following command line parameter:
 
--haltOnError:y/n