openjournals / joss-reviews

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

[REVIEW]: activAnalyzer: An R Shiny app to analyse ActiGraph accelerometer data and to implement the use of the PROactive Physical Activity in COPD instruments #4741

Closed editorialbot closed 1 year ago

editorialbot commented 2 years ago

Submitting author: !--author-handle-->@pydemull<!--end-author-handle-- (Pierre-Yves de Müllenheim) Repository: https://github.com/pydemull/activAnalyzer Branch with paper.md (empty if default branch): Version: v1.1.0 Editor: !--editor-->@samhforbes<!--end-editor-- Reviewers: @elimillera, @angerhang Archive: 10.5281/zenodo.7384191

Status

status

Status badge code:

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

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

@elimillera & @spitschan & @angerhang, 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 @samhforbes 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 @angerhang

📝 Checklist for @elimillera

editorialbot commented 2 years 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 2 years ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.09 s (1125.1 files/s, 244759.2 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
R                               68           1803           2113          11621
XML                              1              0            129           1589
Markdown                         6            207              0            825
TeX                              4             55              0            771
Rmd                             10            298            683            657
CSS                              2             62             16            274
YAML                             7             35              8            173
-------------------------------------------------------------------------------
SUM:                            98           2460           2949          15910
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 2 years ago

Wordcount for paper.md is 1135

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

OK DOIs

- 10.1016/j.pcad.2014.10.005 is OK
- 10.1016/j.rmed.2021.106353 is OK
- 10.1111/sms.14085 is OK
- 10.1249/MSS.0000000000000468 is OK
- 10.1136/bmjresp-2018-000350 is OK
- 10.1249/MSS.0b013e318258cb36 is OK
- 10.1249/MSS.0b013e3181fc7162 is OK
- 10.15326/jcopdf.2021.0213 is OK
- 10.1183/09031936.00004814 is OK
- 10.1136/bjsports-2019-101765 is OK
- 10.1136/thoraxjnl-2020-214554 is OK
- 10.1093/gerona/53A.4.M275 is OK
- 10.1183/09031936.00183014 is OK
- 10.1371/journal.pone.0077036 is OK
- 10.1249/MSS.0b013e3182399dcc is OK
- 10.1249/MSS.0000000000001073 is OK
- 10.1016/j.arbres.2020.08.001 is OK
- 10.1007/s40279-017-0716-0 is OK
- 10.1136/bmjresp-2020-000737 is OK
- 10.1016/S2213-2600(20)30105-3 is OK
- 10.1183/09031936.00023214 is OK
- 10.2147/COPD.S214410 is OK
- 10.32614/RJ-2014-024 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 2 years ago

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

samhforbes commented 2 years ago

Hi @elimillera, @spitschan, @angerhang please see the instructions at the top of the review thread.

Once you've generated your checklist you can use this as the basis for your review. Generally speaking it's useful to post an overview here, but deal with individual points by opening issues on the target repository, and linking them here so we are all on the same page. Feel free to direct any queries to me, but otherwise we look forward to the benefit of your expertise.

angerhang commented 2 years ago

Review checklist for @angerhang

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

angerhang commented 2 years ago

Overall, I found activAnalyzer easy to navigate and use. The documentation and paper are well-written and easy to follow. So happy to see another open source software trying to reduce the hurdle of the costly ActiLife software in the community. The added integration of COPD questionnaires is excellent. I am happy to tick most of the checkboxes above with a few minor comments:

@pydemull thanks a lot for making this valuable contribution to the community. I look forward to your revisions and seeing the generated report myself using some of the test files before signing off the rest of the checklist.

Great job, nontheless :D

elimillera commented 2 years ago

Review checklist for @elimillera

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

pydemull commented 2 years ago

Thank you very much @angerhang for your comments. Before making the required changes to the package, I have some questions to be sure of what you want.

  1. Regarding the issue related to the "gender" options: Actually, it was not "Gender" (that refers to a "constellation of sociocultural processes that interact with and have the potential to influence human biology" [Schiebinger, et al. Lancet. 2016]) but "Sex" (that refers to "a biological variable based upon chromosomal assignment, and generally male, female, or intersex" [Schiebinger, op. cit.]) that should be provided. While I totally respect and am happy with all the gender categories, there are two reasons for which I choose sex information only. The first one is that the equations used in the app (and that have been previously published) actually use a binary classification (male/female, men/women) and I suspect that the studies that used the "gender" term when they did not use the "sex" term, actually took (reported) sex information, because there are of course more than only two gender categories. The second reason is that gender may be more complex to assess, at least when reported (but I may be wrong when saying this), and because the app did not need this information, I prefered to avoid this difficulty. However, in the editorial by Schiebinger cited above, the term "intersex" is evocated, and this may be an information confirming that my options are indeed incomplete. Would it be ok for you if I keep the "sex" information with the following options: "male", "female", "intersex", "undefined"?
  2. Regarding your remarks for the .agd file: Actually, once the package is installed locally, you can access the file by the following code (as shown in the examples of the functions): file <- system.file("extdata", "acc.agd", package = "activAnalyzer"). This is the data file that is loaded when the user clicks on the dedicated button to choose the "demo file" inside the app. This also is this file that is used for my CI tests that are performed thanks to the files that can be found in the "tests" folder of the package. So yes, there are CI tests (or maybe you though about other things?). Based on this comment, would you prefer I make available the agd file content when the user uses the data() function? Or my explanations are now sufficient for you?

Thanks a lot for your time and work.

angerhang commented 2 years ago

Thank you very much @angerhang for your comments. Before making the required changes to the package, I have some questions to be sure of what you want.

  1. Regarding the issue related to the "gender" options: Actually, it was not "Gender" (that refers to a "constellation of sociocultural processes that interact with and have the potential to influence human biology" [Schiebinger, et al. Lancet. 2016]) but "Sex" (that refers to "a biological variable based upon chromosomal assignment, and generally male, female, or intersex" [Schiebinger, op. cit.]) that should be provided. While I totally respect and am happy with all the gender categories, there are two reasons for which I choose sex information only. The first one is that the equations used in the app (and that have been previously published) actually use a binary classification (male/female, men/women) and I suspect that the studies that used the "gender" term when they did not use the "sex" term, actually took (reported) sex information, because there are of course more than only two gender categories. The second reason is that gender may be more complex to assess, at least when reported (but I may be wrong when saying this), and because the app did not need this information, I prefered to avoid this difficulty. However, in the editorial by Schiebinger cited above, the term "intersex" is evocated, and this may be an information confirming that my options are indeed incomplete. Would it be ok for you if I keep the "sex" information with the following options: "male", "female", "intersex", "undefined"?
  2. Regarding your remarks for the .agd file: Actually, once the package is installed locally, you can access the file by the following code (as shown in the examples of the functions): file <- system.file("extdata", "acc.agd", package = "activAnalyzer"). This is the data file that is loaded when the user clicks on the dedicated button to choose the "demo file" inside the app. This also is this file that is used for my CI tests that are performed thanks to the files that can be found in the "tests" folder of the package. So yes, there are CI tests (or maybe you though about other things?). Based on this comment, would you prefer I make available the agd file content when the user uses the data() function? Or my explanations are now sufficient for you?

Thanks a lot for your time and work.

  1. Thanks a lot for your response @pydemull . Now I understand the rationale of your design choice. Thanks for being willing to build a more inclusive scientific software. Perhaps intersex and undefined will work? I guess with non-binary individuals, you will just take an average of both sex for your calculation?

  2. I think your explanations are sufficient. I will try testing the software using the sample data this weekend. Thanks a lot!

pydemull commented 2 years ago

Dear @samhforbes @angerhang @elimillera, CRAN has requested I make some updates of the package so that it passes R-dev checking (this is in relation with a planned update of R regarding as.character.POSIXt()). I have made the update and the current CRAN version is now 1.0.5. (Thus, I will have to make a change in the JOSS paper where I gave a version number for the package; I will remove the version number for the package). Sincerely

pydemull commented 2 years ago

Thank you very much @angerhang for your comments. Before making the required changes to the package, I have some questions to be sure of what you want.

  1. Regarding the issue related to the "gender" options: Actually, it was not "Gender" (that refers to a "constellation of sociocultural processes that interact with and have the potential to influence human biology" [Schiebinger, et al. Lancet. 2016]) but "Sex" (that refers to "a biological variable based upon chromosomal assignment, and generally male, female, or intersex" [Schiebinger, op. cit.]) that should be provided. While I totally respect and am happy with all the gender categories, there are two reasons for which I choose sex information only. The first one is that the equations used in the app (and that have been previously published) actually use a binary classification (male/female, men/women) and I suspect that the studies that used the "gender" term when they did not use the "sex" term, actually took (reported) sex information, because there are of course more than only two gender categories. The second reason is that gender may be more complex to assess, at least when reported (but I may be wrong when saying this), and because the app did not need this information, I prefered to avoid this difficulty. However, in the editorial by Schiebinger cited above, the term "intersex" is evocated, and this may be an information confirming that my options are indeed incomplete. Would it be ok for you if I keep the "sex" information with the following options: "male", "female", "intersex", "undefined"?
  2. Regarding your remarks for the .agd file: Actually, once the package is installed locally, you can access the file by the following code (as shown in the examples of the functions): file <- system.file("extdata", "acc.agd", package = "activAnalyzer"). This is the data file that is loaded when the user clicks on the dedicated button to choose the "demo file" inside the app. This also is this file that is used for my CI tests that are performed thanks to the files that can be found in the "tests" folder of the package. So yes, there are CI tests (or maybe you though about other things?). Based on this comment, would you prefer I make available the agd file content when the user uses the data() function? Or my explanations are now sufficient for you?

Thanks a lot for your time and work.

  1. Thanks a lot for your response @pydemull . Now I understand the rationale of your design choice. Thanks for being willing to build a more inclusive scientific software. Perhaps intersex and undefined will work? I guess with non-binary individuals, you will just take an average of both sex for your calculation?
  2. I think your explanations are sufficient. I will try testing the software using the sample data this weekend. Thanks a lot!

Good question for the calculation with intersex... I have not yet found any reference regarding energy expenditure for this. I must think about it...

samhforbes commented 2 years ago

@pydemull not to worry, we can set the version number both here and in the paper at the end.

Thanks everyone for your discussions and input to date!

angerhang commented 2 years ago

Thank you very much @angerhang for your comments. Before making the required changes to the package, I have some questions to be sure of what you want.

  1. Regarding the issue related to the "gender" options: Actually, it was not "Gender" (that refers to a "constellation of sociocultural processes that interact with and have the potential to influence human biology" [Schiebinger, et al. Lancet. 2016]) but "Sex" (that refers to "a biological variable based upon chromosomal assignment, and generally male, female, or intersex" [Schiebinger, op. cit.]) that should be provided. While I totally respect and am happy with all the gender categories, there are two reasons for which I choose sex information only. The first one is that the equations used in the app (and that have been previously published) actually use a binary classification (male/female, men/women) and I suspect that the studies that used the "gender" term when they did not use the "sex" term, actually took (reported) sex information, because there are of course more than only two gender categories. The second reason is that gender may be more complex to assess, at least when reported (but I may be wrong when saying this), and because the app did not need this information, I prefered to avoid this difficulty. However, in the editorial by Schiebinger cited above, the term "intersex" is evocated, and this may be an information confirming that my options are indeed incomplete. Would it be ok for you if I keep the "sex" information with the following options: "male", "female", "intersex", "undefined"?
  2. Regarding your remarks for the .agd file: Actually, once the package is installed locally, you can access the file by the following code (as shown in the examples of the functions): file <- system.file("extdata", "acc.agd", package = "activAnalyzer"). This is the data file that is loaded when the user clicks on the dedicated button to choose the "demo file" inside the app. This also is this file that is used for my CI tests that are performed thanks to the files that can be found in the "tests" folder of the package. So yes, there are CI tests (or maybe you though about other things?). Based on this comment, would you prefer I make available the agd file content when the user uses the data() function? Or my explanations are now sufficient for you?

Thanks a lot for your time and work.

  1. Thanks a lot for your response @pydemull . Now I understand the rationale of your design choice. Thanks for being willing to build a more inclusive scientific software. Perhaps intersex and undefined will work? I guess with non-binary individuals, you will just take an average of both sex for your calculation?
  2. I think your explanations are sufficient. I will try testing the software using the sample data this weekend. Thanks a lot!

Tested with the demo data. The report generated is super sick! Am sure many will benefit from using this software. There are still outstanding tasks regarding the sex calculation and dependency instructions. But I am happy to tick all the boxes from my checklist :D

pydemull commented 2 years ago

Thanks again for your comments! I have provided answers for the two issues you have opened. Regarding the dependency instructions, I am not sure your comment above was done before or after my answer on the dedicated GitHub issue. Please tell me if it is not enough. Best

samhforbes commented 2 years ago

Thanks @angerhang for the productive comments so far.

Hi @elimillera, @spitschan - while the last couple of comments from @angerhang are resolved, do let us know if there's any issues with completing the review, or let @pydemull know if there's any barriers to running anything for the review.

elimillera commented 2 years ago

Hey @pydemull, I've reviewed the package, repository, and paper. I've ran all the tests I generally run to determine package quality and they are all coming back green, they repository is well formed and has good CI and contributor information, and the paper is well written.

Looks good to me!

pydemull commented 2 years ago

Thanks @elimillera for your time and work. Glad to know that all seem ok for you. @samhforbes, @angerhang, for information I have merged the dev branch with the master branch in relation to the modifications made following the @angerhang's comments. I have then taken the liberty to close the issues opened by @angerhang. Best

samhforbes commented 1 year ago

@editorialbot remove @spitschan from reviewers

editorialbot commented 1 year ago

@spitschan removed from the reviewers list!

samhforbes commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

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

samhforbes commented 1 year ago

Hi @pydemull this is a neat piece of work, and I like the implementation of the GUI as well.

Please note we have removed a reviewer since they have been too busy to continue the review. I am looking through the paper and note some small errors. I flag the ones I see here, but perhaps you wouldn't mind having a careful read through as well.

G-force data are developping -> developing Such a framework requires to combine scores related to answers to questionnaire items and scores related to accelerometer metrics obtained from a week of measurement. -> Such a framework requires combining scores relating to answers of questionnaire items and scores relating to...

The app can be used according to three different ways -> The app can be used in three different ways the app will require to install -> the app will require the installation of

he/she has to deal with four ordered sections -> they have to... (and again for the he/she below)

samhforbes commented 1 year ago

@editorialbot set v1.0.5 as version

editorialbot commented 1 year ago

Done! version is now v1.0.5

samhforbes commented 1 year ago

@editorialbot check references

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

OK DOIs

- 10.1016/j.pcad.2014.10.005 is OK
- 10.1016/j.rmed.2021.106353 is OK
- 10.1111/sms.14085 is OK
- 10.1249/MSS.0000000000000468 is OK
- 10.1136/bmjresp-2018-000350 is OK
- 10.1249/MSS.0b013e318258cb36 is OK
- 10.1249/MSS.0b013e3181fc7162 is OK
- 10.15326/jcopdf.2021.0213 is OK
- 10.1183/09031936.00004814 is OK
- 10.1136/bjsports-2019-101765 is OK
- 10.1136/thoraxjnl-2020-214554 is OK
- 10.1093/gerona/53A.4.M275 is OK
- 10.1183/09031936.00183014 is OK
- 10.1371/journal.pone.0077036 is OK
- 10.1249/MSS.0b013e3182399dcc is OK
- 10.1249/MSS.0000000000001073 is OK
- 10.1016/j.arbres.2020.08.001 is OK
- 10.1007/s40279-017-0716-0 is OK
- 10.1136/bmjresp-2020-000737 is OK
- 10.1016/S2213-2600(20)30105-3 is OK
- 10.1183/09031936.00023214 is OK
- 10.2147/COPD.S214410 is OK
- 10.32614/RJ-2014-024 is OK

MISSING DOIs

- None

INVALID DOIs

- None
samhforbes commented 1 year ago

thanks @editorialbot

editorialbot commented 1 year ago

You are welcome

pydemull commented 1 year ago

Thank you very much @samhforbes for checking the app and the paper. I have made the corrections following your remarks. I have also performed a new read of the paper without detecting new errors but, to be honest, as a non-native english speacker, it is possible that I may not be able to manage all the the subtleties of the English language if any.

samhforbes commented 1 year ago

Hi @pydemull great that looks like it's cleaned it up. Can you please make a tagged release, and archive that somewhere with a DOI (such as Zenodo for instance) and then post the DOI here?

samhforbes commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

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

samhforbes commented 1 year ago

@editorialbot check references

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

OK DOIs

- 10.1016/j.pcad.2014.10.005 is OK
- 10.1016/j.rmed.2021.106353 is OK
- 10.1111/sms.14085 is OK
- 10.1249/MSS.0000000000000468 is OK
- 10.1136/bmjresp-2018-000350 is OK
- 10.1249/MSS.0b013e318258cb36 is OK
- 10.1249/MSS.0b013e3181fc7162 is OK
- 10.15326/jcopdf.2021.0213 is OK
- 10.1183/09031936.00004814 is OK
- 10.1136/bjsports-2019-101765 is OK
- 10.1136/thoraxjnl-2020-214554 is OK
- 10.1093/gerona/53A.4.M275 is OK
- 10.1183/09031936.00183014 is OK
- 10.1371/journal.pone.0077036 is OK
- 10.1249/MSS.0b013e3182399dcc is OK
- 10.1249/MSS.0000000000001073 is OK
- 10.1016/j.arbres.2020.08.001 is OK
- 10.1007/s40279-017-0716-0 is OK
- 10.1136/bmjresp-2020-000737 is OK
- 10.1016/S2213-2600(20)30105-3 is OK
- 10.1183/09031936.00023214 is OK
- 10.2147/COPD.S214410 is OK
- 10.32614/RJ-2014-024 is OK

MISSING DOIs

- None

INVALID DOIs

- None
pydemull commented 1 year ago

Sorry @samhforbes I am not sure of the materials I have to put on Zenodo. Is it the source code of the version 1.0.5 ? (this version does not contain all the updates made after the comments from one of the reviewer). Or is it the source code of the development version that is currently on the master branch? (knowing that some other improvements have been made since the feedbacks from the reviewers).

samhforbes commented 1 year ago

Hi @pydemull sorry I missed this coming through. You want a tagged release of the post review version, which is what gets put on Zenodo.

pydemull commented 1 year ago

Ok thanks a lot @samhforbes. So, I will tagg a version 1.1.0, because the current version contains, in addition to the features asked by the reviewers, two new features: possibility to zoom in on the graphics of the app, and the possibility to manually add physical activity information (eg, relating to what has been done during device removal periods) into the accelerometer dataset. I will update the article using this version number.

samhforbes commented 1 year ago

Perfect, paste the DOI here when done, and I'll update the metadata as well!

pydemull commented 1 year ago

@samhforbes please find here the DOI: 10.5281/zenodo.7384191 Regarding the article, I have removed from the text the version number associated to the CRAN version for more simplicity. The current version is thus 1.1.0. Best

samhforbes commented 1 year ago

@editorialbot set v1.1.0 as version

editorialbot commented 1 year ago

Done! version is now v1.1.0

samhforbes commented 1 year ago

@editorialbot set 10.5281/zenodo.7384191 as archive

editorialbot commented 1 year ago

Done! Archive is now 10.5281/zenodo.7384191

samhforbes commented 1 year ago

@pydemull this looks good and the archive seems to contain everything. I am recommending accept - well done on a great paper and software package.

samhforbes commented 1 year ago

@editorialbot recommend-accept

editorialbot commented 1 year ago
Attempting dry run of processing paper acceptance...
editorialbot commented 1 year ago

:wave: @openjournals/sbcs-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/3770, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

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

OK DOIs

- 10.1016/j.pcad.2014.10.005 is OK
- 10.1016/j.rmed.2021.106353 is OK
- 10.1111/sms.14085 is OK
- 10.1249/MSS.0000000000000468 is OK
- 10.1136/bmjresp-2018-000350 is OK
- 10.1249/MSS.0b013e318258cb36 is OK
- 10.1249/MSS.0b013e3181fc7162 is OK
- 10.15326/jcopdf.2021.0213 is OK
- 10.1183/09031936.00004814 is OK
- 10.1136/bjsports-2019-101765 is OK
- 10.1136/thoraxjnl-2020-214554 is OK
- 10.1093/gerona/53A.4.M275 is OK
- 10.1183/09031936.00183014 is OK
- 10.1371/journal.pone.0077036 is OK
- 10.1249/MSS.0b013e3182399dcc is OK
- 10.1249/MSS.0000000000001073 is OK
- 10.1016/j.arbres.2020.08.001 is OK
- 10.1007/s40279-017-0716-0 is OK
- 10.1136/bmjresp-2020-000737 is OK
- 10.1016/S2213-2600(20)30105-3 is OK
- 10.1183/09031936.00023214 is OK
- 10.2147/COPD.S214410 is OK
- 10.32614/RJ-2014-024 is OK

MISSING DOIs

- None

INVALID DOIs

- None