Function to get unsatisfied polar atoms

Case number:699969-2011842
Opened by:ichwilldiesennamen
Opened on:Wednesday, July 7, 2021 - 17:22
Last modified:Friday, July 9, 2021 - 12:54

I would like a function that easily outputs which bondable atoms of a sidechain of a residue are unsatisfied.
The reason for this is that with this it would facilitate to make higher-quality HBond networks automatically. Sidechains in the vicinity would only have to be mutated to the inverse-polarity sidechains. This could save time and add some intelligence rather than try completely random mutations. In existing nets this could be used to terminate open atoms with specific additional HBonds to these specific open atoms. The ultimate goal would be to fully-automatic create fully satisfied HBnets. The logic behind this is probably quite complicated but it might be worthwhile to give it a shot.
Or is there such a function and I haven't found it yet?
I know that a function is upcoming to output BUN-atoms in filter.GetData() which would also be great. But in addition I would like this function which would be helpful and sort of more general because it would indicate ALL open atoms of a sidechain and not just buried ones.
Of course such a function would be implementable with a "look-up-table" which for every AA stores the bondable atom indices and check with getHBonds() which are satisfied already but so far I have not taken the effort to try this.
Thanks in advance, iwdn

(Wed, 07/07/2021 - 17:22  |  2 comments)

joshmiller's picture
User offline. Last seen 7 hours 6 min ago. Offline
Joined: 09/08/2017
Groups: Foldit Staff

Hi ich,

You may be able to get this information through filter.GetData for HBNets. I believe the HBNet filter data will tell you every hydrogen bond in the puzzle, so then you cross-reference that with all of the bondable atoms of all sidechains and subtract the ones that have bonds. Might take a bit of work, but it's a potential workaround while we consider this suggestion.


Joined: 03/28/2020
Groups: Go Science

Hello Josh,
yes, I think that I will have to go in this direction since I understand that no specific function is available (yet?) to do this directly.
I guess I will go into the direction of using a look-up table of bondable atoms for each AA instead of filter.getData() since I would like to keep it general and applicable to puzzles that do not have HBnet-filter in it. The atoms to subtract are available in structure.getHBonds() for every puzzle anyway so that would make sense to me. But it's good to know that I will have to do this workaround to do this. Would have been much wasted effort to find out later that such a function already existed :) And yes, all of this will probably be quite a bit of work but it could be worth it.


Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, Boehringer Ingelheim, RosettaCommons