Closed whedon closed 2 years ago
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @axel-loewe it looks like you're currently assigned to review this paper :tada:.
:warning: JOSS reduced service mode :warning:
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.
:star: Important :star:
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:
@whedon commands
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
@whedon generate pdf
@whedon generate pdf from branch dev
Attempting PDF compilation from custom branch dev. Reticulating splines etc...
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@whedon add @janfreyberg as reviewer
OK, @janfreyberg is now a reviewer
Sorry @janfreyberg, I had forgot to add you in the pre-review issue. Created your checklist manually now. Please let me know if it doesn't work.
Overall, the manuscript is nicely written and already fulfills most quality criteria.
Functionality
[x] Installation: Does installation proceed as outlined in the documentation?
I had trouble to install systole because of the numba/numpy dependencies. It did not install via pip on different machines and operating systems (macOS and CentOS) with the following error:
numba 0.54.1 requires numpy<1.21,>=1.17, but you'll have numpy 1.21.2 which is incompatible.
Reported as https://github.com/embodied-computation-group/systole/issues/19[x] Functionality: Have the functional claims of the software been confirmed? Cannot be evaluated if not installing.
[x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.) Cannot be evaluated if not installing.
Documentation
[x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
Dependencies are managed in a requirements.txt file and mentioned in the docs. 2 are listed in the requirements file but not on the web page: pyserial, setuptools
The dependencies also lead to a minimum required Python version of 3.7, which should be mentioned.
[x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
The authors might want to check the images on website. Some on the front end did not load (lab logos).
[x] 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
The repository could benefit from a CONTRIBUTING file clearly outlining potential ways to contribute to systole. Issues seem to be collected in the GitHub issue tracker. This could be mentioned explicitly. I would also encourage the authors to clearly communicate via which channels users can ask for support. Ideally a platform that makes the answers available to other users as well.
[ ] State of the field: Do the authors describe how this software compares to other commonly-used packages?
As mentioned by the authors, systole is inspired by existing toolboxes. It would be helpful to spell out clearly what the unique features of systole are.
Along these lines, it would also be helpful to compare systole against other software solutions.
[x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
L.43: Use \cite instead of \citep
@LegrandNico, can you please address the points raised by @axel-loewe in the post above, and report on the progress here?
Thank you for reviewing this package, and sorry for the delay in providing fixes for the issues I have been on holiday for the last two weeks.
I have moved all the modifications and the paper to the master branch to simplify the review process. The package can be installed for the master branch, but it is not updated yet on pip as it might be better to wait for the final version (?).
I have committed modifications for some of the comments regarding the package dependencies and the documentation, I still need to work on @axel-loewe 's Community guidelines and State of the field, I will do this as soon as possible
Thanks @LegrandNico. Just wanted to comment that I agree that it makes sense to wait with updating pip until the final version.
:wave: @axel-loewe, please update us on how your review is going (this is an automated reminder).
@whedon generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
All software-related review items look great to me now - the software installs and runs as documented. Pending the state of the field addition to the paper, all looks good to me :)
One point: I was unable to run the code related to online signal processing, as it requires hardware. This code is also not tested automatically. However, given the nature of the code, I don't think it's possible to change that without extensive mocking, which I think would be pointless, so happy to leave this untested!
I had to install requests
as an additional dependency that was not listed.
Also, I had to add a couple of imports in order to run the Getting Started examples (e.g., from systole.plots plot_raw
)
Thanks to both @axel-loewe and @janfreyberg. @LegrandNico, please ping us in this thread when you have fixed the remaining issues raised by the reviewers in their last two comments.
All import and documentation issues should be fixed now.
We have created a public Gitter channel.
l.43 The reference @lipponen:2019
is not rendering correctly, even though, from what I can see, it follows the example provided on JOSS documentation.
Regarding the inspiration from other toolboxes, Systole is primarily made from code that was developed in the lab from scratch to implement new or preexisting algorithms, in which case the reference to the original article is mentioned in the docstring. Most of the time, no Python code was copied/duplicated. One main exception is the re-implementation of the ECG peaks detection algorithms from the py-ecg-detectors package. This package was previously part of the dependencies but we finally re-implemented the code directly in Systole to allow acceleration using Numba. We try to mention and credit this as much as possible in the docstrings, tutorial and example. It could maybe be more emphasised in the paper? Also, while we want to make this import explicit, it is also worth noting that it is not an identical copy, but that the functions have been significantly refactored and performance improved.
We can run some comparisons with other software, the most straightforward one would be performance comparison on feature detection and artefact correction with other software (e.g. mne, neurokit). Is there a specific analysis/dataset we should be used in particular?
- Regarding the inspiration from other toolboxes, Systole is primarily made from code that was developed in the lab from scratch to implement new or preexisting algorithms, in which case the reference to the original article is mentioned in the docstring. Most of the time, no Python code was copied/duplicated. One main exception is the re-implementation of the ECG peaks detection algorithms from the py-ecg-detectors package. This package was previously part of the dependencies but we finally re-implemented the code directly in Systole to allow acceleration using Numba. We try to mention and credit this as much as possible in the docstrings, tutorial and example. It could maybe be more emphasised in the paper? Also, while we want to make this import explicit, it is also worth noting that it is not an identical copy, but that the functions have been significantly refactored and performance improved.
- We can run some comparisons with other software, the most straightforward one would be performance comparison on feature detection and artefact correction with other software (e.g. mne, neurokit). Is there a specific analysis/dataset we should be used in particular?
Both these comments were more aiming at a clear description what the unique features of systole are, i.e. why a user might want to chose systole rather than one of the alternative solutions.
@whedon generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
- Regarding the inspiration from other toolboxes, Systole is primarily made from code that was developed in the lab from scratch to implement new or preexisting algorithms, in which case the reference to the original article is mentioned in the docstring. Most of the time, no Python code was copied/duplicated. One main exception is the re-implementation of the ECG peaks detection algorithms from the py-ecg-detectors package. This package was previously part of the dependencies but we finally re-implemented the code directly in Systole to allow acceleration using Numba. We try to mention and credit this as much as possible in the docstrings, tutorial and example. It could maybe be more emphasised in the paper? Also, while we want to make this import explicit, it is also worth noting that it is not an identical copy, but that the functions have been significantly refactored and performance improved.
- We can run some comparisons with other software, the most straightforward one would be performance comparison on feature detection and artefact correction with other software (e.g. mne, neurokit). Is there a specific analysis/dataset we should be used in particular?
Both these comments were more aiming at a clear description what the unique features of systole are, i.e. why a user might want to chose systole rather than one of the alternative solutions.
@LegrandNico, could you please address this point raised by @axel-loewe and notify us here once the manuscript has been updated?
@axel-loewe, there are a couple of unchecked boxed in your review checklist at the top of this thread, in regarding Functionality and Documentation. Could you please check if these have been addressed the authors, and if so, update the checklist? If your these issues have not been sufficiently addressed, please suggest what remains to be done.
I have added a sentence in the manuscript to clarify the unique features of the package.
If this one is accepted, I think I have fixed all the issues that were raised by the reviewers.
Just let me know if I can do anything to improve the package/manuscript.
Thanks @LegrandNico.
@axel-loewe, can you please see if your points have been addressed, and if so, update the checklist at the top of this thread?
@whedon generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
All good from my end!
@whedono check references
I'm sorry human, I don't understand that. You can see what commands I support by typing:
@whedon commands
@whedon check references
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1109/MCSE.2007.55 is OK
- 10.1101/2020.06.10.144428 is OK
- 10.1101/2021.02.18.431871 is OK
- 10.5281/ZENODO.3353396 is OK
- 10.1016/j.trf.2019.09.015 is OK
- 10.1080/03091902.2019.1640306 is OK
- 10.3758/s13428-020-01516-y is OK
- 10.3758/s13428-018-01193-y is OK
MISSING DOIs
- None
INVALID DOIs
- None
@LegrandNico, I have created some issues in the source repository pointing out a few things that need to be corrected before I can recommend accept. Also, can you please
@LegrandNico, any news on this? I'm ready to suggest acceptance once you've fixed the issues I pointed out in the source repository and completed the points in my previous post.
I have just release v0.2.2. The list of version tags is the following:
The DOI for the last (0.2.2) Zenodo version is 10.5281/zenodo.5787520
@micahgallen can you check the Zenodo metadata and let us know when this is ready?
@whedon set doi as 10.5281/zenodo.5787520
I'm sorry human, I don't understand that. You can see what commands I support by typing:
@whedon commands
@whedon set 10.5281/zenodo.5787520 as archive
OK. 10.5281/zenodo.5787520 is the archive.
@whedon set v0.2.2 as version
OK. v0.2.2 is the version.
@LegrandNico, the title, author list, and version of the Zenodo archive match those of the submission, so I'm ready to recommend accept here. Is this ok with you?
Yes we made all the changes I think we are ready
@whedon recommend-accept
Attempting dry run of processing paper acceptance...
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1109/MCSE.2007.55 is OK
- 10.1101/2020.06.10.144428 is OK
- 10.1101/2021.02.18.431871 is OK
- 10.5281/ZENODO.3353396 is OK
- 10.1016/j.trf.2019.09.015 is OK
- 10.1080/03091902.2019.1640306 is OK
- 10.3758/s13428-020-01516-y is OK
- 10.3758/s13428-018-01193-y is OK
MISSING DOIs
- None
INVALID DOIs
- None
:wave: @openjournals/joss-eics, this paper is ready to be accepted and published.
Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/2847
If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/2847, then you can now move forward with accepting the submission by compiling again with the flag deposit=true
e.g.
@whedon accept deposit=true
@LegrandNico – could you please make sure to cite Scipy, Numpy, Pandas and any other package you mention in your paper please?
I have added the missing citations for Numpy, SciPy and Pandas where they are mentioned in the summary. For Pandas I used the template provided on the website but I think the author list (The pandas development team
) is not rendered correctly in the compiled paper.
@whedon recommend-accept
Submitting author: @LegrandNico (Nicolas Legrand) Repository: https://github.com/embodied-computation-group/systole/ Version: v0.2.2 Editor: @osorensen Reviewers: @axel-loewe, @janfreyberg Archive: 10.5281/zenodo.5787520
:warning: JOSS reduced service mode :warning:
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
@axel-loewe and @janfreyberg, 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 @osorensen 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 @axel-loewe
✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @janfreyberg
✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper