bool MangoTautomer::matchBinary (Scanner &scanner) { CmfLoader loader(_context.cmf_dict, scanner); loader.loadMolecule(_target); _initTarget(true); TautomerMethod m = RSMARTS; MoleculeTautomerMatcher matcher(_target, _params.substructure); matcher.setRulesList(&_context.tautomer_rules); matcher.setRules(_params.conditions, _params.force_hydrogens, _params.ring_chain, m); matcher.setQuery(_query.ref()); profTimerStart(temb, "match.embedding"); bool res = matcher.find(); profTimerStop(temb); if (res) { profIncTimer("match.embedding_found", profTimerGetTime(temb)); } else { profIncTimer("match.embedding_not_found", profTimerGetTime(temb)); } return res; }
bool MangoSubstructure::matchBinary (Scanner &scanner, Scanner *xyz_scanner) { _validateQueryExtraData(); profTimerStart(tcmf, "match.cmf"); cmf_loader.free(); cmf_loader.create(_context.cmf_dict, scanner); if (!_query_has_stereocare_bonds) cmf_loader->skip_cistrans = true; if (!_query_has_stereocenters) cmf_loader->skip_stereocenters = true; cmf_loader->loadMolecule(_target); if (xyz_scanner != 0) cmf_loader->loadXyz(*xyz_scanner); profTimerStop(tcmf); profTimerStart(tinit, "match.init_target"); _initTarget(true); profTimerStop(tinit); return matchLoadedTarget(); }
void MangoExact::loadTarget (Scanner &scanner) { MoleculeAutoLoader loader(scanner); _context.setLoaderSettings(loader); loader.loadMolecule(_target); Molecule::checkForConsistency(_target); _initTarget(_target, false); }
void MangoTautomer::loadTarget (Scanner &scanner) { MoleculeAutoLoader loader(scanner); _context.setLoaderSettings(loader); loader.loadMolecule(_target); _initTarget(false); }
void MangoSubstructure::loadTarget (Scanner &scanner) { MoleculeAutoLoader loader(scanner); loader.treat_x_as_pseudoatom = _context.treat_x_as_pseudoatom; loader.ignore_closing_bond_direction_mismatch = _context.ignore_closing_bond_direction_mismatch; loader.loadMolecule(_target); _initTarget(false); Molecule::checkForConsistency(_target); }
bool MangoExact::matchBinary (Scanner &scanner, Scanner *xyz_scanner) { CmfLoader loader(_context.cmf_dict, scanner); loader.loadMolecule(_target); if (xyz_scanner != 0) loader.loadXyz(*xyz_scanner); _initTarget(_target, true); /* * Set up timeout for matching */ MoleculeExactMatcher matcher(_query, _target); matcher.flags = _flags; matcher.rms_threshold = _rms_threshold; return matcher.find(); }