wiederm / endstate_correction

Endstate corrections from MM to QML potential
https://wiederm.github.io/endstate_correction/
MIT License
10 stars 1 forks source link

Allow switches to start from NpT trajectories #63

Closed wiederm closed 1 year ago

wiederm commented 1 year ago

Description

Allow switches starting from pool of conformations that have varying box vectors. In the process of preparing for these changes we also realized that fields in the result/protocol dataclass don't use clear language to specify the direction of the switching and what pool of samples is used. This is also addressed in this PR.

Todos

Status

wiederm commented 1 year ago

@xiki-tempula , can you take a look at the test that is failing? It's in the part of the code that interactions with BSS. As soon as it is passing I am happy to merge this PR.

xiki-tempula commented 1 year ago

I think the test is failing as there is some problem with finding the cuda. I suggest pin it to cudatoolkit==11.4.2? As openMM can have trouble with latest version of CUDA 11.8

wiederm commented 1 year ago

I am not sure why it tries to use CUDA tbh, it should fall back to the CPU platform when running on GH. I will investigate. Locally all tests are passing with the exception of the BSS tests.

xiki-tempula commented 1 year ago

I think it is this line https://github.com/wiederm/endstate_correction/blob/box_changes/endstate_correction/tests/test_perform_endstate_correction.py#L65 Is it that direction is no longer a keyword in Protocol? https://github.com/wiederm/endstate_correction/blob/bc21f74810bc0a8fd47b43979d39a7241144e164/endstate_correction/protocol.py#L108

wiederm commented 1 year ago

thanks! Yes, direction has been removed as a keyword. The direction is implicitly defined through the new keywords: reference_samples and target_samples (and reference-potential at lamb=0, target-potential at lamb=1). Similarily, if switching is performed uni- or bidirectional is based on if only reference or both reference and target samples are provided.