Open duerrsimon opened 2 years ago
Thanks for opening your first issue here! Be sure to follow the issue template!
For a moment, I thought the reformulation
Instead of an iteration on all single bonds (section 9.2) how to constrain
confab
to act on a specific bond?
might describe what you aim for. Within reason, the larger the protein and increasing number of flexible bonds, the more this approach could save computational work ahead.
Does the reformulation match your intent? (Maybe suitable for a post on https://mattermodeling.stackexchange.com/).
@nbehrnd thanks for your comment. I do not really get how confab is related to the problem here?
The SetTorsion function works in the vast majority of cases as intended and just rotates the specifc dihedral (here chi1). In maybe 2 of 100 cases I will produce faulty structures (with systems that only differ in the coordinates and residues/atoms being equal). I double checked that the atoms we are choosing are correct and I also reversed the order of atoms for SetTorsion but nothing gives me a satisfactory result.
I also tested this in openbabel 2.4.1 and the problem exists there too.
I am not an openbabel expert but upon reading ObRotorList Documentation there is an argument for fixed atoms but I am not sure how to use it. Any pointers on how to use this? Perhaps if the bb_nitrogen atom is fixed the rotation would work correctly by rotating the sidechain and not the backbone atoms.
I also checked what happens in other programs. I I do the same change in e.g PyMol the dihedral is correctly changed changed so this seems like a problem specific to OpenBabel.
Any pointers on how to use this?
No, I don't have pointers to offer because so far, my use of OpenBabel for the generation of conformers with confab iterated over all single bonds. Count me out.
Environment Information
Open Babel version: Open Babel 2.4.1 3.1.0 and 3.1.1 Operating system and version: Linux
Expected Behavior
I want to change the chi1 torsion angles in a protein sidechain using
SetTorsion
Only the chi1 dihedral should change.Actual Behavior
Openbabel also changes some of the backbone dihedrals and thus completely destroys the structure. The only difference between the input pdb files are a few coordinates.
Steps to Reproduce
I made a reproduction here which also allows to view the structures: https://colab.research.google.com/drive/1JU7UA1uRWsS_WYqvMjQpdf4EJ5V6VaKz?usp=sharing