-
-
Notifications
You must be signed in to change notification settings - Fork 41
[REVIEW]: pygen-structures: A Python package to generate 3D molecular structures for simulations using the CHARMM forcefield #2157
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
Comments
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @dotsdl, @RMeli, @amandadumi it looks like you're currently assigned to review this paper 🎉. ⭐ 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:
|
PDF failed to compile for issue #2157 with the following error: Error reading bibliography ./paper.bib (line 75, column 3): |
@thesketh looks like three's an issue with the bibtex |
@whedon generate pdf |
PDF failed to compile for issue #2157 with the following error: Error reading bibliography ./paper.bib (line 75, column 3): |
@whedon generate pdf |
I had a first look at the package and have a few comments, none of which I deemed worth of its own issue for now (besides, some issues were already open). I will have a deeper look in the upcoming days, but I thought it might be useful to have some initial comments earlier. (@richardjgowers if you prefer to see the comments in bulk do let me know and I'll adjust for next time) FunctionalityInstallationInstallation is easy and described in the
DocumentationInstallationSee comments above. Detailed installation instructions could be added to the main documentation as well (the website is already in place but only the API documentation is present). Automated TestsAutomated tests can be easily run with (See also thesketh/pygen-structures#3) Functionality DocumentationDocumentation for the objects returned by different functions is often missing. Example UsageThere is a single usage example. I think more usage examples should be added. It would be useful to describe the different input in more details within the documentation with the help of usage examples. (See also thesketh/pygen-structures#2; as noted there, the documentation skeleton is already in place and should be relatively straightforward to add an "Usage Examples" section) MiscI noticed that the CHARMM parameter files are included under |
Hey Rocco, thanks for the feedback, I think these points are probably good
to be raised as issues too
…On Tue, Mar 10, 2020 at 22:34, Rocco Meli ***@***.***> wrote:
I had a first look at the package and have a few comments, none of which I
deemed worth of its own issue for now (besides, some issues were already
open). I will have a deeper look in the upcoming days, but I thought it
might be useful to have some initial comments earlier.
***@***.*** <https://github.com/richardjgowers> if you prefer to see
the comments in bulk do let me know and I'll adjust for next time)
Functionality Installation
Installation is easy and described in the README. A few comments:
- Since RDKit can only be installed via conda I would remove the
requirements.txt file
- I would add a second .yml defining a full environment for testing
(so that the user can avoid searching for openmm installation
instructions)
- Adding a dedicated "Installation" section to the README could be
beneficial
Documentation Installation
See comments above.
Detailed installation instructions could be added to the main
documentation as well (the website is already in place but only the API
documentation is present).
Automated Tests
Automated tests can be easily run with pytest and all pass. However,
there is no test coverage displayed. Using pytest-cov I can see that some
modules have rather low coverage (convenience_functions.py is at 41%). *I
think the test coverage metric should be added and improved for some
modules.*
(See also thesketh/pygen-structures#3
<thesketh/pygen-structures#3>)
Functionality Documentation
Documentation for the objects returned by different functions is often
missing.
Example Usage
There is a single usage example. *I think more usage examples should be
added*.
It would be useful to describe the different input in more details within
the documentation with the help of usage examples.
(See also thesketh/pygen-structures#2
<thesketh/pygen-structures#2>; as noted there,
the documentation skeleton is already in place and should be
relativelystraightforward to add an "Usage Examples" section)
Misc
I noticed that the CHARMM parameter files are included under
pygen_structures/toppar. Is there an associated license for such files?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2157?email_source=notifications&email_token=ACGSGBZHAHOCB5EP5JVL4E3RG2565A5CNFSM4LFDODLKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEONOIBA#issuecomment-597353476>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACGSGB4HGDUH3T6QDFDL2OTRG2565ANCNFSM4LFDODLA>
.
|
Thanks for the preliminary comments, Rocco. I'll address these as soon as I can. I think I can fix the poor coverage of The The Documentation for return types is missing in some cases because |
Thanks for clarifying the situation with I'm not well versed with PyPI distribution, but I have a package on PyPI without any
If I |
Thanks for the tip about the I think I've addressed most of your initial comments now (with the extra information added to README), but I still need to add the information to the main documentation. |
Dear authors and reviewers We wanted to notify you that in light of the current COVID-19 pandemic, JOSS has decided to suspend submission of new manuscripts and to handle existing manuscripts (such as this one) on a "best efforts basis". We understand that you may need to attend to more pressing issues than completing a review or updating a repository in response to a review. If this is the case, a quick note indicating that you need to put a "pause" on your involvement with a review would be appreciated but is not required. Thanks in advance for your understanding. Arfon Smith, Editor in Chief, on behalf of the JOSS editorial team. |
Thank you for your comment, @arfon . It is refreshing to see a journal which cares about its authors, editorial staff, and reviewers. In Scotland, we are relatively unaffected (as of yet) but I implore the editor and the reviewers to take the time they need in light of the current crisis. This submission can wait, your health can not. If you have comments to make, they are appreciated, but please focus on your health first and foremost. |
I am still making my way through the code, but I had another thought about the handling of the additional testing dependency. I agree that avoiding having users search for openmm installation instructions would be good. @RMeli provided this solution, which was nice!
Another way that this can be done is to define these as extras in the setup.py as described here. I just wanted to mention this since this would avoid an extra file and could then be installed from pypi as described here. What do you think, @RMeli? I haven't dealt with this first hand so I'm not sure if your approach has a benefit I am overlooking. |
@amandadumi I think that would be a good idea, but it seems to me that in order to install OpenMM |
Iirc there was an effort to get a minimal openmm working on conda-forge...
the hang up was cuda dependencies
…On Sun, Mar 15, 2020 at 20:03, Rocco Meli ***@***.***> wrote:
@amandadumi <https://github.com/amandadumi> I think that would be a good
idea, but it seems to me that in order to install OpenMM
<http://docs.openmm.org/latest/userguide/application.html#installing-openmm>
conda is needed (with the -c omnia -c conda-forge channels).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2157 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACGSGB4X4PQU3WJD7KE5PLDRHUYCDANCNFSM4LFDODLA>
.
|
By @jaimergp
On Sun, Mar 15, 2020 at 20:06, Richard Gowers <[email protected]>
wrote:
… Iirc there was an effort to get a minimal openmm working on conda-forge...
the hang up was cuda dependencies
On Sun, Mar 15, 2020 at 20:03, Rocco Meli ***@***.***>
wrote:
> @amandadumi <https://github.com/amandadumi> I think that would be a good
> idea, but it seems to me that in order to install OpenMM
> <http://docs.openmm.org/latest/userguide/application.html#installing-openmm>
> conda is needed (with the -c omnia -c conda-forge channels).
>
> —
> You are receiving this because you were mentioned.
>
>
> Reply to this email directly, view it on GitHub
> <#2157 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ACGSGB4X4PQU3WJD7KE5PLDRHUYCDANCNFSM4LFDODLA>
> .
>
|
@thesketh I didn't have enough time to dig deep into the code, but I have some comments about the paper below. Software PaperStatement of NeedA big chunk of Fig. 1 details "planned future work". This gives the impression that SummaryI'm not sure about the term "arbitrary molecules", since you can only generate molecules from CHARMM residues and patches. Problems with Current Workflow
I think the problems with current workflows are very well illustrated. Despite only two packages are discussed (RDKit and MarvinSketch), I think similar problems will arise with other packages. Future WorkI think it's great that you outline the limitation of Dependencies
Acknowledgements
Misc
|
Hi! Yes, we have a functional |
@whedon generate pdf Thank you both for your comments! I'm aware of the attempts to get OpenMM onto conda-forge, but I use OpenMM quite extensively in my research so I'm following this as well. @amandadumi I've addressed this now in the installation instructions (and fixed the issue you opened about the RDKit installation instructions), but sadly I don't think there's an easy way to get around using conda for the dependencies. It's a shame there isn't a tie-in between pip and conda. @RMeli I think I've fixed some of the issues you noted with the paper now. Statement of NeedThe "Planned future work" was intended to note that there's another workflow (working with large molecules from the PDB) which currently isn't supported. I've updated the figure to state "Other software" instead. For perfectly formed PDB structures, filling missing hydrogen atoms (and even missing heavy atoms if the surrounding atoms are present) should in principle be easy, but the RDKit currently gives a segmentation fault on larger protein structures (I tried HEWL without success). I'm going to investigate using OpenBabel as a backend as well to address this, but I think it's outside the scope of this paper. Summary'arbitrary' has been removed. Problems with Current WorkflowsI'd like to fit the contents of the PDB inside the page margins as well, would it be best to use a line continuation character such as \ and elipses on the following line? This is the main reason why I haven't updated the PSF examples to the current format (which uses the EXT format) - they're much wider. I've noted similar behaviour from Avogadro (correctly identifies residue, but calls both the L and D forms the L-amino name) and GaussView (behaves similarly to MarvinSketch), but have omitted these examples to avoid making the paper too long. Future WorkYes, you're right of course. I've updated this section to reflect this. I still think that further documentation of the polymeric structures included in CHARMM would be useful (e.g. is it possible to make triglycerides from glycerol/fatty acids? Are there glycolipid linkages defined?) but I think this may be better placed in the CHARMM documentation - CHARMM-GUI may already have some information about this. DependenciesThese have been updated, I've added a citation for PyTest as well. AcknowledgementsI'm a postgraduate student funded by the University of Strathclyde, but the work on this project has been done in my own time so I don't think that this is applicable here. MiscIs there a particular YAML field that this extra information should go under? The example papers only contain university name and department name. Regarding italicisation, I've italicised all software packages on first invocation, but not afterwards. I couldn't see any guidelines about how best to format this. I can italicise all references to software packages if that would be more consistent |
It would help if I'd pushed the changes to the flowchart. @whedon generate pdf |
OK. v0.2.4 is the version. |
@whedon generate pdf |
@thesketh - I made a minor whitespace formatting fix in thesketh/pygen-structures#9 that it would be good to have merged before we accept and publish here. |
@thesketh - At this point could you make a new release of this software that includes the changes that have resulted from this review. Then, please make an archive of the software in Zenodo/figshare/other service and update this thread with the DOI of the archive? For the Zenodo/figshare archive, please make sure that:
I can then move forward with accepting the submission. |
@whedon generate pdf |
Thanks for the PR, @arfon. The v0.2.4 release already contains all the changes, the Zenodo DOI is 10.5281/zenodo.3739128 |
@whedon set 10.5281/zenodo.3739128 as archive |
OK. 10.5281/zenodo.3739128 is the archive. |
@whedon accept |
|
|
👋 @openjournals/joss-eics, this paper is ready to be accepted and published. Check final proof 👉 openjournals/joss-papers#1418 If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#1418, then you can now move forward with accepting the submission by compiling again with the flag
|
@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... |
@dotsdl, @RMeli, @amandadumi - many thanks for your reviews here and to @richardjgowers for editing this submission ✨ @thesketh - your paper is now accepted into JOSS ⚡🚀💥 |
🎉🎉🎉 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:
|
Many thanks to @dotsdl, @RMeli, and @amandadumi for their reviews - the project is definitely in a better shape thanks to their helpful comments and suggestions - and to @richardjgowers and @arfon for editing 😁 |
Happy to do it @thesketh! I took a look at the documentation and I think it now looks great. Thank you for putting this together! 🎆 |
It's been a pleasure to review this work, congratulations @thesketh ! |
Submitting author: @thesketh (Travis Paul Hesketh)
Repository: https://github.com/thesketh/pygen-structures
Version: v0.2.4
Editor: @richardjgowers
Reviewer: @dotsdl, @RMeli, @amandadumi
Archive: 10.5281/zenodo.3739128
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
@dotsdl & @RMeli & @amandadumi, 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 try and complete your review in the next two weeks ✨
Review checklist for @dotsdl
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @RMeli
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @amandadumi
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
The text was updated successfully, but these errors were encountered: