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.
Lionel
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
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss