Skip to content

Residue rotation and UA translation axes for terminal residues - #416

Open
ioanaapapa wants to merge 19 commits into
mainfrom
399-terminal-residues
Open

Residue rotation and UA translation axes for terminal residues#416
ioanaapapa wants to merge 19 commits into
mainfrom
399-terminal-residues

Conversation

@ioanaapapa

Copy link
Copy Markdown
Collaborator

Summary

Terminal residue axes are no longer dependent on atom indices. The edge atom (i.e. heavy atom bonded to neighbour residue) is chosen alongside the average position of heavy atoms bonded to the edge atom and average position of all other heavy in the residue as the three points used for determining the axes. The centre of rotation (at res level)/translation (at UA level) and axes are then computed from the three points similar to the case of non-terminal residues.

Changes

Terminal residue treatment was changed

  • Residue rotation and UA translation axes for terminal residues no longer use atom indices to emulate the backbone for non-terminal residues.
  • The edge atom (E1 - red), defined as the heavy atom bonded to a neighbour residue is identified. All heavy atoms bonded to the edge atom (purple) are identified and their average position (C) is used as the third point for obtaining the centre of rotation. All other heavy atoms in the residue (green) are identified and used as the equivalent to the second edge(E2).
image
  • The centre of rotation (O - blue) is the point where the perpendicular from the C (purple) meets the E1 (red)-E2 (green) vector.
  • x-axis is along the centre of rotation (O) - first edge(E1) vector
  • y axis is along the centre of rotation (O) - average position of bonded atoms (C) vector
  • z-axis is perpendicular to the two

Edge cases have been introduced

  • If there are no other heavy atoms in a terminal residue, other than the edge atom and those bonded to the edge atom, the centre of rotation is the edge atom and axes are defined as: x-axis is along the edge-bonded vector, y axis is an arbitrary perpendicular axis and z-axis is perpendicular to the two. (This uses the get_custom_axes function and is the same as case2 in get_bonded_axes for UAs)
  • If the two edge atoms in a non-terminal residue are bonded (there is no backbone atom between them), the centre of rotation is located at their average position and axes are defined as: x-axis is along the centre-of-rotation-first edge vector, y-axis is arbitrary perpendicular and z-axis is perpendicular to the two.

Tests for terminal residues and edge cases

  • Unit tests for terminal residues have been updated to reflect changes.
  • New tests for the edge cases covered have been introduced

Documentation

  • Vibrational entropy in theory section of the documentation was modified to reflect changes.

Impact

  • This closes issue [Feature]: Axes for terminal residues #399.
  • Terminal residue treatment is no longer dependent on atom indexing, which is arbitrary. The same result would be obtained using topologies of the same molecule with different indexes.
  • Residue rovibrational results are now slightly higher compared to total entropy results obtained using the index-based backbone. No signficant difference observed for UA transvibrational results. (only treatment of terminal residues differs in table below)
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant