Hi Michael,

I don't know what's wrong, but I can confirm the behavior on an RDKit build based on 2013_09_2:

select id, molecule
  from parents$calc_props
where molecule operator(rdkit.@>) 'CC[C@H](C)C(=O)O[C@H]1C[C@@H](C)C=C2C=C[C@H](C)[C@H](CC[C@@H]3C[C@@H](O)CC(=O)O3)[C@H]21'
limit 10

id      molecule
56 CC[C@H](C)C(=O)O[C@H]1C[C@@H](C)C=C2C=C[C@H](C)[C@H](CC[C@@H]3C[C@@H](O)CC(=O)O3)[C@H]21


select id, molecule
  from parents$calc_props
where molecule operator(rdkit.<@) 'CC[C@H](C)C(=O)O[C@H]1C[C@@H](C)C=C2C=C[C@H](C)[C@H](CC[C@@H]3C[C@@H](O)CC(=O)O3)[C@H]21'
limit 10

<same result as above - record with ID = 56>

select id, molecule
  from parents$calc_props
where molecule operator(rdkit.@=) 'CC[C@H](C)C(=O)O[C@H]1C[C@@H](C)C=C2C=C[C@H](C)[C@H](CC[C@@H]3C[C@@H](O)CC(=O)O3)[C@H]21'
limit 10

<no results>

The operator should work according to docs

http://www.rdkit.org/docs/Cartridge.html


       Substructure and exact structure search

 * @> : substructure search operator. Returns whether or not the mol or
   qmol on the right is a substructure of the mol on the left.
 * <@ : substructure search operator. Returns whether or not the mol or
   qmol on the left is a substructure of the mol on the right.
 * @= : returns whether or not two molecules are the same.


A workaround is this:

select id, molecule
  from parents$calc_props
where molecule operator(rdkit.<@) 'CC[C@H](C)C(=O)O[C@H]1C[C@@H](C)C=C2C=C[C@H](C)[C@H](CC[C@@H]3C[C@@H](O)CC(=O)O3)[C@H]21' and molecule operator(rdkit.@>) 'CC[C@H](C)C(=O)O[C@H]1C[C@@H](C)C=C2C=C[C@H](C)[C@H](CC[C@@H]3C[C@@H](O)CC(=O)O3)[C@H]21'
limit 10

which returns the molecule as intended. It was suggested by Greg in an ancient post from 2010:

http://sourceforge.net/p/rdkit/mailman/message/26662092/

Cheers
-- Jan

On 2015-06-18 18:01, Michał Nowotka wrote:
Hi,

I'm working on mychembl_20 and I have latest stable RDKit version
("Release_2015_03_1") installed and compiled as postgres cartridge.

Some facts:

1. All tests went fine, including tests for postgres extension.
2. Substructure (@>) and similarity (tanimoto_sml) searches are working fine.

Now I'm trying to execute this SQL statement:

SELECT COUNT(*)
FROM "mols_rdkit"
WHERE (m@='C');

This runs without errors but returns 0. It returns 0 for any SMILES
string, even if I know that the structure exists in the database.

Table "mold_rdkit" exists, is not empty and has column "m" (as I said,
substructure and similarity are working fine).

Am I doing something wrong? Is there anything I can do to verify if
the problem is related to RDKit or something else?

Kind regards,

Michał Nowotka

------------------------------------------------------------------------------
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to