This is a preliminary API and may be improved based on user feedback. It is currently available in C++ and Python.

bool OEMakeSubSearchQueryScreen(OESubSearchScreen &screen, OEQMolBase &qmol,
                                const OESubSearchScreenTypeBase *stype)
bool OEMakeSubSearchQueryScreen(OESubSearchScreen &screen, OEQMolBase &qmol,
                                const unsigned stype=OESubSearchScreenType::Default)

Generates a substructure search screen of a query molecule with the given type.


The OESubSearchScreen object that is generated.


The query molecule of which properties are encoded into the generated screen.


The type of the screen (either from the OESubSearchScreenType namespace or an internal screen type, OESubSearchScreenTypeBase).

The OEMakeSubSearchQueryScreen function also prepares the query molecule for the substructure search. For some screen types, the expression trees of the query are optimized for substructure search. The OEMakeSubSearchQueryScreen function returns true if the screen was successfully generated and false otherwise.


For performance reason, OEChem TK does not support screening-based fast substructure search with explicit hydrogens. The OEMakeSubSearchQueryScreen function will return false if the query molecule has any explicit hydrogen expression.

OEIsComplementaryScreenType function can be used to check whether the query molecule is suited for a specific screen type.

See also