forked from proteneer/timemachine
-
Notifications
You must be signed in to change notification settings - Fork 0
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
july update #5
Open
dominicrufa
wants to merge
114
commits into
choderalab:master
Choose a base branch
from
proteneer:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
july update #5
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
) * WIP, mol_a ref implementation. * Process both G1 and G2 * WIP * Accidental commit * WIP * WIP * WIP * Update timemachine/fe/mcgregor.py Co-authored-by: Matt Wittmann <[email protected]> --------- Co-authored-by: Matt Wittmann <[email protected]>
* Adds normalized kl divergence metric --------- Co-authored-by: Josh Fass <[email protected]> Co-authored-by: Matt Wittmann <[email protected]>
…ss (#1311) * Avoid reading in an invalid sample, triggering an invalid memory access * Doesn't impact correctness of water sampling. * Happens when the number of proposals left is fewer than the batch size. In this case the samples that are selected for the idx in the batch are stale and may be sampling invalid states. In the case that the final mol (by idx) was selected and it was a targeted inner move then the index of the new sample would be out of bounds triggering a failure. A very rare occurrence which is why this was not caught initially. --------- Co-authored-by: Matt Wittmann <[email protected]>
* Fix warning * Fix test * Fix validation condition * Implement execute_batch_sparse
* Use fast real to int64 conversion for all recent cards * 30% faster on RTX 4090, 25% faster on L4s * Support back to Cuda Arch 6.1, oldest cuda arch we use in development
* Adds verify_chiral_consistency_of_core to verify cores quickly * Generating charges is slow and unnecessary
Baseline performance improvements. Fix max_cores off-by-1 error.
* Fix nightly test * Move assertion up
* Move HREXPlots for consistency * Remove unused argument * Remove replica-state distribution convergence plot Not particularly useful in its current form and uses a lot of memory
…#1321) * Add failing test, remove nightly mark from vacuum * Fix off-by-one misalignment of replica indices and frames in output
* Moves top level nonbonded tests to nonbonded directory * Moves to using pytest parameterize * Avoid accumulating memory in tests * Makes it more explicit where things failed
* Avoid reading frames from disk in loop * Write out json file of benchmarks * Easier to generate multiple json files and plot them --------- Co-authored-by: Matt Wittmann <[email protected]>
…f_and_err_from_u_kln (#1324) * Adds failing test * Return max of MBAR error (if finite) or bootstrapped error * Renamed `bar_with_bootstrapped_uncertainty` to `bar_with_pessimistic_uncertainty` --------- Co-authored-by: Matt Wittmann <[email protected]> Co-authored-by: Josh Fass <[email protected]>
* Correct docstring in get_cores * Bitten by this thinking it was atoms and not edges. Top level docs specify that it is edges * Fix exception wording as well
…1329) * Remove unnecessary array copy Return type of StoredArrays._chunks is incorrect; "chunk" here is already an array * Fix return type of _chunks * Add note on use of advanced indexing * Fix misleading docstring
* Add failing test for HREX determinism with local MD * Only impacts local md * Avoid using global numpy random for seed
* Adds sample_with_context_iter to get frames in memory * Allows more fine grained control of when data is in memory or on disk * Avoid reading chunks into memory for storage --------- Co-authored-by: Matt Wittmann <[email protected]>
* update to 1.20.3-1ubuntu2.1 * Update Dockerfile Co-authored-by: Forrest York <[email protected]> --------- Co-authored-by: Forrest York <[email protected]>
* Improves error message of moving atoms too far * Minor performance improvements, only look at protein/ligand (1/3 of the atoms in some systems, though don't think this makes much if any difference) * Clean up some type hints * Clean up docstrings * Adds a test for the failure
* Remove redundant definition * Move definition to usage site
…he min_cutoff threshold (#1338) * Store interacting atoms (w_coord == 0.0) on the InitialState, in this implementation they are simple atoms in mol a, the core for non-endstate and mol_b
* Make placeholder_ff.py -- one generic type per potential * Exercise use of placeholder ff instead of _sc ff in verify_chiral_consistency_of_core
* A bug introduced in #1324
* Accept conformer id in utilities * Add read_sdf_mols_by_name utility
* store bond elements in EnvironmentBCCHandler * Update for CR
* Revert 1-4 scaling factor change for charges * Add comments, fix lint * Add gotcha back to readme * Update test * Revert updates to tests
* Also correctly assigns float64 as the return value, avoiding warnings if 64bit is not enabled in JAX
* Fix linting errors * Add atom mapping golden test * Refactor using AtomMap * Remove outer loop over decreasing threshold * Refactor with Marcs dataclass * Refactor with generic tree traversal * Add type annotations * Isolate strategy-dependent logic * Rename min_threshold -> min_num_edges * Add best-first strategy * Attempt to clarify marcs refinement logic * Update stale comments * Vectorize from_predicate * Add todo comments re additional marcs refinement
* Bugfix * Bugfixes on ImproperTorsion Handler. * Fix test_canonicalize_improper_idxs * Add tests for forces, and separate out a fast unit test. * Used fused map to test both dummy and core atoms. * Update tests/test_single_topology.py Co-authored-by: Josh Fass <[email protected]> --------- Co-authored-by: Josh Fass <[email protected]>
High-level implementation details: Disables the chiral validity check both within the single topology code as well as the atom-mapping code (now raising a DeprecationWarning) Refactors the logic for the interpolation of bonded parameters from one that determines directionality based on the force constant, to one that's based on inspecting the idxs themselves and assigning it into one of three types {core, dummy_a, dummy_b}. Explicitly identifies bonds/angles involved in chiral volume conversions that are being toggled depending on the type, and setting up an interpolation schedule that appropriate for the said type. For terms that are not involved in chiral volume conversions, the old default schedule is used. Adds three utility plotting functions plot_core_interpolation_schedule, plot_dummy_a_interpolation_schedule, and plot_dummy_b_interpolation_schedule for visualizing force constants associated with the transformation.
…1423) * Stagger interpolation for core torsions that are turning on or off. * Update comments.
* Enables minimizing system with only parts of system restrained * Restrain interacting atoms only. Interacting ligand atoms that are important to restrain, non-interacting ligand atoms and environment atoms are free to move
* Add Titles to HREX plots, looking at a lot of these plots and easy to forget which leg the plot came from * Removes unused HREX plotting code * Adds lambda values to y axis, making it easier to know what might be causing bottlenecks --------- Co-authored-by: Matt Wittmann <[email protected]>
* Seems safer regardless since there is no assumption of the array length hardcoded
* Upgrade Cuda to 12.4.1 * Swap CI tags * Improve gitlab runner container pulling
* Adds failing test * Unable to find a NonbondedInteractionGroup potential triggers failure due to being wrapping inside a SummedPotential * Unwrap summed potential in prepare_host_edge * This is a cludge, the real fix would be to unify the topology classes rather than having different returned potentials for each
* Use base docker file and copy curand * Only need curand and cudart, can avoid hundreds of MBs of data by copying curand from the devel image
* Fixes failing nightly tests (MTM + buckyball water sampling)
* Use SMIRKS patterns for Env handler
* A few cases have failed minimization due to the threshold, but do run stably. Now that #1401 is in place, unstable simulations will be caught eventually.
* Correctly use warnings * Adds support for re-balancing the bisection lambda schedule before running HREX * Currently assuming that the final frame of the nearest simulation from bisection will be stable. Needs a more robust approach --------- Co-authored-by: Josh Fass <[email protected]>
* Upgrades OpenMM from 8.0.0 to 8.2.0 * As of [8.2.0](https://github.com/openmm/openmm/releases/tag/8.2.0), can pip install OpenMM. Avoids the need to do a custom build and doesn't install its own version of Cuda. * Reduces docker container size by 0.1GB by avoiding the custom OpenMM build
* Removes a warning I had been seeing. Documentation here: https://cmake.org/cmake/help/latest/module/FindPython.html * Previous methods were deprecated in 3.12 https://cmake.org/cmake/help/latest/module/FindPythonInterp.html https://cmake.org/cmake/help/latest/module/FindPythonLibs.html * Removes an `include_directories` call that should have been removed all the way back in #347 when we moved to using the CUB bundled with CUDA.
* 🎉 To another great year 🎉
* Fix casing warning in Dockerfile * Remove docker prune, no longer relevant in latest CI * Push cache into the image layers * Remove VIM from dockerfile, unused and can be installed adhoc
* Avoid hard coding a version, which was inconsistent with setup.py, in the dockerfile * Fixes a typo in the Dockerfile
Modifies the clang-format configuration to enforce existing conventions: * Enforces alignment of comments for function parameters * Enforces style for pointers and references (int *foo rather than int* foo). * Enforces that namespaces have a comment at the closing brace which specifies the namespace's name.
* Type hinting and minor clean up of SingleTopology * Reviewing the code for a better understanding of the code and cleaning as I go * Moves the constructor docstring of SingleTopologyRest to __init__ * Specify dtype on construction of array, rather than defaulting to float64 then converting * Make docstrings/comments more precise * Clean up single topology tests * Remove unused code * Consistently call AddHs, by using ligand_from_smiles. Some tests still have the warning, but wasn't certain enough to justify changing
* Move linting to CPU only instance * Reducing the number of jobs that require GPUs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.