openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
696 stars 36 forks source link

[REVIEW]: flowerMD: Flexible Library of Organic Workflows and Extensible Recipes for Molecular Dynamics #5989

Closed editorialbot closed 7 months ago

editorialbot commented 8 months ago

Submitting author: !--author-handle-->@marjanalbouye<!--end-author-handle-- (Marjan Albooyeh) Repository: https://github.com/cmelab/flowerMD Branch with paper.md (empty if default branch): Version: 1.1.1 Editor: !--editor-->@lucydot<!--end-editor-- Reviewers: @LIVazquezS, @abhishektiwari Archive: 10.5281/zenodo.10215501

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/75c5135b3e0eb1b561a89783ce949067"><img src="https://joss.theoj.org/papers/75c5135b3e0eb1b561a89783ce949067/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/75c5135b3e0eb1b561a89783ce949067/status.svg)](https://joss.theoj.org/papers/75c5135b3e0eb1b561a89783ce949067)

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

@csadorf & @LIVazquezS & @abhishektiwari, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @lucydot 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 ✨

Checklists

πŸ“ Checklist for @abhishektiwari

πŸ“ Checklist for @LIVazquezS

editorialbot commented 8 months ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 8 months ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.25 s (316.5 files/s, 85731.9 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
XML                              7              1             29          11175
Python                          41            859           1228           4772
TeX                              1             15              0            244
Jupyter Notebook                 4              0           2362            229
Markdown                         3             44              2            195
YAML                             8             16             14            194
reStructuredText                13             71            104             56
DOS Batch                        1              8              1             26
make                             1              4              7              9
INI                              1              0              0              4
-------------------------------------------------------------------------------
SUM:                            80           1018           3747          16904
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 8 months ago

Wordcount for paper.md is 1191

editorialbot commented 8 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1038/s41524-022-00906-4 is OK
- 10.1080/00268976.2020.1742938 is OK
- 10.21105/joss.01831 is OK
- 10.1063/1.2978177 is OK
- 10.1021/ct0502864 is OK
- 10.1016/j.commatsci.2019.109363 is OK
- 10.1038/s41467-021-27627-4 is OK
- 10.1021/acs.jcim.3c00081 is OK
- 10.1021/acs.macromol.8b00011 is OK
- 10.1007/978-981-10-1128-3_5 is OK
- 10.1016/j.cpc.2021.108171 is OK
- 10.5281/zenodo.8370982 is OK
- 10.1088/1361-651X/ab6a44 is OK
- 10.1126/sciadv.abg9763 is OK
- 10.1063/1.470016 is OK
- 10.3390/polym13132162 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 8 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

abhishektiwari commented 8 months ago

Review checklist for @abhishektiwari

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

LIVazquezS commented 8 months ago

Review checklist for @LIVazquezS

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

erjank commented 8 months ago

@lucydot , a possible perceived COI is that @csadorf and I had the same PhD advisor. I graduated from that lab in 2012, years before @csadorf joined and we have not worked together.

lucydot commented 8 months ago

Hi @erjank - thanks for flagging up. Given the timeframe, it is okay πŸ‘

abhishektiwari commented 8 months ago

@mbarzegary Please see my initial comments.

General checks

Contribution and authorship

Can you provide more details on Eric Jankowski contributions to paper or software?

Software paper

Reference

Incorrect reference to HOOMD-blue paper at line 8 and 28, should be pointing to anderson2020hoomd as included in paper.bib file.

Quality of writing

A few typos

β€” macromolecular not macrmolecular β€” because not becuase

Suggested improvements

β€” A lot of deprecation warnings due to use of older numpy interfaces. Worth making sure there is path to latest behaviour. E.g. β€” Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. β€” Provide pip package to make installation. I believe authors already working on it. β€” There is potential to use directed acyclic graphs (DAG) execution for workflow recipes. Worth exploring a few examples using Airflow or likes.

Overall

I truly enjoyed reviewing this paper. Everything from installation to functional testing to tutorial, I was able to finish within few hours. Kudos to authors for providing a very frictionless experience. Tutorial cover variety of well documented use cases. Package APIs are well documented and include type hints at parameters level. More importantly, package is structured in a way which encourage extensibility.

chrisjonesBSU commented 8 months ago

@abhishektiwari Thank you for the review and suggestions!

LIVazquezS commented 8 months ago

Dear Authors,

Here are some of my thoughts.

General Checks

Example Usage

I enjoyed the examples given by the authors. However, the quality of them needs to be improved.

Community Guidelines

The authors provided simple and concise instructions for contributing to their code. However, I did not find options to report problems with the code or ask for help if needed.

Software paper

References

The reference to HOOMD-Blue needs to be rendered correctly.

Suggested improvements

Overall

This code can become a powerful tool for the simulations of complex systems from construction, force field specification, and running simulations almost automatically but without falling into a black box approach. I applaud the author's effort to make the code modular so that every step is understandable and reproducible. Complementary to this is the structure of the software, which promotes its extension and further applicability. Nevertheless, considerable improvements to documentation and tutorials should be made to improve user-friendliness.

Other questions

marjanalbooyeh commented 8 months ago

@editorialbot generate pdf

editorialbot commented 8 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

marjanalbooyeh commented 8 months ago

@LIVazquezS Thank you for the review and suggestions.

Example Usage:

Community Guidelines:

Suggested Improvements:

Other Questions:

Thank you for the suggestion regarding the CG force fields. While we haven't directly worked with MARTINI or SIRAH, we will make sure to explore them. However, supporting those CG force fields is currently beyond the scope of flowerMD.

lucydot commented 8 months ago

Thank you @LIVazquezS and @abhishektiwari for your thorough and prompt reviews - if you happy that all of your acceptance-blockers are addressed (?) please complete tick-boxes (if not already done so).

@csadorf have you started your review? As we have had two thorough reviews which are largely in agreement, I am happy to publish without a third reviewer - that said, if you are part way through please feel free to complete so that your reviewer contribution can be recognised on the publication. We aim to have the review process complete in 4-5 weeks, so you have a couple of weeks remaining for review.

abhishektiwari commented 8 months ago

@lucydot Review and checklist is completed from my side.

chrisjonesBSU commented 8 months ago

The anaconda package for flowermd is done as of this morning. You can see it here and the conda-forge feedstock repo here.

@marjanAlbouye and I looked into making a pip package as well. A big chunk of the dependencies for flowermd are only available on anaconda and don't have pip packages in pypi. From what we understand, this might complicate the process of making a pip package for flowermd. Marjan found poetry which I think can help with that. We'll keep it a goal to have a pip package at some point, but it may be a bit before we can get to that.

LIVazquezS commented 8 months ago

@marjanAlbouye and @chrisjonesBSU Thanks for your prompt reply. The examples look much better. I will be looking forward to the surface-wetting module.

@lucydot The authors addressed my comments, and I completed the checklist.

lucydot commented 8 months ago

Thank you @LIVazquezS and @abhishektiwari for signing off on your reviews -

@marjanAlbouye @chrisjonesBSU we are onto the final stages of the review process now ✨ I will ask editorial-bot to generate a post-review checklist. You will not be able to tick off the items, but please let me know when each is complete.

lucydot commented 8 months ago

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

Editor Tasks Prior to Acceptance

lucydot commented 8 months ago

@editorialbot generate pdf

lucydot commented 8 months ago

@editorialbot check references

editorialbot commented 8 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1038/s41524-022-00906-4 is OK
- 10.1080/00268976.2020.1742938 is OK
- 10.21105/joss.01831 is OK
- 10.1063/1.2978177 is OK
- 10.1021/ct0502864 is OK
- 10.1016/j.commatsci.2019.109363 is OK
- 10.1038/s41467-021-27627-4 is OK
- 10.1021/acs.jcim.3c00081 is OK
- 10.1021/acs.macromol.8b00011 is OK
- 10.1007/978-981-10-1128-3_5 is OK
- 10.1016/j.cpc.2021.108171 is OK
- 10.5281/zenodo.8370982 is OK
- 10.1088/1361-651X/ab6a44 is OK
- 10.1126/sciadv.abg9763 is OK
- 10.1063/1.470016 is OK
- 10.3390/polym13132162 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 8 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

lucydot commented 8 months ago

A very nicely written JOSS paper @marjanAlbouye and @chrisjonesBSU πŸ‘

lucydot commented 8 months ago

I see there is another package "MoSDeF" which is cited in your paper. It may be worth highlighting how flowerMD is related to / distinct from MoSDeF in the statement of need - it appears there is crossover?

chrisjonesBSU commented 8 months ago

I see there is another package "MoSDeF" which is cited in your paper. It may be worth highlighting how flowerMD is related to / distinct from MoSDeF in the statement of need - it appears there is crossover?

You're right, there is definitely some crossover. MoSDeF is a collection of python packages (mBuild, foyer, GMSO) that enable building molecules, initial configurations of a system of molecules and applying forcefields. flowerMD heavily utilizes mBuild and GMSO for these particular parts of an overall workflow while creating a more streamlined wrapper layer over the top of these packages. We'll take a closer look at the statement of need and see if we can be more clear about how MoSDeF is involved, and how flowerMD extends on top of MoSDeF.

marjanalbooyeh commented 7 months ago

@lucydot

We completed all of the above author tasks and released the software.

Link to the archive release on Zenodo:

https://zenodo.org/records/10211282

DOI: 10.5281/zenodo.10211282

We also merged the surface wetting module (this PR) to our repository and released flowermd version 1.1.0. A new tutorial is added for this module that covers the details of it. We also added a few sentences to the paper mentioning this new module.

marjanalbooyeh commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

chrisjonesBSU commented 7 months ago

@lucydot one change to Marjan's last comment after fixing a quick issue in the repo's setup.py file

https://zenodo.org/records/10215501 DOI: 10.5281/zenodo.10215501 version: 1.1.1

Thanks!

lucydot commented 7 months ago

@editorialbot set 10.5281/zenodo.10215501 as archive

editorialbot commented 7 months ago

Done! archive is now 10.5281/zenodo.10215501

lucydot commented 7 months ago

@editorialbot set v1.1.1 as version

editorialbot commented 7 months ago

Done! version is now v1.1.1

lucydot commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

lucydot commented 7 months ago

@editorialbot check references

editorialbot commented 7 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1038/s41524-022-00906-4 is OK
- 10.1080/00268976.2020.1742938 is OK
- 10.21105/joss.01831 is OK
- 10.1063/1.2978177 is OK
- 10.1021/ct0502864 is OK
- 10.1016/j.commatsci.2019.109363 is OK
- 10.1038/s41467-021-27627-4 is OK
- 10.1021/acs.jcim.3c00081 is OK
- 10.1021/acs.macromol.8b00011 is OK
- 10.1007/978-981-10-1128-3_5 is OK
- 10.1016/j.cpc.2021.108171 is OK
- 10.5281/zenodo.8370982 is OK
- 10.1088/1361-651X/ab6a44 is OK
- 10.1126/sciadv.abg9763 is OK
- 10.1063/1.470016 is OK
- 10.3390/polym13132162 is OK

MISSING DOIs

- None

INVALID DOIs

- None
lucydot commented 7 months ago

We'll take a closer look at the statement of need and see if we can be more clear about how MoSDeF is involved, and how flowerMD extends on top of MoSDeF.

Before I recommend accept, did you want to adjust the statement of need @chrisjonesBSU @marjanAlbouye ?

marjanalbooyeh commented 7 months ago

We'll take a closer look at the statement of need and see if we can be more clear about how MoSDeF is involved, and how flowerMD extends on top of MoSDeF.

Before I recommend accept, did you want to adjust the statement of need @chrisjonesBSU @marjanAlbouye ?

@lucydot We made a small change to the last paragraph of the statement of the need, mentioning the MosDeF and HOOMD packages. Do we need to archive the package on Zenodo again?

Thanks!

marjanalbooyeh commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

lucydot commented 7 months ago

I don't think archival is necessary, as the change is v. small and the paper will be built from the Github repo rather than Zenodo. @Kevin-Mattheus-Moerman may think different (?) - I will recommend acceptance.

lucydot commented 7 months ago

@editorialbot recommend-accept

editorialbot commented 7 months ago
Attempting dry run of processing paper acceptance...
editorialbot commented 7 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1038/s41524-022-00906-4 is OK
- 10.1080/00268976.2020.1742938 is OK
- 10.21105/joss.01831 is OK
- 10.1063/1.2978177 is OK
- 10.1021/ct0502864 is OK
- 10.1016/j.commatsci.2019.109363 is OK
- 10.1038/s41467-021-27627-4 is OK
- 10.1021/acs.jcim.3c00081 is OK
- 10.1021/acs.macromol.8b00011 is OK
- 10.1007/978-981-10-1128-3_5 is OK
- 10.1016/j.cpc.2021.108171 is OK
- 10.5281/zenodo.8370982 is OK
- 10.1088/1361-651X/ab6a44 is OK
- 10.1126/sciadv.abg9763 is OK
- 10.1063/1.470016 is OK
- 10.3390/polym13132162 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 7 months ago

:wave: @openjournals/bcm-eics, this paper is ready to be accepted and published.

Check final proof :point_right::page_facing_up: Download article

If the paper PDF and the deposit XML files look good in https://github.com/openjournals/joss-papers/pull/4816, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

marjanalbooyeh commented 7 months ago

@lucydot please let us know if there's anything left to do on our side. Thanks!