Hi all,

For the question of molecules that cannot be searched, I finally found a solution in treating my queries as smarts:

SELECT id FROM rdk.mols WHERE m@>*mol_from_smarts*('[Zn]');

All the presented queries gives the expected results, even if I am not sure what is changing when I treat the query from smiles to smarts i.e. the query are valid smiles.


2- for a lot of compounds, the ctab is valid and I can convert them into mol and obtain the smile in the rdk.mols table. However I cannot found them when I search part of the smile.

**First for molecules with metals :

m1 = [Mn+2].[Zn+2]...

m2 = [Ag+].[Na+]...

m3 = [Ca+2]....

m4 = [Na+].c1ccc([B-](c2ccccc2)(c2ccccc2)c2ccccc2)cc1

m5 = [V+2]=O

m6 = [Rh+]...

m7 = [Cu].[Zn]

m8 = [Fe+2]...

For a database containing those molecules, these searches give:

[Mn] or [Mn+2] => 0 results (bad)

[Zn] => 0 (bad) but [Zn+2] => m1 (ok)

[Ag] or [Ag+] => m2 (ok)

[Na] => 0 (bad) why Ag is founded and not Na in the same molecule ?

but [Na+] => m2 + m4 (ok)

[Ca] => 0 (bad) but [Ca+2] => m3 (ok)

[B] or [B-] => 0 (bad)

[V] or [V+2] => 0 (bad)

[Rh] or [Rh+] => m6 (ok)

[Cu] => m7 (ok) but [Zn] => 0 (bad)

[Fe] => m8 (ok) but [Fe+2] => 0 (bad)

I cannot find a logic, sometime the atom is found and not the ion, sometime is the invert, sometime in the same molecule one can be found and not the other. Has someone an explanation?

** second for N3

m9 = [N-]=[N+]=[N-]

the following search gives:

[N-] or [N+] => 0 (bad)

[N-]=N => m9 (ok)

[N-]=[N+] => 0 (bad)

[N-]=[N+]=N => m9 (ok)

[N-]=[N+]=[N-] => m9 (ok)

Once again I cannot find a logic. Has someone an explanation?
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Rdkit-discuss mailing list

Reply via email to