void MangoSimilarity::loadQuery (Scanner &scanner)
{
    QS_DEF(Molecule, query);

    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(query);

    _initQuery(query);

    MoleculeFingerprintBuilder builder(query, _context.fp_parameters);

    builder.skip_tau = true;
    builder.skip_ext = true;
    builder.skip_ord = true;
    builder.skip_any_atoms = true;
    builder.skip_any_bonds = true;
    builder.skip_any_atoms_bonds = true;

    builder.process();
    _query_fp.copy(builder.get(), _context.fp_parameters.fingerprintSize());
    _query_ones = builder.countBits_Sim();
}
Beispiel #2
0
void MangoExact::loadQuery (Scanner &scanner)
{
   MoleculeAutoLoader loader(scanner);

   _context.setLoaderSettings(loader);
   loader.loadMolecule(_query);
   Molecule::checkForConsistency(_query);

   _initQuery(_query);

   calculateHash(_query, _query_hash);
}
Beispiel #3
0
void MangoExact::loadQuery (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(_query);
   Molecule::checkForConsistency(_query);

   _initQuery(_query);

   calculateHash(_query, _query_hash);
}
void MangoSubstructure::loadQuery (Scanner &scanner)
{
    MoleculeAutoLoader loader(scanner);
    QS_DEF(QueryMolecule, source);

    loader.treat_x_as_pseudoatom = _context.treat_x_as_pseudoatom;
    loader.ignore_closing_bond_direction_mismatch =
        _context.ignore_closing_bond_direction_mismatch;
    loader.loadQueryMolecule(source);

    if (!source.have_xyz && match_3d != 0)
        throw Error("cannot do 3D match without XYZ in the query");

    _initQuery(source, _query);
    _query_fp_valid = false;
    _query_extra_valid = false;
}