bool OEParseSmirks(OEQMolBase& mol, const char* smirks, unsigned int opt=OESmartsParseOpts::Default) bool OEParseSmirks(OEQMolBase& mo, const char* smirks, const OEVectorBindings &vb, unsigned int opt=OESmartsParseOpts::Default)
These functions generate a reaction molecule by parsing the given SMIRKS pattern. If the SMIRKS string passed to the function is valid and is parsed correctly the function will return a true, otherwise the it will return false.
OEParseSmirks is functionally nearly identical to OEParseSmarts. The only significant difference in how SMARTS and SMIRKS are parsed is the handling of the [H] expression. SMARTS interprets [H] as an atom that has a total hydrogen count of exactly one. SMIRKS interprets [H] as an explicit hydrogen. The OEParseSmirks function therefore parses [H] differently than would OEParseSmarts, and performs additional validity checks of the SMIRKS string.