-
Notifications
You must be signed in to change notification settings - Fork 35
[ WIP ] Membrane support prototype #1561
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
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1561 +/- ##
==========================================
- Coverage 95.39% 93.23% -2.17%
==========================================
Files 189 189
Lines 16646 16922 +276
==========================================
- Hits 15880 15777 -103
- Misses 766 1145 +379
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
pre-commit.ci autofix |
| mapper = openfe.setup.KartografAtomMapper() | ||
| scorer = openfe.lomap_scorers.default_lomap_score | ||
| network_planner = openfe.ligand_network_planning.generate_minimal_spanning_network | ||
| ligand_network = network_planner(ligands=ligands, mappers=[mapper], scorer=scorer) | ||
| # get the first edge; it automatically displays in a Jupyter notebook | ||
| mapping = next(iter(ligand_network.edges)) |
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.
Consider having the ligand mapping for this edge a fixture and hard coded as we don't want changes in the other tools to cause issues with this test?
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.
Changed this!
| assert isinstance(sampler, MultiStateSampler) | ||
| assert sampler.is_periodic | ||
| assert isinstance(sampler._thermodynamic_states[0].barostat, MonteCarloMembraneBarostat) | ||
| assert sampler._thermodynamic_states[1].pressure == 1 * omm_unit.bar | ||
|
|
||
| # Check we have the right number of atoms in the PDB | ||
| pdb = mdt.load_pdb("hybrid_system.pdb") | ||
| assert pdb.n_atoms == 4667 |
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.
Should we be checking the box vectors as well?
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.
Checking the box vectors now!
| assert pytest.approx(geom[0][0].phi_C0) == -0.745093 * offunit.radian | ||
|
|
||
|
|
||
| class TestA2AMembraneDryRun: |
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.
Do the tests here make the test_dry_run_membrane_complex test redundant they seem to be testing similar things on the same system?
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.
Yes, forgot to remove it, did so now!
jthorton
left a comment
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 looks great @hannahbaumann great job! A few nits but nothing major!
| # - Frequencey as defined in `thermo_settings` | ||
| # Reference: | ||
| # https://livecomsjournal.org/index.php/livecoms/article/view/v1i1e5966 | ||
| if thermo_settings.membrane and not has_solvent: |
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.
Is this the only time the thermo_settings.membrane flag is used?
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.
Yes! I think whether we need it or not may depend on if we have a ProteinMembraneComponent that really only does that, or if we want to have a more general ExplicitSoventComponent that can handle all kinds of things and then we need a way to say that this one has a membrane and needs the MonteCarloMembraneBarostat.
|
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
…y/openfe into membrane_prototype
|
pre-commit.ci autofix |
for more information, see https://pre-commit.ci
…y/openfe into membrane_prototype
|
No API break detected ✅ |
Checklist
newsentryDevelopers certificate of origin