Unvoluntary 3D conversion in Standardizer?

User e47fc0b649

13-10-2005 13:32:54

Hello,


I have an error for some of my molecules when I use the Standardizer with the configuration file Std_test.xml:





<?xml version="1.0" encoding="UTF-8" ?>


- <StandardizerConfiguration schemaLocation="standardize.xsd">


- <Actions>


<Removal ID="keepOne" Method="keepLargest" Measure="atomCount" Optional="false" />


<Action ID="Aromatize" Act="aromatize" Optional="false" />


<Action ID="Dehydrogenize" Act="dehydrogenize" Optional="false" />


<Reaction ID="enamine" Structure="[C:2]=[C:1][N:3][H:4]>>[H:4][C:2][C:1]=[N:3]" Type="string" Exact="false" Optional="false" />


<Action ID="Dearomatize" Act="dearomatize" Optional="false" />


</Actions>


</StandardizerConfiguration>





The error seems to be due to the enamine Reaction.


I have grouped all these molecules in a file Molecules.sdf and I have used the command line below with Standardizer 3.1.1:





standardize Molecules.sdf -c Std_test.xml -f sdf -o Molecules_std.sdf





The message error for each molecule is:





java.lang.NullPointerException


at chemaxon.struc.CGraph.indexOf(CGraph.java:530)


at chemaxon.marvin.modules.Clean2D.fixBranch(Clean2D.java:1866)


at chemaxon.marvin.modules.Clean2D.calcInitGeom(Clean2D.java:633)


at chemaxon.marvin.modules.Clean2D.startClean(Clean2D.java:415)


at chemaxon.marvin.modules.Clean2D.modfunc(Clean2D.java:249)


at chemaxon.struc.MoleculeGraph.partialClean(MoleculeGraph.java:2557)


at chemaxon.reaction.Standardizer.performClean(Standardizer.java:735)


at chemaxon.reaction.Standardizer.standardizeComponent(Standardizer.java:1322)


at chemaxon.reaction.Standardizer.standardize(Standardizer.java:1362)


at chemaxon.reaction.Standardizer.run(Standardizer.java:1461)


at chemaxon.reaction.Standardizer.main(Standardizer.java:1558)





and suprisingly, I saw in the viewer that the molecules in Molecules_std.sdf are in 3D!


I was even more surprised that the problem not arise if I use the SMILES output format. The command line I used was:





standardize Molecules.sdf -c Std_test.xml -o Molecules_std.smiles


molconvert -2:O1 sdf Molecules_std.smiles -o Molecules_std_fromSMILES.sdf





Could you help me to understand this phenomenon?


Thanks, best regards


Samia ACI

ChemAxon fb166edcbd

13-10-2005 14:42:00

This seems to be a clean bug in the latest release that has been fixed in our main development branch. The problem is in the part which performs a partial clean to recalculate the coordinates of atoms changed by Standardizer. The idea is to keep all other (non-changing atom) coordinates by default.





Since the SMILES format is a 0-dimensional format, there is no clean if your output is SMILES. Then molconvert -2 performs a full clean which does not contain this bug.





As a workaround, add a full clean task at the end of your config. In this way all coordinates will be recalculated but there will be no error:





Code:



<Clean Type="full"/>








I attach the modified configuration XML.


The bug will be fixed in the next release.

User e47fc0b649

13-10-2005 14:56:27

Thanks a lot for your answer.


Best regards


Samia ACI