Skip to content
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]: SCONE: Open Source Software for Predictive Simulation of Biological Motion #1421

Closed
whedon opened this issue May 1, 2019 · 89 comments
Assignees
Labels

Comments

@whedon
Copy link
Collaborator

@whedon whedon commented May 1, 2019

Submitting author: @tgeijten (Thomas Geijtenbeek)
Repository: https://github.com/opensim-org/SCONE
Version: v1.0.0
Editor: @Kevin-Mattheus-Moerman
Reviewer: @modenaxe, @demotu
Archive: 10.5281/zenodo.3245810

Status

status

Status badge code:

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

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

@modenaxe & @demotu, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @Kevin-Mattheus-Moerman know.

Please try and complete your review in the next two weeks

Review checklist for @modenaxe

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: v1.0.0
  • Authorship: Has the submitting author (@tgeijten) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

Review checklist for @demotu

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: v1.0.0
  • Authorship: Has the submitting author (@tgeijten) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented May 1, 2019

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @modenaxe, it looks like you're currently assigned as the reviewer for 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:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon commands
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented May 1, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented May 1, 2019

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented May 15, 2019

@modenaxe, @demotu thanks for agreeing to review this work. Can you give an indication as to when you can finish this review work? Thanks again

@modenaxe

This comment has been minimized.

Copy link

@modenaxe modenaxe commented May 15, 2019

@Kevin-Mattheus-Moerman I will try to do it by the end of next week, my apologies for the delay!

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented May 20, 2019

@modenaxe great thanks, let me know if you have questions.

@modenaxe

This comment has been minimized.

Copy link

@modenaxe modenaxe commented May 20, 2019

@tgeijten I installed SCONE in the past and used it, but now, after I uninstalled it completely and reinstalled v1.0.0, I cannot run it after installation. I am prompted the following error:

image

I have already tried uninstalling again, removing all installation files and resources, restarting the machine and reinstalling but it doesn't seem to work, same error that I have reported above. I have already check if the issue comes from the antivirus blocking the executable, but it doesn't seem so. Any idea on what could be the cause and how to fix it? My computer runs Windows 10 Pro (64-bit), let me know if you need more details of my system.

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented May 20, 2019

@modenaxe sorry for the trouble! It seems you have an old configuration file that's no longer valid. You can delete to following folder to reset the configuration:

C:\Users\<UserName>\AppData\Local\SCONE

After that, everything should work fine.

@modenaxe

This comment has been minimized.

Copy link

@modenaxe modenaxe commented May 20, 2019

that worked, thank you!

@modenaxe

This comment has been minimized.

Copy link

@modenaxe modenaxe commented May 20, 2019

First of all, I want to congratulate @tgeijten for the quality of this software. Graphical interface and visualisation window in particular are truly remarkable for a research tool. I think that SCONE is an ambitious project with huge potential and creating the conditions for interested researchers of learning how to use it will be of paramount importance for its long-term success.

Software paper

A statement of need

While the motivation for SCONE is well explained, and numerous examples of use are mentioned, the target audience seems very broad in scope, i.e. the paper mentions researchers interested in biological movement. As explained in more details in the Documentation comments, the SCONE user is assumed to be familiar with advanced concepts in order to build his/her own scenarios, and this already stratifies users, in a sense. I think that the target audience could be better identified specifying their intended level of computational skills, for example. Multiple typologies of users could also be identified, e.g. researchers in the field of computational biomechanics and neuromechanics, interested in developing new SCONE scenarios, controllers etc. and other researchers focusing on more clinical applications, e.g. using existing scenarios to investigate interventions outcomes by modifying just the model etc.

Functionality

“The ability to simultaneously optimize both model and control parameters” is listed as one of the features of SCONE. What aspects of the model can be optimised? Muscle parameters or also the musculoskeletal geometry? I would list some example.
What is the "thin API layer" needed to connect SCONE to a musculoskeletal simulation package doing? Implementing methods to read in models and input data from a specific specific format? I would add few words about this feature.

Documentation

A statement of need

The same comment about the software paper applies to the documentation, since the description of the software in the SCONE website is identical the submitted paper.

Functionality documentation

Considering the broad audience of the project, the users will have variable background in terms of computer skills. The documentation is currently minimal, probably sufficient for a developer but surely not enough for a clinician or someone not belonging to a computational field of research. Also, the concepts of "model, controller, objective, and optimization strategy" are given for granted in the documentation. I would include in the documentation appropriate links and references to help the users to gather at least some basic information about these main conceptual components of SCONE and specify how the documentation will grow in the future (if there is a plan in this respect).
Also, in my opinion, few additional points could be added in the current documentation:

  1. It is not explained how to stop the simulations before the optimization is complete. Is it enough to use “Abort Optimizations”? Can the optimizations of the scenario be restarted from that point at another time?
  2. Can any OpenSim model be used in a scenario or just 2D models? Is there any guideline on how to build scenarios with new models?
  3. In my machine, the "Optimization Results" window does not update while I am optimizing the scenario, when the optimization is concluded or when I abort the optimization. It updates only if I restart the application, is this a bug or a feature to document?

Minor note: In the first tutorial, "File>open scenario" does not correspond to the software, where there is only “open”

Community guidelines

It seems that feature requests and bug tracking at the moment are done via github and not via the the simtk.org links provide on the SCONE website. Maybe it is worth including the github links together with simtk?

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented May 21, 2019

Thank you @modenaxe for the great feedback. I will add the suggested content to the documentation in the upcoming days. It is indeed our plan to develop a user base outside core developers, and feedback like this is essential to achieve that.

In general, the plan is to continuously improve the website and documentation based on user feedback. Funding has been secured to enable this until at least the end of 2020; we are currently investigating various options to extend funding after that.

The link to the issue tracker and the tutorial inconsistency have already been fixed.

Concerning your issue of the Optimization Results not updating, this is indeed a software issue (one I have not encountered before). It would be highly appreciated if you can report the issue so we can tackle it properly.

@modenaxe

This comment has been minimized.

Copy link

@modenaxe modenaxe commented May 22, 2019

you're welcome @tgeijten! I realised I have another comment about functionality. Can SCONE be used also with just torque actuators acting at the joints? That would make the software of interest also for robotics. (This is more of a personal curiosity than a comment related to the software manuscript.)

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented May 22, 2019

Yes -- that's a good point. It can work with any actuator, although there is somewhat of a focus on neuromuscular control strategies. But it can definitely be used for robotics, especially assistive devices. I'll adapt the text to make that more clear.

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented May 29, 2019

@Kevin-Mattheus-Moerman do I need finish all suggested documentation updates first or can we proceed with the publication?

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented May 29, 2019

@tgeijten I would implement changes as soon as they are suggested. This keeps the reviewers happy and involved. So yeah start implementing those changes and alert the reviewers when you've done so.

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented Jun 4, 2019

@Kevin-Mattheus-Moerman thanks for the suggestion. @modenaxe, I have implemented all the changes suggested by you on the SCONE website -- I'm curious to hear if you agree. @demotu I am also eagerly awaiting your feedback!

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented Jun 7, 2019

@Kevin-Mattheus-Moerman we haven't heard from @demotu since the beginning of the review (May 1st). What to do?

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 7, 2019

@tgeijten I've e-mailed @demotu a reminder. If we do not hear back from him we'll proceed without his review.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 7, 2019

@modenaxe thanks again for the awesome review efforts here! Can you review the changes implemented by @tgeijten?

@modenaxe

This comment has been minimized.

Copy link

@modenaxe modenaxe commented Jun 10, 2019

Thanks @tgeijten, I am happy with the changes. In my opinion there are these few additional points to clarify to conclude the review process:

  • target users have been specified in the website but not in the paper. According to the guidelines above (the only box I haven't ticked yet) I think you should add them also in the software paper.
  • in the paper "employ" should be "employed" on fourth paragraph.
  • I couldn't find a comment about the use of 3D models in the website. I would include it in the FAQ section of the website.
  • Can the optimization of a scenario be resumed if aborted before convergence?
  • the issue tracker links are still redirecting to simtk, not github, in License and contributing.

Other than this, I am ok with the rest, well done!

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 10, 2019

@tgeijten do you currently have community guidelines?

  • Can you add a CONTRIBUTING.md file to your repository and link to it e.g. with the heading Contributing in your README? There are templates you can find (this is a detailed one, one of mine is a bit shorter as an example).

  • I recommend that you also add a CODE_OF_CONDUCT.md file and link to it in the README. A great template you can copy is available here (be sure to enter you contact details in the COC document).

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented Jun 12, 2019

Thanks again @modenaxe for checking everything so thoroughly. I have addressed all points mentioned in your post, most of which have been added to the SCONE FAQ. In the paper, I replaced the 'features of SCONE' list with an 'intended users' list; I believe it works better that way, let me know if you agree.

Thanks @Kevin-Mattheus-Moerman for the suggestions and examples. I have added a CONTRIBUTING.md and updated the README.md, as well as some of the links on the website. I will consider adding a CODE_OF_CONDUCT.md later, even though I hope it won't be necessary ☺️

@demotu

This comment has been minimized.

Copy link
Collaborator

@demotu demotu commented Jun 12, 2019

I installed SCONE and ran some examples and tutorials. The software runs perfect and the documentation is very well written. After the additions that have been made I don't have any critics to the paper. Congratulations for all the work.

@modenaxe

This comment has been minimized.

Copy link

@modenaxe modenaxe commented Jun 12, 2019

@Kevin-Mattheus-Moerman for me the paper can be published.
Congratulations @tgeijten!

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 12, 2019

@modenaxe great. Thanks a lot!

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented Jun 14, 2019

@Kevin-Mattheus-Moerman thanks for the information. I've uploaded the repository to ZENODO, the resulting DOI is 10.5281/zenodo.3245810.

The latest release is version 1.1.1, but I believe the reviews are based on version 1.0.0. Both versions are available in the repository as separate branches.

Please let me know if you need anything else at this point.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 14, 2019

@whedon set 10.5281/zenodo.3245810 as archive

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

OK. 10.5281/zenodo.3245810 is the archive.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 14, 2019

@tgeijten just to be sure. If the latest version (v1.1.1) contains the changes implemented during the review process please archive that version.

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented Jun 14, 2019

@Kevin-Mattheus-Moerman yes, the archived version is an up-to-date snapshot from the repository. It contains all the changes implemented during the review.

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented Jun 14, 2019

@Kevin-Mattheus-Moerman sorry, I think I misread. Just to be complete:

  • The archived version is the most recent (today's) version of the repository. It contains all the code in binary releases that have been tested by the reviewers (in separate branches).
  • Changes suggested by reviewers are only in text (e.g. CONTRIBUTING.md) and on the website, not to the actual source code. These textual changes have only been applied to the master branch and do not have a new version number, since the version numbers coincide with binary releases (which there haven't been since these changes).

Hope that makes it a bit clearer, sorry for the confusion.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 14, 2019

@tgeijten sorry what is still unclear is the version tag we should use here since you said

The latest release is version 1.1.1, but I believe the reviews are based on version 1.0.0

But you also said:

The archived version is the most recent (today's) version

However, the ZENODO archive is labelled as v1.0.0.

I get the impression review started here with v1.0.0 and that now (after review) it is at v1.1.1? Is this correct? If so we'll use v1.1.1 as the assigned version here, and also you'd need to update the metadata on ZENODO to reflect that version tag.

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented Jun 14, 2019

@Kevin-Mattheus-Moerman sorry for the confusion, but version 1.1.1 also does not contain the (textual) changes suggested by reviewers. These changes are only in the master branch and have no version number assigned to them.

What do you suggest I do? The next 'official' release to incorporate all these changes (and many others) will be 1.2.0, but that's still in development. I could also create a new artificial version tag to represent the current intermediate state, but I'm not sure if that will be helpful to users.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 14, 2019

@tgeijten I got it now sorry you did say that earlier. We go with version 1.0.0 since that was reviewed, contains the requested changes, and has been archived.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 14, 2019

@whedon set v1.0.0 as version

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

OK. v1.0.0 is the version.

@Kevin-Mattheus-Moerman

This comment has been minimized.

Copy link
Member

@Kevin-Mattheus-Moerman Kevin-Mattheus-Moerman commented Jun 14, 2019

@openjournals/joss-eics this submission is ready to be accepted

@arfon

This comment has been minimized.

Copy link
Member

@arfon arfon commented Jun 14, 2019

@whedon accept

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

Attempting dry run of processing paper acceptance...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019


OK DOIs

- 10.1115/1.1392310 is OK
- 10.1145/2508363.2508399 is OK
- 10.1371/journal.pcbi.1006223 is OK
- 10.1007/3-540-32494-1_4 is OK
- 10.1109/TNSRE.2010.2047592 is OK

MISSING DOIs

- None

INVALID DOIs

- None
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

Check final proof 👉 openjournals/joss-papers#760

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#760, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true
@arfon

This comment has been minimized.

Copy link
Member

@arfon arfon commented Jun 14, 2019

@whedon accept deposit=true

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

Doing it live! Attempting automated processing of paper acceptance...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 openjournals/joss-papers#761
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01421
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? notify your editorial technical team...

@arfon

This comment has been minimized.

Copy link
Member

@arfon arfon commented Jun 14, 2019

@modenaxe, @demotu - many thanks for your reviews here and to @Kevin-Mattheus-Moerman for editing this submission

@tgeijten - your paper is now accepted into JOSS ⚡️🚀💥

@arfon arfon closed this Jun 14, 2019
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Jun 14, 2019

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](http://joss.theoj.org/papers/10.21105/joss.01421/status.svg)](https://doi.org/10.21105/joss.01421)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.01421">
  <img src="http://joss.theoj.org/papers/10.21105/joss.01421/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: http://joss.theoj.org/papers/10.21105/joss.01421/status.svg
   :target: https://doi.org/10.21105/joss.01421

This is how it will look in your documentation:

DOI

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:

@tgeijten

This comment has been minimized.

Copy link

@tgeijten tgeijten commented Jun 17, 2019

Great news! Thank you for your efforts, @modenaxe, @Kevin-Mattheus-Moerman and @demotu!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.