Dear all,
I think on the code generating many possible conformers. The first task is to get the conformers along one bond. The question is how transform XYZ coordinates after dihedral change. I am sure that the task is trivial and there is a solution. Any help would be very appreciated.
Personally, I believe there are two ways:
1) Z-matrix. First, from the given XYZ file we need to generate Z-matrix. Then, in this z-matrix we need to find the dihedral corresponding to the bond we want to rotate about. Then, after change of this dihedral we can generate the XYZ. The problem is that the Z-matrix has to be constructed in a very smart way to really follow the chemical connectivity. E.g. I tried to use babel - I did not like Z-matr. Also, MOPAC is not good. The molden generates very good Z-matr, but I do not how to use molden in the comad line mode. In fact from molden I need only the routine which transforms XYZ into Z-matr. Any experience?
2) Another way is following. We need to know the connectivity. Then, one part of the molecule is remained unchanged while another one is transformed along the vector corresponding to the rotable bond.
Any ideas??? I do not want in the graphical mode. I am sure that there are some ready open-source solutions for the similar problems.
transform xyz after dihedral change
transform xyz after dihedral change
Кто смел тот и съел
Re: transform xyz after dihedral change
Check for example this topic viewtopic.php?f=71&t=85507
programs like tinker, avogadro and many others already have such a feature, something like your algorithm is already implemented elsewhere and will need at least some molecular mechanics to find minima, so information about connectivity will be necessary anyways, than 2) is a bit more straightforward way.
programs like tinker, avogadro and many others already have such a feature, something like your algorithm is already implemented elsewhere and will need at least some molecular mechanics to find minima, so information about connectivity will be necessary anyways, than 2) is a bit more straightforward way.
Make quantum chemistry, not war
Re: transform xyz after dihedral change
Thank you! The problem is that if you have a transition metal complex all molecular mechanics-related things crash immediately since most of the force field parameters are not defined (or even worse - produce strange structures). Moreover, I think it should be straightforward to implement the rotation of the group along the bond. I think I will go for the strategy 2.
The only thing is how to define which part of the molecule belong to a certain group of atoms based on the connectivity matrix. Just to illustrate: we have R1 - C1 - C2 - R2. I know that I have a rotation along the bond C1 - C2, and I know that the coordinates of groups R1, C1, C2 will remain unchanged during the rotation. On the other hand the coordinates of the atoms belonging to the group R2 will have to be transformed. The central question is how based on the connectivity matrix we determine whether a certain atom belongs to the group R2? Of course you can write a loop of the loops checking for all the connectivities but I do not think this is the right thing.
I am sure that the algorithm exists, just me being far away from this business.
The only thing is how to define which part of the molecule belong to a certain group of atoms based on the connectivity matrix. Just to illustrate: we have R1 - C1 - C2 - R2. I know that I have a rotation along the bond C1 - C2, and I know that the coordinates of groups R1, C1, C2 will remain unchanged during the rotation. On the other hand the coordinates of the atoms belonging to the group R2 will have to be transformed. The central question is how based on the connectivity matrix we determine whether a certain atom belongs to the group R2? Of course you can write a loop of the loops checking for all the connectivities but I do not think this is the right thing.
I am sure that the algorithm exists, just me being far away from this business.
Кто смел тот и съел
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 61 гость