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