Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Determine optimal Symmetry Group axes given subunit (repeats) alignment #75

Open
lafita opened this issue Feb 4, 2016 · 1 comment
Open

Comments

@lafita
Copy link
Collaborator

lafita commented Feb 4, 2016

The problem is described as follows:

Given a symmetry group (Cn,Dn,T,O,I) and the structural alignment (residue equivalencies)
between the symmetric units (subunits, repeats), find the symmetry group axes that minimize the RMSD between the superposition (applying the group axes to each unit) of all the units.

The number of parameters to determine is the number of entries of the 4D transformation matrix of the generators of the symmetry group (12). Cyclic symmetry has a single generator and the other symmetries have two generators, but there are some restrictions that make parameter dependencies:

  • The order of symmetry is known, so the angle of the rotation is known.
  • The second generator is perpendicular to the first.

An analytical solution to the problem might be hard, because the generators can be applied multiple times (which squared parameters appear).

@lafita lafita changed the title Determine optimal Symmetry Group axes given repeats(subunit) alignment Determine optimal Symmetry Group axes given subunit (repeats) alignment Feb 5, 2016
@sbliven
Copy link
Collaborator

sbliven commented Feb 22, 2016

So one approach would be to define this as a nonlinear optimization problem.

Each symmetry group is characterized by one or two generators. Each generator has three degrees of freedom (e.g. euler angles or unit quaternion components), although the second generator may be constrained to certain angles relative to the first. So there are at most six rotational degrees of freedom plus three translational degrees (for the origin placement). Thus, all elements of the symmetry group can be written as functions of at most nine variables. These functions are at a minimum a bounded-order polynomial (since elements are products of the generators), but would also include trigonometric terms for an euler-angle approximation. It may be possible to avoid this using clever selection of variables (maybe using quaternions).

So we have some function G_i(a_1,...,a_9) for each group element, which is at a minimum polynomial. Our final objective function, the average RMSD after applying each element to the corresponding atoms in the alignment, is also a (trigonomial) polynomial over those points. We could in principle write out this function ahead of time for each symmetry group (or use a program like sage-math to generate it).

I know that nonlinear optimization is very hard, but it's possible it would be quite feasible for our problem. This is especially true since we would have a very good initial guess. We should check out if there are any Java libraries that use this.

@sbliven sbliven added this to the CeSymm-3.0 milestone Jun 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants