molconvert and conformers

User 694b0b0519

28-07-2005 13:03:13

I've looked in the API for something to calculate conformers out of a molecule, and only found molconvert to do that.


Is there another way to do so ?


Is there a way to get more than one conformer per molecule ?





thanks for your time.

User 65315e6b18

29-07-2005 03:58:08

The Marvin molecule class has a method called "clean":


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


The method takes 2 (or 3) parameters, the number of dimensions (3 for conformer search) and the option string which can be the same (xxx) than what you used for molconvert (as molconvert -3:xxx ...).





You can find some additional info at:


http://www.chemaxon.com/forum/ftopic123.html&start=0&postdays=0&postorder=asc&highlight=conformer





I hope this helped.





Best wishes,





Ödön
josse wrote:
I've looked in the API for something to calculate conformers out of a molecule, and only found molconvert to do that.


Is there another way to do so ?


Is there a way to get more than one conformer per molecule ?





thanks for your time.

User 65315e6b18

31-07-2005 17:05:20

Since the API for taking the conformers out from Clean3D is not documented I created a small program for that purpose. The attached program I hope easy to understand and explains the best current way of reaching the calculated conformers from the API.
josse wrote:
I've looked in the API for something to calculate conformers out of a molecule, and only found molconvert to do that.


Is there another way to do so ?


Is there a way to get more than one conformer per molecule ?





thanks for your time.

User 694b0b0519

01-08-2005 07:29:28

Thanks a lot, gonna try it right away :)

ChemAxon 43e6884a7a

01-08-2005 07:56:57

We plan to create a better GUI and API for conformer generation. It should come in Marvin 4.2. Sorry about the complications.

User 694b0b0519

01-08-2005 08:58:57

Hum, got a small problem with Clean3D, as i don't have access to its doc (obviously).


I can configure Clean3D options as i can for the clean method, mainly i would like to limit the number of conformers calculated.


Also, each time i use Clean3D, got those messages :


Unknown Clean3D option: prehydrogenize


Unknown Clean3D option: timelimit





i don't know if those options are not implemented yet, or if that's because i don't specify them.





Thanks for your help.

User 65315e6b18

01-08-2005 09:08:21

Hi,





Please, make sure you have the latest MarvinBeans installed. I used the latest release to test my program. Also, put the MarvinBeans.jar into the classpath. Also, you can find in the program, how to limit the number of conformers, however, the best way is to have larger numbers for [fm]... and limit the number of conformers to actually use. You can get the help for the Clean3D options via "molconvert -H3D".





Best wishes,





Ödön
josse wrote:
Hum, got a small problem with Clean3D, as i don't have access to its doc (obviously).


I can configure Clean3D options as i can for the clean method, mainly i would like to limit the number of conformers calculated.


Also, each time i use Clean3D, got those messages :


Unknown Clean3D option: prehydrogenize


Unknown Clean3D option: timelimit





i don't know if those options are not implemented yet, or if that's because i don't specify them.





Thanks for your help.

User 694b0b0519

01-08-2005 09:59:41

Still have problems with this ;
Quote:
Also, you can find in the program, how to limit the number of conformers, however, the best way is to have larger numbers for [fm]... and limit the number of conformers to actually use.
in the doc of the program you sent me, [fm] is used to limit the number of conformers, yet it don't work for me, i can't manage to limit the number, all the conformers of the molecule are calculated whatever number i put in [fm] parameters.





Another thing that i don't understand is that those options are used by the 1st call to the clean method ("inMol.clean( 3, caOptions );") , but it s the Clean3D function that calculate the array of conformers ("Molecule[] outConformers = Clean3D.calcConformers( inMol );").





I need to calculte only the 1st conformer (lowest energy) for each molecule in my program, and it would save a lot of ressource if i could only calculate this one and not the whole set.

User 65315e6b18

01-08-2005 10:40:25

Hi,





A have made a little change in the code, now it should work well.


I think - it might not clear from any documentation - but the clean method in 3D always runs the same code and the conformational analyzis just use a bit different parameters by default and can output more than 1 conformer, otherwise, the simple clean method should provide the lowest energy conformer from the visited pool of conformers. The maximal number of visited conformers can be limited by the "[fm]..." option. If you omit the "[ca]" part from the option string it will only provide a single coordinate set (for inMol) but still working with multpile conformers during the process. Larger limit for maximal number of conformers might result in a lower energy conformer but also might increase the computational time considerably. The calcConformers call does not make any computation just extracts the already computed conformers after the Clean3D call (inMol.clean(3,...). I hope my comment made things clear.





Best wishes,





Ödön
josse wrote:
Still have problems with this ;
Quote:
Also, you can find in the program, how to limit the number of conformers, however, the best way is to have larger numbers for [fm]... and limit the number of conformers to actually use.
in the doc of the program you sent me, [fm] is used to limit the number of conformers, yet it don't work for me, i can't manage to limit the number, all the conformers of the molecule are calculated whatever number i put in [fm] parameters.





Another thing that i don't understand is that those options are used by the 1st call to the clean method ("inMol.clean( 3, caOptions );") , but it s the Clean3D function that calculate the array of conformers ("Molecule[] outConformers = Clean3D.calcConformers( inMol );").





I need to calculte only the 1st conformer (lowest energy) for each molecule in my program, and it would save a lot of ressource if i could only calculate this one and not the whole set.