-
Notifications
You must be signed in to change notification settings - Fork 10
[ WIP ] Membrane support prototype #635
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
| redox_potential: VoltsQuantity | None = Field( | ||
| None, description="Simulation redox potential in millivolts (mV). Compatible units will be converted to mV." | ||
| ) | ||
| membrane: bool = Field( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe has_membrane instead
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Take Cryst record from PDB 2. Take box from user 3. Guess box vector based on distances (
infer_box_vector = True?).
There was a problem hiding this comment.
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, |
There was a problem hiding this comment.
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." |
There was a problem hiding this comment.
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?
|
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
…nto membrane_prototype
|
No API break detected ✅ |
Tips
Since this will create a commit, it is best to make this comment when you are finished with your work.
Checklist
newsentryDevelopers certificate of origin