Hello All,
Vincent Le Guilloux wrote:
> Quoting Rajarshi Guha <[email protected]>:
>
>> On Nov 3, 2009, at 11:06 AM, Vincent Le Guilloux wrote:
>>
>>
>>> When I load the same molecule but with all bond types defined at 4
>>> (aromatic), the CDK will directly set the aromatic flag to 1, but will
>>> define all bonds as SINGLE bonds.
>>>
>>> Now if I pass a benzene molecule with bond types defined at 4 through
>>> the CDK, and if I regenerate the SDF file without hydrogen, I will
>>> get... cyclohexane. If I add explicit hydrogen, I will get something
>>> that could be interpreted as benzene missing all double bonds, or
>>> cyclohexane missing one hydrogen for each carbon atom. Bellow is given
>>> a small snippet example.
>>>
>>> Maybe I'm doing something wrong, in which case I'm talking for
>>> nothing. If not, as such bond definition is not that uncommon (at
>>> least to my modest knowledge), I think this is an important issue.
>>>
>> Indeed, this is an important issue and a number of bugs in different
>> subsystems occur because of this. Even, two molecules input from the
>> same SMILES but one is aromatic and one is kekule, will differ - even
>> after aromaticity detection on both of them (because the single/double
>> bond assignments are not fixed)
>>
>> The problem is that if a method (needs to) looks at bond order then it
>> will be confused due to this.
>>
>
> Yes but they will also perceive wrong bond order. Setting bond orders
> to 1 when a bond is aromatic is just wrong to my knowledge, and
> dangerous as illustrated.
>
>
>> I suppose they should also be updated to check aromaticity, if it's relevant.
>>
>>
>
> I think so.
>
> In such cases, the bond order should be set to 'aromatic' instead of
> single, even if it's not really a bond order, strictly speaking. As
> you said, methods working on bond types should then check for
> aromaticity.
>
> And this would fix the problem of the output, see bellow.
>
>
>>> Just one question beside this discussion: why not putting the aromatic
>>> bond flag in the output in such cases?
>>>
>> After doing aromaticity detection, aromatic bonds are marked as such.
>> I'm not sure I understand what you mean hear.
>>
>>
>
> I'm talking about SDF output:
>
> If the user gives an aromatic structure as input, with aromatic bonds
> defined using the aromatic flag (4) instead of single/double bonds, as
> there is currently no satisfying way to "dearomatize" a molecule, the
> SDF output should define the output aromatic bonds with this same
> flag, instead of single order bond, which, as illustrated, transforms
> the input structure to another one at SDF output.
>
> This is, I think, a much better solution than setting all bonds to single.
>
>
This has been discussed many times, especially since it was decided to
remove "aromatic" bond type in CDK core and introduce aromatic flag.
(one of my recent finding is HINReader doesn't work properly when
reading aromatic bonds).
>>> I also would have one suggestion on how to improve the CDK: defining a
>>> clear (customizable), documented standardization protocol which would
>>> include issues like aromatization/dearomatization, ionization,
>>> tautomerization, 2D/3D cleaning... The best example to my knowledge is
>>> the chemaxon's standardizer:
>>> http://chemaxon.com/jchem/doc/user/Standardizer.html
>>>
>> Indeed. This is useful and necessary. There is some code here at the
>> NCGC that can be used for this. It is based on ChemAxon code, but
>> should be convertible to the CDK (though it'll require some additional
>> CDK methods to be implemented)
>>
>>
>
> The chemaxon's code isn't opensource. To my knowledge there is no
> equivalent to the chemaxon standardizer as free/opensource tools,
> though it's an essential issue. I really think this would be a
> valuable feature to the CDK.
>
> But, so much to do, so little time... :)
>
Having struggled with this issue many times, I am definitely interested
in contributing to a "CDK standardizer".
As a start, the algorithm for dearomatization should be improved. Are
there any pointers or published algorithms one can start with?
Best regards,
Nina Jeliazkova
>
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now. http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Cdk-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/cdk-user
>
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user