Relevance ordered substructure search
The hits of substructure search are given back ordered by the relevance (similarity) between the hit structure and the query structure.
Hit as you draw
Search speed increase
Definite search performance growth in case of chemical structure searches where the number of hits is relatively low .
Definite search performance growth in case of searches where the chemical structure search is combined with other search conditions and these other search conditions make the searches very specific, make the chemical structures search run in function mode more quickly.
Availability on RDS
Can work in low memory setup
Fewer search options have been implemented.
Full structure, Markush database search are not supported.
Only few search options have been implemented: currently search options relating double bond and tetrahedral stereo information are only available.
Fixed vague bond level is applied (vague bond level half).
Higher order stereo is only supported in duplicate search, specifically these types of stereochemistry are affected: axial stereo, syn-anti stereo, and cumulene or ring cis-trans stereo.
Fingerprint-screening-only substructure search is not supported
Reactor functionalities are not supported (jc_react in JOC).
Searching Markush targets is not supported.
Standardize function (equivalent of jc_standardize in JOC) implemented in version 19.19. Not available in earlier versions.
JChem tables are not supported.
BLOB type columns for storing chemical structures are not supported., VARCHAR2 and CLOB are supported.
Simpler installation, privilege handling, administration
Handling business rules (standardization, tautomer handling)
SQL syntax, operators, functions
Different search engine
In substructure search
Choral: the query is compared to the generic tautomer of the target.
JOC: all tautomer enumerants of the query are compared to the target.
|Query||Target||Choral hit||JOC hit|
In full fragment search
Choral [tautomer=GENERIC]: the query is compared to the generic tautomer of the target.
JOC [default tautomer search]: the generic tautomer of the query is compared to the generic tautomer of the target.
Choral [tautomer=CANONIC_GENERIC_HYBRID]: the normal canonic tautomer form of the query and the of target are compared.
JOC [tautomerEqualityMode=nc]: the normal canonic tautomer form of the query and the of target are compared.
Double bond stereo matching
Choral: by default, E stereoisomer and Z stereoisomer do not match each other. By setting the DBSMARKEDONLY parameter, search becomes the same as the JOC default.
JOC: With the exception of duplicate search, the default matching mode is ‘marked’; that is, only the stereo configuration of marked double bonds of the query structure are required to match.
|Query||JOC default||JOC doubleBondStereo:A||Choral default||Choral dbsmarkedonly|
|E or Z||E||E||E or Z|
Ignore tetrahedral stereo information
Interpretation of ambiguous SMILES/SMARTS strings in query structures
|Query||JOC default SMARTS||Choral default SMILES|
Choral: no result returned/structure not returned if format of structure is invalid/unknown. At other kind of errors you may create your own method to handle it according to your needs. A simple example to simulate never halt on any errors:
CREATE OR REPLACE chemterm_no_error(term IN VARCHAR2, mol IN CLOB) RETURN VARCHAR2 AUTHID CURRENT_USER PARALLEL_ENABLE AS BEGIN RETURN chemterm(term,mol); EXCEPTION WHEN OTHERS THEN RETURN NULL; END; /