Skip to content

Conversation

@hannahbaumann
Copy link
Contributor

@hannahbaumann hannahbaumann commented Oct 9, 2025

Tips

  • Comment "pre-commit.ci autofix" to have pre-commit.ci atomically format your PR.
    Since this will create a commit, it is best to make this comment when you are finished with your work.

Checklist

  • Added a news entry

Developers certificate of origin

@hannahbaumann hannahbaumann self-assigned this Oct 9, 2025
@hannahbaumann
Copy link
Contributor Author

pre-commit.ci autofix

redox_potential: VoltsQuantity | None = Field(
None, description="Simulation redox potential in millivolts (mV). Compatible units will be converted to mV."
)
membrane: bool = Field(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe has_membrane instead

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This flag does feel redundant if we will always have a specific ProteinMembraneComponent that should signifiy to the protocol that we have a membrane system, from what I can tell this is just used to infer what type of barostat to use when making the system generator in the OpenFE protocol. Maybe this should be handled internally there rather than leaving it to the user to change here as well?

Are there anyother membrane specific settings we want the user to be able to controll?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Example where gziping the PDB would make this diff hard


def __init__(self, rdkit: Mol, name: str = "", periodic_box_vectors=None):
super().__init__(rdkit=rdkit, name=name)
self._periodic_box_vectors = periodic_box_vectors
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Guesser for box vectors? Allow manual passing of box vectors?

Copy link
Contributor Author

@hannahbaumann hannahbaumann Nov 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Take Cryst record from PDB 2. Take box from user 3. Guess box vector based on distances (infer_box_vector = True?).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this, but user supplied box will need validators, I'm not sure if this is actually a good idea since users would likely specify the box in many different ways.

"Sm": 2,
"SM": 3,
"Sn": 2,
"SOD": 1,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Put these non-amber ions into different dict. Or maybe we shouldn't support those names?

None, description="Simulation redox potential in millivolts (mV). Compatible units will be converted to mV."
)
membrane: bool = Field(
False, description="Whether to simulate a membrane system and use a MonteCarloMembraneBarostat."
Copy link
Contributor Author

@hannahbaumann hannahbaumann Nov 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or isinstance component check for barostat?

@hannahbaumann
Copy link
Contributor Author

pre-commit.ci autofix

@github-actions
Copy link

github-actions bot commented Jan 6, 2026

No API break detected ✅

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.

4 participants