3D sdf file + more

ChemAxon 60ee1f1328

02-11-2005 11:10:57

I'm looking to save a 3D sdf file from an instantiated molecule, so ...





molhandler.setMolecule (molecule)





molhandler.toFormat (x)





Please tell me what string x is in order that I save a 3D sdf or Mol file.





Also, how can I access the atom number in a molecule, does this data item exist? Also, is partial charge on an molecule.atom part of the standard API or an additional plug in?





Many thanks,





Daniel.

ChemAxon 9c0afc9aaf

02-11-2005 14:27:08

Hi,
Quote:
I'm looking to save a 3D sdf file from an instantiated molecule, so ...





molhandler.setMolecule (molecule)





molhandler.toFormat (x)





Please tell me what string x is in order that I save a 3D sdf or Mol file.
If your Molecule is not in 3D yet, you should determine the coordinates with calling Molecule.clean first:





http://www.chemaxon.com/marvin/doc/api/chemaxon/struc/MoleculeGraph.html#clean(int,%20java.lang.String)





You can determine the current dimensionality by calling Molecule.getDim().





You do not necessarily need a MolHandler for the output, MolHandler.toFormat() is essentially the same as Molecule.toFormat().





If the desired output is SDFile, you should specify "sdf".


You can find more information about the file formats and the corresponding code names at the following page:





http://www.chemaxon.com/marvin/doc/dev/formats.html
width="90%" cellspacing="0" cellpadding="3" border="0" align="center"> Quote:


Also, how can I access the atom number in a molecule, does this data item exist? There is no such data item.


There is a natural ordering of the atoms in the molecule, which may change when atoms are added or removed.


You can call Molecule.indexOf(MolAtom) to determine the index of a specific atom:





http://www.chemaxon.com/marvin/doc/api/chemaxon/struc/CGraph.html#indexOf(chemaxon.struc.CNode)
Quote:
Also, is partial charge on an molecule.atom part of the standard API or an additional plug in?
It is an additional plugin, which requires a license key:





http://www.chemaxon.com/marvin/doc/api/chemaxon/marvin/calculations/ChargePlugin.html





Best regards,





Szilard

ChemAxon 60ee1f1328

03-11-2005 11:22:39

Thanks for your comments.





So in order to save this as an external sdf file I should:





MolExportModule.convert (myMolecule);





And then process the array of strings returned into a file with extension sdf? Will that output a standard 3D sdf file considering myMolecule has format type set to sdf?





Maybe I need to create a 3D sdf version of "MyformatExport"?


Or maybe there is a way to do this with the Exporter class?





Cheers,


Daniel.

ChemAxon 9c0afc9aaf

03-11-2005 12:42:52

Quote:
So in order to save this as an external sdf file I should:





MolExportModule.convert (myMolecule);
No.





To export a single Molecule to SDF string:





Code:
Molecule myMol=...


String sdf=myMol.toFormat("sdf");
Quote:
And then process the array of strings returned into a file with extension sdf?
For multiple molecules I recommend to use MolExporter:





http://www.chemaxon.com/marvin/doc/api/chemaxon/formats/MolExporter.html
width="90%" cellspacing="0" cellpadding="3" border="0" align="center"> Quote: Maybe I need to create a 3D sdf version of "MyformatExport"? No.
Quote:
Or maybe there is a way to do this with the Exporter class?
No. It can only read from database tables.





Please also note that you should pass Molecules with 3D coordinates to the export modules.


If the Molecule has an other dimensionality, you can calculate the 3D coordinates as I have described in the previous post.





Szilard

ChemAxon 60ee1f1328

03-11-2005 13:29:35

Thank you Szilard,





As usual you have managed to give me exactly what I want!





Cheers,


Daniel.

ChemAxon 60ee1f1328

17-11-2005 14:05:47

I know I have asked this quesiton before but find that I need to ask it again. Can ChemAxon provide a description of the approach used to


complete a molecule.clean (3,"S{fine}",null); i.e. what factors/weightings are being considered in order to generate the specific 3D co-ordinates for a given molecule as above?





It was previously indicated that the data does not represent an energy minima conformation, however what interactions if any are being considered in the process? A quick inspection seems to indicate that intra molecular H-bonding is included as a factor in any 3D points generation.





Maybe there is a paper that you can point me towards that describes the approach adopted?

User 65315e6b18

17-11-2005 19:41:03

We use the Dreiding forcefield (S. L. Mayo, B. D. Olafson, W. A. Goddard III., J. Phys. Chem. 1990, 94, 8897) with some minor additions. H-bonds are defined in Dreiding but not used due to the current bond type limitations in Marvin. It is sometimes possible that due to symmetry the final structure is not an energy minimum, but it is considered being a bug. These situations will be addressed in the next version of Clean3D. We are going to publish the method in detail soon. You can find some more info at:





http://www.chemaxon.com/conf/3D_structure_prediction_and_conformational_analysis.pdf


inhibox wrote:
I know I have asked this quesiton before but find that I need to ask it again. Can ChemAxon provide a description of the approach used to


complete a molecule.clean (3,"S{fine}",null); i.e. what factors/weightings are being considered in order to generate the specific 3D co-ordinates for a given molecule as above?





It was previously indicated that the data does not represent an energy minima conformation, however what interactions if any are being considered in the process? A quick inspection seems to indicate that intra molecular H-bonding is included as a factor in any 3D points generation.





Maybe there is a paper that you can point me towards that describes the approach adopted?

ChemAxon 60ee1f1328

18-11-2005 13:32:21

Thanks once again for your quick repsonse.


Will read with interest.


Daniel.

ChemAxon 60ee1f1328

20-12-2005 11:05:46

On cleaning certain structures, originating from a JChem table, using the usual call molecule.clean (3,"S{fine}",null);


I get the error/warning:


"Timelimit exceeded. Try to increase timelimit with option [timelimit]


Clean failed."





Please point out how I can set/control this timelimit option from Java, it does not appear to be obvious from the current api.





Many thanks as always,


Daniel.

ChemAxon 9c0afc9aaf

20-12-2005 16:40:19

Hi,





Please see the following page for the available cleaning options:





http://www.chemaxon.com/marvin/doc/user/cleanoptions.html





"tX set optimization time limit to X ms"





(There is a link here from the API, but unfortunately this is a broken link in the case of JChem. We will fix that soon.)





Best regards,





Szilard

User 65315e6b18

21-12-2005 07:40:47

inhibox wrote:
On cleaning certain structures, originating from a JChem table, using the usual call molecule.clean (3,"S{fine}",null);


I get the error/warning:


"Timelimit exceeded. Try to increase timelimit with option [timelimit]


Clean failed."





Please point out how I can set/control this timelimit option from Java, it does not appear to be obvious from the current api.





Many thanks as always,


Daniel.
Hi Daniel,





molconvert -H3D gives detailed list of options. You can adjust the time limit in seconds as:


molecule.clean (3,"S{fine}[timelimit]600",null); // Increase the time limit to 10 minutes


molecule.clean (3,"S{fine}[timelimit]0",null); // No time limit





Good luck,





Ödön