-
Notifications
You must be signed in to change notification settings - Fork 49
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
Add gomc parser #78
Add gomc parser #78
Conversation
Codecov Report
@@ Coverage Diff @@
## master #78 +/- ##
==========================================
- Coverage 98.16% 97.27% -0.89%
==========================================
Files 11 12 +1
Lines 599 698 +99
Branches 116 141 +25
==========================================
+ Hits 588 679 +91
- Misses 4 5 +1
- Partials 7 14 +7
Continue to review full report at Codecov.
|
@msoroush thanks for opening this PR! I've scheduled it for review on 2019.05.05. |
You'll need tests. For tests you need to add a data set to alchemtest, so open an issue/PR over there, please. See https://github.com/alchemistry/alchemtest/wiki/contributing |
I am still validating my implementation in GOMC. Once it validate it, I will create the test. I might cancel this PR because I noticed that slicing function does not work index name other than |
See #79 (comment) for comments on slicing. |
Btw, you don't have to close the PR. You can keep it open and update it. Thanks for offering to contribute. As I said, it would be good to have code to deal with MC data. We just have to make sure that the code remains maintainable and one of the key solutions there is to do testing really well. Please also be aware that there's no-one being paid to do development on alchemlyb so any code reviews or comments might take some time. We are all way to busy and we try to carve out some time to move this project forward. So please have some patience with us. It's ok to ping someone with their GitHub handle @-mention (eg @orbeckst for me) after a few days if there follow-up seems to be missing. |
I will keep it open and work on it. I tried to keep the file format to be similar to GROMACS to make everyones life easy. I did not want to write analysis tools from scratch, so I started to use alchemical-analysis and then alchemlyb. This is a new field for me and I am trying to learn it as fast as possible. Thats why I have too many questions. |
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.
Looking very good so far @msoroush. I'll second @orbeckst's statement that for new parsers we'll need a corresponding dataset added to alchemtest
. I'll also echo that this project ratchets forward slowly with an eye toward producing correct results for everything we release, so bear with us. We definitely want to support as many formats for alchemical free energy data as we can, and this is no exception.
Please feel free to push to this PR as you improve your parser. When ready, also open a PR on alchemtest
for a dataset that works well for testing. You'll want to produce a dataset that is substantial enough to yield testing value but small enough to not balloon the testing package (shoot for less than 10MB if you can; definitely use e.g. bzip2
compression for individual files).
Thanks for your patience. Looking forward to reviewing more as it comes!
Does it matter which forcefield or water model I am using to generate benzene solvation data set? |
No, ideally it should be something publicly available. You should open an issue and PR in alchemtest and link it to this one by including #78 in the description. |
See contributing to alchemtest for guide lines. Ask if you have questions. |
- close alchemistry#83 - close alchemistry#84 - files were manually created based on the history (git log --format="format:%an %ad" --date="format:%Y" 0.1.0..HEAD | sort | uniq) and the merged PRs and closed issues
* Add GOMC data sets (for alchemistry/alchemlyb#78) * update the documentation * Change the file formatting. Store the all free energy files in inWater directory instead of storing in separate VDW and Coulomb directory. * compress the free energy files * close #33
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.
@msoroush now that PR alchemistry/alchemtest#34 was merged, can you please add tests for
- parsing
- calculating free energies: you have both FEP and TI parsers so you should also calculate your solvation free energy with BAR/MBAR and TI
Where should I add test for parsing and calculating free energies? |
Have a look at the existing tests and model yours after them. |
@orbeckst I added the tests for GOMC parser and free energy estimator (BAR, MBAR, and TI). Please let me know If you want me to add additional test for GOMC parser? I noticed that I would not load benzene data from GOMC datasets. I fixed the access.py file alchemistry/alchemtest#36. |
No need to update |
The codecov status is missing because the upload from Travis is failing
Not sure why. |
@dotsdl can you have a brief look at this PR and if your requirements were addressed? It seems good to go. |
Went ahead and restarted the build; we'll see if Travis succeeds in shipping to codecov this time. |
Nope – somethings is screwy with codecov. For some bizarre reason it lists the coverage for this PR as our project's coverage – see https://codecov.io/gh/alchemistry/alchemlyb. Maybe it gets confused because it comes from the master branch of a fork???? Anyway, we can revisit once this PR is merged. |
I manually run the coverage
with the following result:
The html pages are attached as coverage.zip; note that the current codecov looks similar, e.g., for alchemlyb/parsing/gomc.py. I hope that helps @dotsdl in his review, even in the absence of codecov. Based on these results I'll add my own comments in a moment. |
The 85% coverage in The lack of testing of a number of except statements in |
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.
See issues based on the coverage analysis.
Looking good:
|
I've made some small changes, including adding One note as an optimization: it might speed up dataframe parsing to use the Thanks @msoroush for sticking it out through this process! @orbeckst, looks like we lost a little test coverage(?), but it's not clear to me where it could really be improved on this file. My local test run shows it has 95% coverage. Please merge when satsified; thanks! |
I also think we'll have to live with the coverage. I'll squash merge once PR #85 has been merged. Thanks everyone! |
Congratulations @msoroush , your first PR in alchemlyb was merged. Thank you! |
Add GOMC parser to alchemlyb. Energy output file for Free Energy Calculation is similar to GROMCAS. This parser, reads, Total energy, PV, derivative of energy (for current lambda state), and change of energy (between current lambda state and all other lambda states).