MobleyLab / benchmarkff

Compare optimized geometries and energies from various force fields with respect to a QM reference.
MIT License
13 stars 8 forks source link

analyze overrepresented parameters in regions of high RMSD/TFD tails #3

Closed vtlim closed 4 years ago

vtlim commented 4 years ago

The code in this PR focuses on identifying and analyzing force field parameters that may be overrepresented in regions of high RMSD or high TFD. The geometric measures were computed in compare_ffs.py resulting in plots such as ridge_tfd.png.

Two scripts are added in this pull request.

tailed_parameters.py For distributions of RMSD or TFDs of force field geometries with respect to reference geometries, identify outlier molecules in the high RMSD (TFD) tails above a predetermined cutoff value. For each force field parameter in the molecule set, determine the fraction of outlier molecules with that parameter. Compare that to the fraction of all molecules that use that parameter.

probe_parameter.py For specific force field parameters identified from the analysis of tailed_parameters.py, (1) find all molecules that use this parameter, and (2) save them to a single file labeled with the parameter ID. Then (3) generate a PDF report of all molecules together, color-coded by parameter ID and labeled with parameter ID and SMILES tag.

To be code reviewed via review roulette with @openff-dangerbot.

lgtm-com[bot] commented 4 years ago

This pull request introduces 5 alerts when merging 4a7f92597dbfac0df36dd5b68ed480ff0ed30fff into d42758e2a7d01ed57f680c5762832c67108e15d4 - view on LGTM.com

new alerts:

openff-dangerbot commented 4 years ago

Reviewer roulette

A review has been requested!

To spread load more evenly across eligible reviewers, Danger has randomly picked a candidate for this review and assigned them to this PR.

If you need to run the roulette again (for example, if the assigned reviewer is unavailable), simply un-request a review from me, then request again. After about 45 seconds, I will update the message with a new random reviewer.

Reviewer
@dgasmith

Review guidelines

Some notes from @j-wags that we can refine as we do this more

Timeline and responsibilities

The PR reviewer should perform a review within 48 hours of being assigned.

The review may take up to three hours.

If few or insignificant changes are needed, the reviewer should accept the PR.

If substantial fixes should be made (see categories below), the reviewer should request changes, indicating which comments are high-priority (blocking), as opposed to questions or comments.

The PR author will then correct any blocking issues and re-request review. The re-review should focus just on the changes that were requested and any new code that was added in response.

The PR author is the only person who should modify the code in the branch, and it is customary to let them press the "merge" button once the PR is approved. Either person can "resolve" non-blocking comment threads, but only the reviewer should "resolve" comment threads that prompt a re-review.

The PR author

The person requesting the review should ensure that the purpose of the review is clearly explained, by linking relevant GitHub Issues in the PR body text (ex "Closes #12"), using clear variable names, commenting non-obvious code, and identifying areas of the diff that are unusual (ex. "the molecule_to_string function was cut and pasted to a different file and didn't change, so don't review it"). If the PR diff is larger than 300 lines, they should identify the area to prioritize for the review, to let the reviewer add as much value as possible if they are time-constrained.

The PR assignee

The newly-assigned reviewer should acknowledge that they received the request, and confirm that they can perform the review within 48 hours. Generally, a good review strategy is to:

Types of comments

I've found that my comments fall into a few rough categories. This is a list of them in descending order of value:

[If any of these are present, you should request changes]

[These may be blocking at the reviewer's discretion]

[Simple fixes that generally aren't blocking]

A few other tips for reviewers:

Checklist example

- [X] This task has been finished
- [ ] This item is still pending

What am I?

I am the Open Force Field Dangerbot. You can find my code and installation instructions at https://github.com/openforcefield/dangerbot.

This reviewer was selected out of a list of Open Force Field volunteers: ["j-wags", "jaimergp", "simonboothroyd", "trevorgokey", "vtlim", "dfhahn", "jthorton", "chayast", "dgasmith", "maxentile", "jchodera"]

Generated by :no_entry_sign: Danger