Beispiel #1
0
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();
}
Beispiel #3
0
void MangoExact::loadTarget (Scanner &scanner)
{
   MoleculeAutoLoader loader(scanner);
   _context.setLoaderSettings(loader);
   loader.loadMolecule(_target);
   Molecule::checkForConsistency(_target);
   _initTarget(_target, false);
}
Beispiel #4
0
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);
}
Beispiel #6
0
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();
}