Closed jflat06 closed 1 year ago
Unlike omega, this is an entirely new score term. Is there any additional work that needs to be done to hook this into everything? I did a grep for omega and it seemed like all other code using omega was using the old omega.
Patch coverage: 99.60
% and project coverage change: +0.05
:tada:
Comparison is base (
add620a
) 95.07% compared to head (2d128a7
) 95.13%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
@fdimaio Shortening the disulfide params lead to a change of:
E AssertionError:
E Not equal to tolerance rtol=1e-05, atol=1e-05
E
E Mismatched elements: 10 / 10 (100%)
E Max absolute difference: 0.00015092
E Max relative difference: 4.633452e-05
E x: array([[-3.257311, -3.257311, -3.257311, -3.257311, -3.257311, -3.257311,
E -3.257311, -3.257311, -3.257311, -3.257311]], dtype=float32)
E y: array([[-3.25716, -3.25716, -3.25716, -3.25716, -3.25716, -3.25716,
E -3.25716, -3.25716, -3.25716, -3.25716]], dtype=float32)
So pretty minimal. Does this look OK?
Great, I'll wait for the checks to pass and then merge if they check out.
I just changed the interface to the resolve_uaid function in the rama PR (#252) to take UAIDs as a struct instead of as a TensorAccessor. That doesn't affect this PR as far as I can tell. The dislufide_pose_score.impl.hh file does include uaid_util.hh, but doesn't invoke the functions it contains. It most certainly will affect the cart-bonded term, though, so I wanted to give you the head's up, @jflat06
I just changed the interface to the resolve_uaid function in the rama PR (#252) to take UAIDs as a struct instead of as a TensorAccessor. That doesn't affect this PR as far as I can tell. The dislufide_pose_score.impl.hh file does include uaid_util.hh, but doesn't invoke the functions it contains. It most certainly will affect the cart-bonded term, though, so I wanted to give you the head's up, @jflat06
I don't think this actually affects the cart-bonded term. Cart-bonded forgoes the UAID system because it needs access to non-mainline atoms coming from a connection. So part of the implementation was adding a 'paths starting from connection' data structure to each block type.
Introduces the disulfide bond score term.
The EnergyTerm itself down into the C++ code should be complete.
Limitations:
The loading of the actual disulfides from the test fixtures, all the way up to the annotation of the blocks may require further work in the future, depending on how we want to handle this.
Currently the way of loading and annotating the disulfides in the block types allows for only 1 disulfide per block type. If we develop a system for describing multiple disulfide conenctions per block type, only the annotation step will need to change. Everything else in the EnergyTerm should work fine with multiple disulfide bonds per block.