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 API
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 Cartridge
| Use the jc_compare operator with maxResults:int.
|
jcsearch command line tool
| Use the following command line parameter:
--maxResults:<count>
|
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 API
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
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 Cartridge
jcsearch command line tool
| Use the following command line parameter:--keepQueryOrder
|
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 API
JChemSearch API
| JChemSearchOptions searchOptions = new JChemSearchOptions(SearchConstants.SUBSTRUCTURE);
searchOptions.setOptimizeQueries( false / true );
// ...
JChemSearch searcher = new JChemSearch();
searcher.setSearchOptions(searchOptions);
|
JChem Oracle Cartridge
jcsearch command line tool
| Use the following command line parameter:
--optimizeQueries:y/n
y: yes (default);
n: no.
|
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>
|
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 Cartridge
| Use the jc_compare operator with exhaustiveModeLimit:limit
|
jcsearch command line tool
| Use the following command line parameter:
--exhaustiveModeLimit
|