-
-
Notifications
You must be signed in to change notification settings - Fork 39
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
[REVIEW]: polypy - Analysis Tools for Solid State Molecular Dynamics and Monte Carlo Trajectories #2824
Comments
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @hmacdope, @lscalfi it looks like you're currently assigned to review this paper 🎉. Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post. ⭐ Important ⭐ If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿 To fix this do the following two things:
For a list of things I can do to help you, just type:
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
|
|
Hi @symmy596, Just a few things I thought I would point out as I go through, ranging in importance.
I will wait for you to respond here first, then raise the more pressing of these as issues on the central repo. Onto the paper, it's looking good overall, just a few things.
Tracking well so far. |
Hi @hmacdope When developing the code I had several large example trajectories stored in the examples folder and added that folder to the .gitignore to stop them all being written to github until I decided which ones I would use for the examples. I have rectified this and the files should now be in the repository. Apolgoies for the mishap. With regards to the rest of the issues that you have raised, I will wait for you to complete your review and address all remaining issues in one go. Once again, thank you for reviewing the code and I look forward to hearing how it can be improved. |
yes @richardjgowers, everything ok I'm going through the documentation, I should be done in a few days |
Hey @symmy596. Functionality and usage examples look good to me. One minor thing is that the DLMONTE trajectory at the end of Tutorial 4 (MSD) gives an error (for the right reason which is that MC trajectories can't be used to calculate MSDs). I'm not sure if this was intentional? If it is no worries. Other than that the only other queries I had have been raised in my previous comment. |
Hi @symmy596,
|
@symmy596 I will also add to @lscalfi's comment on the MSD. The MSD is normally defined as an ensemble average over all possible lag times. Do you average over all possible lag times and is this related to the Thanks also for the letting me know the latex builds fine for you @lscalfi, must be a problem with my env. |
Happy new year to you all. I have attempted to address all of your comments. I have made a new version of polypy, version 0.8.1 which you will need to download if you wish to check out any of the functionality that has been tweaked. For simplicity / to keep mysefl right I have copied your comments below and provided an answer beneath. Q. I managed installing Polypy without problems although the required package section of the README should be updated with the list in requirements.txt. It could maybe be useful to specify if some packages are optional, and also to have the list of commands for those who use conda instead of pip. Q. The documentation is well written and going in detail through different examples which makes it easy to get started with Polypy. This is why I think it would be useful if the Documentation section of the README was a bit more detailed and highlighted the existence of such documentation (so that unexperienced users doesn't miss it). Q. I am not used to DLPOLY or DL_MONTE files such as HISTORY, CONFIG or ARCHIVE, but I would be interested to use these analysis tools all the same. Adding either a small description of the files or a link to a description could be very useful to adapt this to other trajectories format (such as .xyz, .pdb...). Q. In the tutorials section, several times the files ../example_data/HISTORY and ../example_data/ARCHIVE are used but they don't exist, I guessed I should use the other versions but this should be corrected. Q. The example on the Cerium oxide also contains several errors, I think there has been a mix of the CaF2 system and the CeO2 (you read ca_density but then use ce_density, same for f_density instead of o_density, and later the fx_2d is not defined). Important: when trying to do the density profiles of HISTORY_GB which correspond to the CeO2, I had a Memory Error and could not do the analysis: does this happen often? Are you storing several large arrays ? Q. The labels of the plots could be improved: the densities have no unit, the electric field should not be in V and I think the X or Y labels do not correspond to the x, y or z directions of the cell. I guess this is because of how the calculation is done but it would be best if the axis label corresponded to the required cell direction. Q. Regarding the two-dimensional density plots, the plots are very nice. And the possibility of overlaying multiple plots is very useful for visualization purposes. Is the dimension you specify the normal vector to the plane? It would also be very useful to only have the density profile only in a slice (for example only for atoms between z=0 and z=5). Q. Would it be easy to do more complex geometries?. For example, is it possible to do an oblique cut (i.e. do a projection on a plane which is not the xy, xz or yx plane) to look at another crystal plane? It could also be nice to have projection on curved surfaces if analysing nanotubes (as done here for example https://pubs.acs.org/doi/10.1021/acs.langmuir.8b01115) Q. Several functions have missing arguments (charge_density in the Two-dimensional... section, combined_density_plot_multiple_species in All together, and later conductivity in the ionic conductivity section) which trigger errors. Q. Regarding the MSD: this functionality is also very useful. Can you define what are the sweeps in the documentation? By reading the API, the values are obtained by only the initial frame as reference by default, but it would probably be best to average over all starting timesteps. It is also usually useful to discard the initial ballistic regime and the last points where you have less statistics when computing the diffusion coefficient, is it possible in this case or the fit is done on the whole time range? Q. For the regional MSD, it is not clear to me how to specify the region in space? Can it only be a slice or also only a cube by specifying xlow, ylow, zlow, xhi, yhi and zhi? A. It can only be a slice. Dimension specifies the lattice vector normal to the slice and the parameters lower_boundary and upper_boundary specify the two boundary’s that define the slice. Again, I have added this to the additional functionality section of the readme. Q. Usually there is a first equilibration phase in MD or MC, is it easily possible to specify from which timestep on the trajectory should be analyzed? This could be an additional point to add to the tutorials, especially for the density calculations. A. A method has been added to allow users to remove initial and final timesteps. This has been included in the documentation and shown in the reading_data tutorial Q. Another widely used functionality is the radial distribution function which should be easily computed using this package. It would be interesting to add it. A. RDF would certainly be useful however its addition would represent a significant addition to the codebase that I think is beyond this version. I have added a new section to the readme listing useful new additions to the codebase that can be added in the future by me or by new users. Q. I didn't see any documentation about how to run the tests in the /tests folder. Q. The tests for the regional MSD seemed to be incomplete. Q. Important: The files to run the tutorial notebooks out of the box are missing from examples/example_data. I'm guessing this is a problem with packaging (I cloned from master). I can't assess functionality until this is fixed. Q. Suggestion: It would be great if there was an easy way to use only a section of the MSD (the "middle"). Long story short, we want the middle portion of the MSD, after the initial ballistic motion is over and before the poor averaging regime takes over. See the discussion in this paper. This kind of behaviour is clear in your fluorine diffusion in CaF_2 figure. This is not a blocking requirement. Q. Nitpick: Would be fantastic if you could update the text describing the installation requirements in 'README.md' to include coveralls, coverage and sphinx etc as its in requirements.txt. Onto the paper, it's looking good overall, just a few things. Q. I think the second paragraph starting with A molecular dynamics trajectory is a snapshot... could be clearer and more accurate. A more detailed explanation around what MD and MC are is required for a general audience to follow what kind of data we are dealing with here. Q. A description of the theory used to calculate some of the properties I think would be helpful to many. Currently it is just stated that you can compute them. I know it's in the docs, but it is central to the package. Q. About the paper itself, I noticed the acknowledgments are different from those in the README, should it be updated? |
@whedon generate pdf |
@symmy596 Thanks for addressing all of my concerns and several of my suggestions. I take your point about including all the theory being too much information to include in the article, I am happy for it to be in the documentation as it is currently. All of my other nitpicks appear to have been fixed up. Just one more thing:
You have addressed my comments on the paper including a state of the field section and mention of other packages. You have also highlighted the unique advantages of Polypy and demonstrated its effectiveness in several of your publications. Great work! Following resolution of the above I would be happy to recommend your article for publication in JOSS. 👍 |
Hi @lscalfi when you've got a moment can you see if your comments have been addressed or if further changes are required, thanks! |
Hi @symmy596, thank you for addressing our concerns. I just have a few remarks left:
Apart from these comments, you have addressed all the other issues I raised and I am happy to recommend for publication. |
Q. Would you be able to add a discussion of the sweeps parameter to the theory section of the documentation? The MSD is technically an ensemble average over the number of sweeps and the number of particles. This should be reflected in a brief comment in the theory section. Q. for the MSD, you say "Two new functions have been added to the read.trajectory class to remove timesteps from the start and end of the trajectory. The trajectory, once clipped can be analysed with the MSD function as before.". I am not sure to understand. The 'problem' is not in the equilibration time of the trajectory but in the MSD itself. It is supposed to be linear only after a ballistic regime and it usually lacks statistics for longer times, so that the linear fit to extract the slope and thus the diffusion coefficient should be done on a portion of the MSD only. Is this what is done? Q. section to describe more MD and MC has been added (there are some typing errors in the paper: postiion, simulaton...) and a section on the state of the art which describes well the advantages of polypy. You say polypy works "for simulations ensembles, not just NPT.": does it handle grand canonical simulations with variable N too? If it's the case this can be highlighted. A new version has been pushed to pypi and a new commit to the git repo has been made adressing these changes. Thanks! Adam |
@whedon generate pdf |
Hi @symmy596, |
@lscalfi Thanks for pointing that out, I had missed it. Build is now fixed. |
@symmy596 All good on my end also 👍 |
@richardjgowers pending confirmation from @lscalfi this review is possibly finished? |
@whedon generate pdf |
@symmy596 - I hope you are still working on the changes in the article titles... |
@whedon generate pdf |
PDF failed to compile for issue #2824 with the following error: Error reading bibliography file paper.bib: |
@whedon generate pdf |
@danielskatz - Should be ready to go now. Cheers |
@whedon accept deposit=true |
|
🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦 |
🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨 Here's what you must now do:
Any issues? Notify your editorial technical team... |
Congratulations to @symmy596 (Adam Symington)!! And thanks to @hmacdope and @lscalfi for reviewing and @richardjgowers for editing! |
🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉 If you would like to include a link to your paper from your README use the following code snippets:
This is how it will look in your documentation: We need your help! Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:
|
Submitting author: @symmy596 (Adam Symington)
Repository: https://github.com/symmy596/Polypy
Version: 0.8
Editor: @richardjgowers
Reviewer: @hmacdope, @lscalfi
Archive: 10.5281/zenodo.4568493
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer instructions & questions
@hmacdope & @lscalfi, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @richardjgowers know.
✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨
Review checklist for @hmacdope
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @lscalfi
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
The text was updated successfully, but these errors were encountered: