User 25d107bd42
24-04-2013 13:42:37
Hi, having now Marvin 5.12.3 I found problems reading mol-files produced by another program.
Reading the following mol-file leads to an ERROR message
First line Ethene
Second line
Third line
6 5 0 0 0 0 0 0 0 0 0 0
1.3303 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
-0.0003 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1.9036 0.9243 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
1.9036 -0.9243 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
-0.5736 0.9243 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
-0.5736 -0.9243 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0
1 2 2 0 0 0 0
1 3 1 0 0 0 0
1 4 1 0 0 0 0
2 5 1 0 0 0 0
2 6 1 0 0 0 0
ERROR:
Cannot read molecule.../ethene.mol. null
STACK TRACE:
chemaxon.formats.MolFormatException: Invalid header block.
at chemaxon.marvin.io.formats.mdl.MolImport.readCtab(MolImport.java:865)
at chemaxon.marvin.io.formats.mdl.MolImport.readMol0(MolImport.java:749) and so on
After some analysis I found: The forth line should look like
6 5 0 0 0 0 999 V2000
May be it was in the definition of mol-files, but when programs do not produce 999 and V2000 (and the number of zeros after the
number of atoms and bonds is often also different) then we have problems transferring molecules.
So I have three questions:
1) What is the meaning of 999 and V2000 ?
2) Using Marvin 5.11.4 there were no problems. Why has Marvin changed this input policy ?
3) Does MarvinSketch need these two values ? It's OK, when Marvin writes the two values in the output. But is it necessary to check the input and to cancel reading the input mol file?
Best regards, Hans-Ulrich