Question: Recalculate Atomic Coordinates After Changing Dihedral Angles
3
gravatar for Daniel Standage
7.2 years ago by
Daniel Standage3.8k
Davis, California, USA
Daniel Standage3.8k wrote:

Disclaimer: I'm taking a class to get some experience with structural informatics and this question is related to an assignment for that class.

Given a PDB file, I have written a program that will calculate various lengths and angles from the atom coordinates provided in the file. I now need to select a certain amino acid, set its phi and psi angles to 0, recalculate the atomic coordinates for all affected atoms, and check for steric clashing.

I'm struggling conceptually with how to recalculate atomic coordinates. What types of concepts do I need to understand to tackle this type of question?

coordinates protein • 3.9k views
ADD COMMENTlink written 7.2 years ago by Daniel Standage3.8k
1
gravatar for Daniel Standage
7.2 years ago by
Daniel Standage3.8k
Davis, California, USA
Daniel Standage3.8k wrote:

After some research, I ended up using Rodrigues' rotation formula. Given a vector v, an axis of rotation k, and a (right-handed) angle θ, the new rotated vector is calculated using the following formula.

v_rot = v cos(θ) + (k x v)sin(θ) + k (k · v)(1 - cos(θ))

In this case, the axis of symmetry k is the bond around which I'm rotating, the angle is θ is -phi or -psi (I'm setting the angles to 0), and the rotation is applied to every vector v subsequent to the axis of rotation.

ADD COMMENTlink written 7.2 years ago by Daniel Standage3.8k
0
gravatar for dimkal
7.2 years ago by
dimkal730
United States
dimkal730 wrote:

Daniel, i'd start looking at rotation matrices, which have to be applied to the part of the structure affected by the dihedral angle change.

Dima

ADD COMMENTlink written 7.2 years ago by dimkal730
0
gravatar for Flow
6.8 years ago by
Flow1.5k
Flow1.5k wrote:

It is much much easier than all that. You just learn some basic pymol/python scripting and just using "set_dihedral", you do not have to worry about the rest, pymol does it.

ADD COMMENTlink written 6.8 years ago by Flow1.5k

I was aware of this function before asking the question. For this class, I was required to actually understand what I was doing on a mathematical level. Plus, the program I wrote was in C (personal choice), so that wouldn't have helped much.

ADD REPLYlink written 6.8 years ago by Daniel Standage3.8k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1406 users visited in the last hour