Hi Florence,

That code is quite old, given it looks like it doesn't work so I'll
probably deprecate it...

If I understand correctly there are three problems:
  1) Not all resonance forms are generated
  2) Non transitivity/round tripping, that is if I have resonsance forms
a,b,c,d,etc I only get [a,b,c] from a, [b,c,d] from b, and may [b,d] from d.
  3) Non-unique forms are produced

Are these the 6 you found:
[CH2]c=1c=cc=c2Cccc12.[CH2]c1cccc2Cccc12.cc1[CH]ccc2Cccc12.cc1cccc2Ccc[C]12.cc1cc[CH]c2Cccc12.cc1cccc2C[CH]cc12
|^1:0,10,22,39,44,57|
<https://cdkdepict-openchem.rhcloud.com/depict/bow/svg?smi=[CH2]c=1c=cc=c2Cccc12.[CH2]c1cccc2Cccc12.cc1[CH]ccc2Cccc12.cc1cccc2Ccc[C]12.cc1cc[CH]c2Cccc12.cc1cccc2C[CH]cc12%20%7C%5E1%3A0%2C10%2C22%2C39%2C44%2C57%7C&abbr=on&suppressh=true&showtitle=false&zoom=1.3&annotate=none>.
I'm not sure if it's useful to get both of the first two.

There's clearly problems but a work around might be to keep generating why
you get more and filter unique with Canonical SMILES. Out of interest do
you have the code you used to get it to work? I can't get anything but null
for you input structure (can paste it here: https://gist.github.com/).

What precisely do you need, Are you just interested in resonance forms with
a single radical?

With these types of algorithms there are two ways of doing it, local or
global. Local algorithms apply a list of rules (reactions) to transform the
structure (unique gen slow), InChI does this for tautomers. A global
algorithm strips everything of and then puts it back on (unique gen is
fast). There are pros/cons to both but if not coded correctly the local
transformations can miss structures (as I suspect is the case here).

I might be able to adapt a global tautomer backtracking algorithm quite
easily (
http://www.daylight.com/meetings/emug99/Delany/taut_html/slide01.html),
this will be much faster and robust.

John
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
_______________________________________________
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to