Skip to content

Add a physical-plausibility reward (all-atom energy) to complement density-only guidance? #305

Description

@etherealsunshine

Summary

From reading the repo, the guidance currently centers on real-space density agreement with no explicit physical-plausibility term in the loop. I wanted to get thoughts on adding an all-atom energy/plausibility reward as a RewardFunctionProtocol.

Current implementation

What I'm seeing in the current code

  • The only steering reward is core/rewards/real_space_density.py (differentiable real-space density, via the qFit scattering machinery).
  • The only "clash" logic is in metrics/sidechain_metrics.py, as a post-hoc evaluation metric, which isnt part of steering/selection.

Proposed enhancement

  • v1: a plausibility reward implementing RewardFunctionProtocol, backed by an all-atom score (e.g. Rosetta ref2015). Since it's non-differentiable, it'd suit FK/SMC steering (evaluate-and-resample) and/or post-hoc re-ranking, rather than gradient guidance.
  • v2 : a differentiable, GPU-native learned energy (e.g. an energy-based transformer) so the same signal can be used for gradient guidance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions