On Wed, Jul 23, 2008 at 4:55 AM, Rajarshi Guha <rguha@...> wrote:
> Hi, it appears that the MDLV2000 reader assumes that if all Z
> coordinates are 0, then the molecule has no 3D coordinates and the
> coordinates are considered to be 2D.
MDL molfiles can contain 2D and 3D coordinates, but lacks the means of
indicating the coordinates are 2D or 3D.
> However for something like a polcyclic aromatic compound, the
> molecule is meant to be flat and hence the zcoordinates are all 0.
> However perceiving these as 2D coordinates and not 3D is wrong.
Yes, that's an unfortunate confounding.
> Does anybody know why this decision was made? I think it'd be a good
> idea to either
Yes, because treating 2D coordinates as if 3D is even worse, than the
occasional flat molecule is 2D.
> 1) drop the conversion of the 3D coords to null if sum of zcoords = 0
>
> or
>
> 2) keep 3D coordinates and at the same time use them as 2D coordinates
I disagree with both solutions, because of the above argument.
There are two options:
1. Use the IO option to force reading as 3D coordinates
2. Add some logic to detect the outliers
The only outlier are the flat aromatic ring systems (benzene, etc),
where the program decided that it was convenient to have the z
coordinate as zero, instead of using some other 3D orientation where
at least z coordinates are non zero. (Who came up with that brilliant
idea??)
I would be happy with a solution where we do:
1. copy, and strip hydrogens (if any)
2. determine ring atoms using the SpanningTree
3. decide if the molecule might be a flat PAH
This is btw why I like semantic file formats.
Egon


http://chemblaics.blogspot.com/
