Performance specific search options

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

 

Maximum number of hits

Sets maxResultCount property. Limits the number of molecules returned by the search to maxResultCount. If maxResultCount is 0, then there is no limit.

MolSearch APINot applicable.

JChemSearch API

        JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setMaxResultCount(maxCount);
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);

Default value is 0, i.e. there is no limit.

JChem Oracle CartridgeUse the jc_compare operator with maxResults:int.

jcsearch command line tool

Use the following command line parameter:--maxResults:<count>

See the availability of the option in further ChemAxon products:

Total search timeout limit

Limits the time of the search. TotalSearchTimeoutLimitMilliseconds is to be specified in milliseconds. Search will be stopped after the specified time has elapsed and the hits found up to this time are returned. There is no timeout limit, by default.

MolSearch APINot applicable.

JChemSearch API

        JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setTotalSearchTimeoutLimitMilliseconds(maxTimeMillis);
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);

JChem Oracle Cartridge

Use the jc_compare operator with totalSearchTimeoutLimitMilliseconds:int.

Example:

SELECT count(*) FROM nci_12n WHERE jc_compare(smiles, 'c1ccccc1', 't:d totalSearchTimeoutLimitMilliseconds:15000') = 1;

jcsearch command line tool

Not applicable.

See the availability of the option in further ChemAxon products:

Optimize query atom order (or performance)

Sets option for rearranging query atoms to increase search performance. False, if search should rearrange query atoms for better search performance. Default value is false.

MolSearch API

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

JChemSearch API

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

JChem Oracle CartridgeNot applicable.

jcsearch command line tool

Use the following command line parameter:--keepQueryOrder

See the availability of the option in further ChemAxon products:

Optimize queries containing special query features (atom lists, bond lists, ...)

If more than one queries are present, at least one is required to match. For DB targets, only the first query is considered.

MolSearch APINot applicable.

JChemSearch API

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

JChem Oracle CartridgeNot applicable.

jcsearch command line tool

Use the following command line parameter:

--optimizeQueries:y/n

  • y: yes (default);

  • n: no.

See the availability of the option in further ChemAxon products:

Timeout limit

The search on a single target can reach this amount of time. Set it to -1 if you do not want the search to timeout. The timeout limit has to be set in milliseconds. Default value is 120000 (2 minutes).

MolSearch API

        MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setTimeoutLimitMilliseconds(limit);
// ...
MolSearch searcher = new MolSearch();
searcher.setSearchOptions(searchOptions);

JChemSearch API

        JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setTimeoutLimitMilliseconds(limit);
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);

JChem Oracle Cartridge

Use the jc_compare operator with timeoutLimitMilliseconds:int.

Example:

SELECT count(*) FROM nci_12n WHERE jc_compare(smiles, 'c1ccccc1', 't:d timeoutLimitMilliseconds:15000') = 1;

jcsearch command line tool

Use the following command line parameter:

--timeoutLimitMilliseconds:<timeout limit in milliseconds>

See the availability of the option in further ChemAxon products:

Exhaustive mode limit

Upon reaching this number of steps, the search switches to exhaustive mode from fast mode. Setting to -1 means never. Default -1.

MolSearch API

        MolSearchOptions searchOptions = new MolSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setExhaustiveModeLimit(limit);
// ...
MolSearch searcher = new MolSearch();
searcher.setSearchOptions(searchOptions);

JChemSearch API

        JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setExhaustiveModeLimit(limit);
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);

JChem Oracle CartridgeUse the jc_compare operator with exhaustiveModeLimit:limit

jcsearch command line tool

Use the following command line parameter:

--exhaustiveModeLimit

See the availability of the option in further ChemAxon products: