Hi George et al,
flexmatch(... 'all') is the most strict exact match that the
Symyx/Accelrys cartridge has. You can relax the matching behavior to
varying degrees by passing it different options, e.g. using 'tau'
instead of 'all' will make the identity check tautomer-agnostic (to the
extent that the cartridge will perceive tautomers "correctly" - an
interesting discussion topic in itself).
The various options to flexmatch() are well documented in the Accelrys
documentation for the cartridge, but I don't know if that is publicly
available.
The short answer in my opinion: Yes, @= should be the equivalent of
flexmatch(m1, m2, 'all'). To emulate flexmatch(..., 'all') with rdkit, I
find a small gotcha with regards to chiral matching:
-- Clearly not identical.
postgres=# select mol('CCC') @= mol('CCF');
?column?
----------
f
(1 row)
-- Clearly identical.
postgres=# select mol('CCC') @= mol('CCC');
?column?
----------
t
(1 row)
-- Ala versus dAla - should *not* be identical ?
postgres=# select mol('C[C@H](N)C(=O)O') @= mol('C[C@@H](N)C(=O)O');
?column?
----------
t
(1 row)
To get the expected behavior of @= you need to turn on chiral matching.
Even though the parameter says that is controls SSS behavior it
apparently also has an effect on exact matching:
postgres=# set rdkit.do_chiral_sss=true;
SET
-- Ala versus dAla - no longer identical.
postgres=# select mol('C[C@H](N)C(=O)O') @= mol('C[C@@H](N)C(=O)O');
?column?
----------
f
(1 row)
-- Ala versus Ala - phew, identical.
postgres=# select mol('C[C@H](N)C(=O)O') @= mol('C[C@H](N)C(=O)O');
?column?
----------
t
(1 row)
Cheers
-- Jan
On 2014-02-20 13:46, George Papadatos wrote:
Hi there,
Wouldn't that be (at least partly) possible with an exact structure
search?
* @= : returns whether or not two molecules are the same.
Cheers,
George
On 20 February 2014 11:59, Greg Landrum <[email protected]
<mailto:[email protected]>> wrote:
Sounds interesting. Can anyone provide a pointer to a doc with
more specific info about what this actually does?
On Thursday, February 20, 2014, Micha? Nowotka <[email protected]
<mailto:[email protected]>> wrote:
Hi,
Symix cartridge defines something called flexmatch - "Finds
records that are an exact match of the 2D or 3D structure that
you specify in the query."
Is there anything similar in RDKit cartridge? I looked into
documentation and couldn't find this feature.
Regards,
Michal Nowotka
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Rdkit-discuss mailing list
[email protected]
<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss