Standardizer action for converting 3D to 2D?

ChemAxon fa971619eb

10-05-2005 16:07:32

Is there a Standardizer action for converting a 3D molecule to a 2D representation? Looks like the clean action might do something like this, but the required syntax is unclear.





Thanks





Tim

ChemAxon fb166edcbd

10-05-2005 19:42:05

Unfortunately Standardizer in the current JChem release (3.0.x) does not allow to specify the cleaning dimension; it uses the original molecule dimension instead, and cleans in 2D if the molecule is in 0D.





This will change in the next release: there will be a Dim parameter to specify the dimension, while the default dimension will be 2.


We have an alpha prerelease already which can be downloaded from:


http://www.chemaxon.hu/download.php?d=/data/download/jchem/test


take


jchemTEST_2005_05_10.tar.gz


or


jchemTEST_2005_05_10.zip





Unfortunately I have just discovered a bug with the action string version,


therefore at the moment only the XML configuration works.





Example:





Code:



standardize -c clean.xml -f mol sasapyrine.mol








I added the Dim attribute just to show its use, to set 2D you can omit it.


The default Clean task performs partial clean: only cleans the atom set changed in the transformations. However, full clean is performed if the original molecule dimension differs from the cleaning dimension. Therefore you can omit this attribute as well.


I attach the simplified config too.





In the next version, this will also give the same result:





Code:



standardize -c "clean:full" -f mol sasapyrine.mol








but this is not working yet in the alpha release.

ChemAxon fa971619eb

11-05-2005 17:49:50

So in the meantime what is the best way to do this programatically?


Something like this?:








Code:
Molecule mol = ...





if (mol.getDim() == 3) {


    mol.clean(2, null, null);


}











Thanks





Tim

ChemAxon fb166edcbd

12-05-2005 12:43:35

Yes, you can also use





Code:
Molecule mol = ...





if (mol.getDim() == 3) {


    mol.clean(2, null);


}








which is practically the same (a 2-argument version).