Skip to content

Md decoys#15

Open
ftclark3 wants to merge 20 commits intocabb99:optimizationfrom
ftclark3:md_decoys
Open

Md decoys#15
ftclark3 wants to merge 20 commits intocabb99:optimizationfrom
ftclark3:md_decoys

Conversation

@ftclark3
Copy link

@ftclark3 ftclark3 commented Jul 10, 2025

Description

The commit history is a little messy, but I think the end result is cleaner. I can clean up the history if you want.

In summary, I did the following:

  • Add a setter method for the pdb_structure attribute of the AWSEM class that recalculates the pdb_structure-dependent attributes without reinitializing the entire class. This allows you to cleanly iterate over frames of a trajectory (as represented by Structures) and modify your AWSEM 's conformation
  • Extract part of the AWSEM class into a new class, AWSEMBase
  • Write a new class, AWSEMIndicators, that has all the essential attributes and methods of AWSEM but can be initialized from an array of indicator functions
  • Write a new class, DecoyEnsemble, that computes statistics of the distributions of each indicator function over a set of conformers. Technically, this involves loading indicator functions for a set of frames as described in point (1), then computing the average or variance over frames. Each statistic is its own method, like DecoyEnsemble.average(self) and DecoyEnsemble.variance(self) , that runs only when called by the user. If necessary, I can have DecoyEnsemble.init write the indicator arrays in chunks to a file, and the average and variance methods can read them in chunks. The average/variance indicator arrays can then be passed into AWSEMEnergy just like the native conformer. The complete Wolynes foldability criterion would then be coded as (AWSEMEnergy(native) - AWSEMEnergy(average)) / AWSEMEnergy(std), which should only be about 3x more expensive than just optimizing the native energy, compared to a much bigger factor (don't remember exactly how big) for the current variance estimation

Todos

Notable points that this PR has either accomplished or will accomplish.

  • Supports accurate and efficient MD decoy-based protein design as described above

Status

  • Ready to go

@ftclark3
Copy link
Author

This also opens up the possibility of md decoy-based frustration calculations

@ftclark3
Copy link
Author

will revisit this soon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant