OEIsComplementaryScreenType

Attention

This API is currently available in C++ and Python.

bool OEIsComplementaryScreenType(const OEQMolBase &qmol,
                                 const unsigned stype)
bool OEIsComplementaryScreenType(const OEQMolBase &qmol,
                                 const OESubSearchScreenTypeBase *stype)

Returns whether the given query molecule can be used with a certain screen type. The function determines this by examining all the atom and bond expressions of the query molecule. For more explanation, see the OESubSearchScreenType namespace.

qmol

The query molecule (OEQMolBase)

stype

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

Example

OEQMol qmol;
OEParseSmarts(qmol, "C1CC[O,N]CC1");

using namespace OESubSearchScreenType;
for (const auto stype : {Molecule, MDL, SMARTS})
{
  const OESubSearchScreenTypeBase* screentype = OEGetSubSearchScreenType(stype);
  if (OEIsComplementaryScreenType(qmol, screentype))
    std::cout << screentype->GetName() << " screen type is complementary" << std::endl;
}

The above code snippet will generate the following output.

SMARTS SubSearch Screen screen type is complementary