-
Notifications
You must be signed in to change notification settings - Fork 11
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
Automated Dihedral Analysis #217
Conversation
cadeduckworth
commented
Oct 20, 2022
•
edited
Loading
edited
- Adding automation functionality for dihedral analysis
- Automation function for dihedral analysis includes retrieval of dihedral atom groups and visual representation of data via seaborn-catplot violin plots
- close add appropriate error, exception, logging methods for these patterns, throughout #236
* separating functionality for use with _single_universe without iterating frames * retaining functionality for use with _single_frame
* try/except pattern condensed to one run method * single run method implemented for _single_universe and _single_frame * functionality of original run method retained, while removing frame iteration for _single_universe usage * progress bar still active when using _single_universe, but no frame iteration occurs
directory_paths: finds MDPOW project data and returns pandas DataFrame directory_iteration: takes pandas DataFrame or csv and iterates automated_dihedral_analysis over MDPOW project directories automated_dihedral_analysis: group of functions that includes automation scripts for DihedralAnalysis, automatic dihedral atom group selection, seaborn violin plots function, and other required functions Future changes will eliminate redundancies following initial testing
…class to test possible ways to call automation-related functions
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.
Move all automation into a separate module: mdpow/analysis/workflows/base.py
.
Add documentation. Need to include it in the html docs.
Add tests.
This PR requires PR #216 to be merged, otherwise analysis runs twice. |
removed raise added docstrings to describe use of NotImplementedError responded with reason for removing _conclude_universe() next step: updating html documentation following successful testing
fixed expected indent block error removed raise removed _conclude_universe()
…se automation for DihedralAnalysis automated_dihedral_analysis.py directory_iteration.py directory_paths.py
…ained within automated_dihedral_analysis.py
Codecov Report
@@ Coverage Diff @@
## develop #217 +/- ##
===========================================
+ Coverage 79.06% 79.96% +0.90%
===========================================
Files 12 13 +1
Lines 1729 1847 +118
Branches 271 282 +11
===========================================
+ Hits 1367 1477 +110
- Misses 277 280 +3
- Partials 85 90 +5
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
…v files in provided parent directory
mdpow/analysis/automation/dihedral/automated_dihedral_analysis.py
Outdated
Show resolved
Hide resolved
…ted-dihedral-analysis updating with changes for backend and testing from PR #216 ensemble_run_update
For test files: Create a set of data with XTC files that only contain ~10 frames (evenly spaced along the trajectory). Include only TPR files necessary for the test (eg only Coulomb lambda 0). |
@cadeduckworth please resolve conflicts now that PR #216 has been merged. This should get this PR up-to-date. |
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.
TODO
- Move all automation into a separate module: mdpow/analysis/workflows ; have a base.py for general stuff and a dihedrals.py for dihedrals specific
- Add documentation. Show how one uses your code. Use test files as examples so that someone could directly try it out. These howto-docs also give you an idea how to organize and structure.
- Add tests. In particular, create a minimal test set. Automated Dihedral Analysis #217 (comment)
… correct results from atom indices
Some issues need to be unlinked and linked to separate or new PR's after this one is merged
|
@orbeckst |
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.
Good changes. I found one incorrect assertion, some formatting issues, and please clean up comments/commented out code and make some of the comments more specific so that people after you (or your future self) has a chance understanding what the problem is.
assert groups[i].all() == self.check_groups[i].all() | ||
i+=1 | ||
|
||
@pytest.mark.skipif(sys.version_info < (3, 8), reason="scipy circvar gives wrong answers") |
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.
Add issue number, add more text to be specific ... whoeever reads this has no clue what "nature of this problem" means.
Read the comments through the eyes of someone who is not an insider.
…FacetGrid for test_DataFrame_input
@orbeckst All requested changes have been addressed, and relevant or meaningful inline comments that do not fit the scope of this pull request have been moved to new or existing issues. As a reminder (because I tried, but could not figure out how to do it), issues 232 and 235 need to be unlinked to make sure they are not closed with this PR. Only issue 236 should be closed with this PR. |
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.
excellent work, good to go 🎉
I'll squash-merge.
oops, need entry in CHANGES ... will do that before merge |
Congratulations @cadeduckworth , your big PR is in MDPOW! 🎉 🍾 |