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 API

    
    Not 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 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

    
    Not 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.

    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 Cartridge

    
    Not applicable.

    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

    
    Not applicable.

    JChemSearch API

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

    JChem Oracle Cartridge

    
    Not applicable.

    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