-
Notifications
You must be signed in to change notification settings - Fork 25
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
[WIP] Free energy fitting #54
Draft
maxentile
wants to merge
49
commits into
main
Choose a base branch
from
free-energy-fitting
base: main
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.
Draft
Changes from 5 commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
79d125f
Create run on openff-1.2 training dataset.ipynb
maxentile e3454ac
use offmol_indices, handle case of no propers / impropers, and adhere…
maxentile d3f236d
allow to .sum(dim=1) even when there are no impropers
maxentile 10268d5
allow impropers to have length 0 in valencemodel
maxentile 9c350ee
add gbsa port
maxentile cf14a20
oof, avoid pytorch in-place modification of input argument tensors
maxentile 0c20732
gahh, careless variable-name typo
maxentile 32f7d2d
wip demo notebook for fitting to a hydration free energy calculation …
maxentile dfce74c
port @proteneer's GBSA implementation instead
maxentile 6a02086
repeat fitting-to-free-energies notebook with less-likely-to-be-buggy…
maxentile b5fa1e9
add reference implementation from bayes-implicit-solvent
maxentile b77794c
refactor gbsa_obc2_energy into a function in openmm unit system, and …
maxentile eb73857
increase descriptiveness in gbsa implementation, add thorough shape a…
maxentile 745c6ac
import FreeSolv database v0.52
maxentile a88fe91
remove tensor-shape-printing statements
maxentile 3773dd5
create pandas dataframe with serialized openmm systems for freesolv s…
maxentile 22d314f
ooooof. fix silly mistake in fitting-to-free-energies notebook
maxentile dfdeac0
also handle cases like methane where len(propers) == 0
maxentile 5866029
save also xyz coordinates from brief md
maxentile 47931bd
remove **kwargs to try to play nice with torchscript jit
maxentile d812bdd
remove temporary assert statements in _gbsa_obc2_energy_omm
maxentile fc2fbe7
must be a remaining sign-flip error -- seems like it's unable to make…
maxentile b564fe6
add missing conversion from nm/(proton_charge**2) to kJ/mol
maxentile 08a2bcf
update gbsa docstring
maxentile d5ae749
update freesolv-fitting notebook
maxentile bacb705
re-run demo notebook with increased stepsize and decreased network si…
maxentile 6d4c831
ipynb --> py
maxentile 9ffa304
refine fit_freesolv.py script
maxentile 7115efb
add pdf figures from fit_freesolv
maxentile c63bc05
notebook reporting on element coverage in freesolv
maxentile 6db4016
oops, forgot nitrogen!
maxentile 9857f52
notebook fitting to {C, H, O} mini-freesolv
maxentile 8e50eec
oodles o' vacuum samples
maxentile 1f1f520
set openmm_cpu_threads to 1
maxentile 38bbf03
Create fit to {C, H, O, N, Cl} subset of freesolv (n=529).ipynb
maxentile 7de7b6c
oops fix plot labels
maxentile 2643694
merge freesolv vacuum sample records
maxentile d24b5bf
git lfs track freesolv_vacuum_samples.npz (279MB)
maxentile e6d31d9
add xyz column to freesolv_with_samples.h5
maxentile 98f424f
update {C, H, O} subset experiment to use thorough equilibrium sampling
maxentile a38812d
add experiment script for k-fold cv
maxentile ac80468
oops, don't indent all the relevant stuff out of the training loop!
maxentile 7c76087
git lfs track each of the K=10-fold CV trajectories
maxentile f56999c
add notebook to plot k-fold cv results
maxentile e01ab88
add a horizontal line depicting RMSE of FreeSolv's explicit-solvent c…
maxentile 0a06d43
Add todos
maxentile 3c7eee4
Add SAGEConv
maxentile fad31a5
Address GraphSAGE todo
maxentile ccea6ba
Update PDF figures
maxentile File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
freesolv.h5 filter=lfs diff=lfs merge=lfs -text | ||
freesolv_with_samples.h5 filter=lfs diff=lfs merge=lfs -text |
Oops, something went wrong.
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.
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.
Isn't this missing a -138.935485 conversion from nm/(proton_charge**2) to kJ/mol? The docstring says "everything is in OpenMM native units".
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.
Comparing with https://github.com/openmm/openmm/blob/master/wrappers/python/simtk/openmm/app/internal/customgbforces.py#L381-L382
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.
It looks like you might pre-multiply the charges by
sqrt(138.935485)
? If so, you should probably document that in the docstring.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.
Gahh -- you're right -- I had dropped this in the current conversion! Thank you for catching this. Charges are not assumed to be premultiplied by
sqrt(138.935485)
, will clarify docstring...(This conversion was present but poorly labeled in the numpy/jax implementation in bayes-implicit-solvent.)