molfile v3000 bond bug

User 4ceb4fe234

19-02-2009 13:35:55

Hi everybody!





There seems to be a bug somewhere in Marvin and its molfile v3000 support: The following V2 molfile has a either cis/trans bond (the second bond):





== Molfile V2 ==











  Marvin  02190914152D         





  4  3  0  0  0  0            999 V2000


   -3.2705    1.4143    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


   -2.5561    1.8268    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


   -1.8416    1.4143    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


   -1.1271    1.8268    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0


  1  2  1  0  0  0  0


  2  3  2  3  0  0  0


  3  4  1  0  0  0  0


M  END


== Molfile V2 ==





This molfile is displayed correctly. But its v3000 counterpart:








=== MOLFILE V3 ===











  Marvin  02190914162D         





  0  0  0     0  0            999 V3000


M  V30 BEGIN CTAB


M  V30 COUNTS 4 3 0 0 0


M  V30 BEGIN ATOM


M  V30 1 C -6.1049 2.64 0 0


M  V30 2 C -4.7714 3.41 0 0


M  V30 3 C -3.4377 2.64 0 0


M  V30 4 C -2.1039 3.41 0 0


M  V30 END ATOM


M  V30 BEGIN BOND


M  V30 1 1 1 2


M  V30 2 2 2 3 CFG=2


M  V30 3 1 3 4


M  V30 END BOND


M  V30 END CTAB


M  END


=== MOLFILE V3 ===





has a wavy bond instead. The same happens when I use MarvinBeans to render v3000 molfiles to an image.





Can you please give me a hint how to handle molfile v3000 with special bond types in MarvinBeans?





Thanks in advance





Helge

User ef5e605ae6

24-02-2009 12:18:56

Hi Helge,





I cannot imagine how could you produce that V3000 molfile with Marvin because the current version does not support the storage of double cis|trans bonds. CFG=2 means either up|down, that's why you see a wavy bond when you import the file.





The problem is that MDL's documentation does not describe how to store cis|trans. Although page 89 of http://www.mdl.com/downloads/public/ctfile/ctfile.pdf lists the possible values of the CFG attribute,


 0 = none (default)


 1 = up


 2 = either


3 = down


the "cis" and "trans" words do not appear on this page or anywhere in this chapter. Hence the obvious interpretation is that CFG=2 means either up|down bonds and there is no way to store cis|trans.





On the other hand, the best way to store cis|trans in such a format would be with the same CFG option but bond type=2. At least I would do it this way, so I assume that they also did it this way, just forgot to document it.








I corrected Marvin's V3000 import/export, it will work as you expect it in Marvin 5.2.





Peter

User 4ceb4fe234

24-02-2009 13:48:12

Hi Peter,





you are correct; the description of the molfile v3000 format is a little bit unclear at this point.





However, our molfile guru here (he was involved in the development of molfile v3000 some years ago) told me that the CFG=2 option has different meanings, dependend on the bond type - as you guessed.





If the bond type is single CFG=2 should result in a wavy bond, but if it's a double bond this should result in a crossed bond.





You were also correct with your assumption that the molfile v3000 I supplied to you was not generated by Marvin, it was genereated by a program by our molfile guru...





I'm looking forward to Marvin 5.2 to get the "bug" fixed.





Thank you very much for your help!














Helge

ChemAxon 990acf0dec

24-03-2009 16:39:58

Hi Helge,





Marvin 5.2 correctly imports and exports the double either bond, but this bug has not been fixed in the 5.1.6 version.





Best regards,





Akos

User 4ceb4fe234

25-03-2009 05:17:00

Hi Peter, Hi Akos,





I've tested the Import/Export functions of Marvin 5.2 and it seems that the molfiles v3000 are now handled correctly.





Thanks you very much for your help!





Best regards





Helge