openjournals / joss-reviews

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

[REVIEW]: iTensor: An R package for independent component analysis-based matrix/tensor decomposition #5496

Closed editorialbot closed 1 year ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@kokitsuyuzaki<!--end-author-handle-- (Koki Tsuyuzaki) Repository: https://github.com/rikenbit/iTensor Branch with paper.md (empty if default branch): Version: v1.0.3 Editor: !--editor-->@osorensen<!--end-editor-- Reviewers: @ritika-giri, @devarops Archive: 10.5281/zenodo.8080600

Status

status

Status badge code:

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

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

@ritika-giri & @devarops, 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 @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 ✨

Checklists

πŸ“ Checklist for @devarops

πŸ“ Checklist for @ritika-giri

editorialbot commented 1 year 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 1 year ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.02 s (1357.0 files/s, 196210.6 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
R                               13            168            630           1970
TeX                              2             47             50            308
Markdown                         7             66              0            229
Rmd                              3             89            175             95
YAML                             1             12             13             45
Dockerfile                       1              1              2              4
-------------------------------------------------------------------------------
SUM:                            27            383            870           2651
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 1 year ago

Wordcount for paper.md is 725

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

OK DOIs

- None

MISSING DOIs

- 10.7551/mitpress/7011.003.0009 may be a valid DOI for title: An information-maximization approach to blind separation and blind deconvolution
- 10.1162/089976699300016719 may be a valid DOI for title: Independent component analysis using an extended infomax algorithm for mixed subgaussian and supergaussian sources
- 10.1109/72.761722 may be a valid DOI for title: Fast and robust fixed-point algorithms for independent component analysis
- 10.1049/ip-f-2.1993.0054 may be a valid DOI for title: Blind beamforming for non-gaussian signals
- 10.1007/978-3-642-15995-4_21 may be a valid DOI for title: Auxiliary-Function-Based Independent Component Analysis for Super-Gaussian Sources
- 10.1186/1471-2105-13-24 may be a valid DOI for title: Independent Principal Component Analysis for biologically meaningful dimension reduction of large biological data sets
- 10.1109/31.76486 may be a valid DOI for title: Indeterminacy and identifiability of blind identification
- 10.1109/icassp.1989.266878 may be a valid DOI for title: Source separation using higher order moments
- 10.1109/ijcnn.1999.831077 may be a valid DOI for title: MICA: Multimodal independent component analysis
- 10.1016/j.neuroimage.2008.10.057 may be a valid DOI for title: A review of group ICA for fMRI data and ICA for joint inference of imaging, genetic, and ERP data
- 10.1016/j.sigpro.2022.108457 may be a valid DOI for title: CorrIndex: a permutation invariant performance index
- 10.1109/memb.2006.1607672 may be a valid DOI for title: Unmixing fMRI with Independent Component Analysis
- 10.1038/nbt.2859 may be a valid DOI for title: The dynamics and regulators of cell fate decisions are revealed by pseudotemporal ordering of single cells
- 10.3389/fnins.2013.00267 may be a valid DOI for title: MEG and EEG data analysis with MNE-Python
- 10.1371/journal.pone.0270556 may be a valid DOI for title: Comparing the reliability of different ICA algorithms for fMRI analysis
- 10.1109/spmb.2016.7846858 may be a valid DOI for title: Applying fully tensorial ICA to fMRI data

INVALID DOIs

- None
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:

devarops commented 1 year ago

Review checklist for @devarops

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper


Documentation

Testing

docker run --rm -it -v ${PWD}:/workdir ghcr.io/rikenbit/itensor bash
cd /workdir
Rscript -e "devtools::test(stop_on_failure = TRUE)"
β„Ή Testing iTensor
βœ” | F W S  OK | Context
βœ” |        24 | GroupICA [0.3s]                                                                                   
βœ” |        49 | ICA [0.6s]                                                                                        
βœ” |       132 | ICA2 [51.0s]                                                                                      
βœ” |        29 | MICA [0.6s]                                                                                       
βœ” |        26 | MultilinearICA [1.0s]                                                                             

══ Results ═══════════════════════════════════════════════════════════════════════════════════════════════════════
Duration: 53.4 s

[ FAIL 0 | WARN 0 | SKIP 0 | PASS 260 ]

Coverage

docker run --rm -it -v ${PWD}:/workdir ghcr.io/rikenbit/itensor bash
cd /workdir
Rscript -e "install.packages(c('covr','DT','htmltools'))"
Rscript tests/testthat/coverage.R
iTensor Coverage: 35.80%
R/CorrIndex.R: 0.00%
R/toyModel.R: 0.00%
R/GroupICA.R: 18.14%
R/ICA2.R: 26.93%
R/ICA.R: 62.26%
R/MICA.R: 97.08%
R/MultilinearICA.R: 97.50%

image

tests/testthat/coverage.R:

library(covr)
cov <- package_coverage()
print(cov)
zero_coverage(cov)
report(cov, file = file.path("/workdir/tests/coverage-report.html"), browse = FALSE)
ritika-giri commented 1 year ago

Review checklist for @ritika-giri

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

kokitsuyuzaki 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:

kokitsuyuzaki commented 1 year ago

@ritika-giri Thank you for checking the install process. I replied your comment. https://github.com/rikenbit/iTensor/issues/3#issuecomment-1586745610

ritika-giri commented 1 year ago

@kokitsuyuzaki the install works now, thanks for fixing it!

devarops commented 1 year ago

@osorensen:

Thank you for providing me with the opportunity to review the submission. After careful evaluation, I have found that while there are tests in place, they currently only cover approximately 35.8% of the code. In my opinion, this level of coverage is insufficient to adequately verify the functionality of the software.

In order to address this issue, I would like to suggest some minor revisions to elevate the test coverage. I propose aiming for a minimum coverage of 50% in each file, or preferably reaching a target of 90% coverage across the entire repository. By increasing the test coverage, we can significantly improve the reliability and robustness of the software, ensuring that potential issues are caught early and reducing the risk of regressions.

Please let me know if you have any further questions.

osorensen commented 1 year ago

Thanks a lot for your review @devarops. Your concern about test coverage seems very reasonable. Please let us know when this issue has been addressed, @kokitsuyuzaki.

osorensen commented 1 year ago

@devarops, is this issue addressed in a satisfactory way? If so, could you please update your checklist? Otherwise, please elaborate what the authors need to do further. Thank you.

devarops commented 1 year ago

@osorensen: Yes, the authors have adequately resolved the issue. I recommend to accept this submission.

osorensen commented 1 year ago

@editorialbot generate pdf

osorensen 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

- None

MISSING DOIs

- 10.7551/mitpress/7011.003.0009 may be a valid DOI for title: An information-maximization approach to blind separation and blind deconvolution
- 10.1162/089976699300016719 may be a valid DOI for title: Independent component analysis using an extended infomax algorithm for mixed subgaussian and supergaussian sources
- 10.1109/72.761722 may be a valid DOI for title: Fast and robust fixed-point algorithms for independent component analysis
- 10.1049/ip-f-2.1993.0054 may be a valid DOI for title: Blind beamforming for non-gaussian signals
- 10.1007/978-3-642-15995-4_21 may be a valid DOI for title: Auxiliary-Function-Based Independent Component Analysis for Super-Gaussian Sources
- 10.1186/1471-2105-13-24 may be a valid DOI for title: Independent Principal Component Analysis for biologically meaningful dimension reduction of large biological data sets
- 10.1109/31.76486 may be a valid DOI for title: Indeterminacy and identifiability of blind identification
- 10.1109/icassp.1989.266878 may be a valid DOI for title: Source separation using higher order moments
- 10.1109/ijcnn.1999.831077 may be a valid DOI for title: MICA: Multimodal independent component analysis
- 10.1016/j.neuroimage.2008.10.057 may be a valid DOI for title: A review of group ICA for fMRI data and ICA for joint inference of imaging, genetic, and ERP data
- 10.1016/j.sigpro.2022.108457 may be a valid DOI for title: CorrIndex: a permutation invariant performance index
- 10.1109/memb.2006.1607672 may be a valid DOI for title: Unmixing fMRI with Independent Component Analysis
- 10.1038/nbt.2859 may be a valid DOI for title: The dynamics and regulators of cell fate decisions are revealed by pseudotemporal ordering of single cells
- 10.3389/fnins.2013.00267 may be a valid DOI for title: MEG and EEG data analysis with MNE-Python
- 10.1371/journal.pone.0270556 may be a valid DOI for title: Comparing the reliability of different ICA algorithms for fMRI analysis
- 10.1109/spmb.2016.7846858 may be a valid DOI for title: Applying fully tensorial ICA to fMRI data

INVALID DOIs

- None
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:

osorensen commented 1 year ago

@kokitsuyuzaki, both reviewers have now completed their checklist. I will now read through the paper, and let you know if there are any suggested changes from my side.

kokitsuyuzaki commented 1 year ago

@osorensen Thank you for the suggestions. I modified the manuscript so please check it. https://github.com/rikenbit/iTensor/commit/49c876261ef7a548977f7bd7a568475b6aa67d20

kokitsuyuzaki commented 1 year ago

@editorialbot generate pdf

kokitsuyuzaki 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.7551/mitpress/7011.003.0009 is OK
- 10.1162/089976699300016719 is OK
- 10.1109/72.761722 is OK
- 10.1049/ip-f-2.1993.0054 is OK
- 10.1007/978-3-642-15995-4_21 is OK
- 10.1186/1471-2105-13-24 is OK
- 10.1109/31.76486 is OK
- 10.1109/icassp.1989.266878 is OK
- 10.1109/ijcnn.1999.831077 is OK
- 10.1016/j.neuroimage.2008.10.057 is OK
- 10.1016/j.sigpro.2022.108457 is OK
- 10.1109/memb.2006.1607672 is OK
- 10.1038/nbt.2859 is OK
- 10.3389/fnins.2013.00267 is OK
- 10.1371/journal.pone.0270556 is OK
- 10.1109/spmb.2016.7846858 is OK

MISSING DOIs

- None

INVALID DOIs

- None
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:

osorensen commented 1 year ago

Thanks @kokitsuyuzaki.

At this point could you:

I can then move forward with recommending acceptance of the submission.

kokitsuyuzaki commented 1 year ago

I tagged the latest version as v1.0.3 and archieved by Zenodo.

The DOI is 10.5281/zenodo.8080600

Please also check these pages. https://github.com/rikenbit/iTensor/releases/tag/v1.0.3 https://doi.org/10.5281/zenodo.8080600

osorensen commented 1 year ago

@editorialbot set v1.0.3 as version

editorialbot commented 1 year ago

Done! version is now v1.0.3

osorensen 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:

osorensen commented 1 year ago

Thanks @kokitsuyuzaki.

Once done, please report back to me in this thread.

kokitsuyuzaki commented 1 year ago

Ok, I modified the title. Sorry, the reviewers names seem to be automatically assigned in Zenodo. I removed them now. https://zenodo.org/record/8080600

osorensen commented 1 year ago

@editorialbot set 10.5281/zenodo.8080600 as archive

editorialbot commented 1 year ago

Done! archive is now 10.5281/zenodo.8080600

osorensen commented 1 year ago

@editorialbot generate pdf

osorensen 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.7551/mitpress/7011.003.0009 is OK
- 10.1162/089976699300016719 is OK
- 10.1109/72.761722 is OK
- 10.1049/ip-f-2.1993.0054 is OK
- 10.1007/978-3-642-15995-4_21 is OK
- 10.1186/1471-2105-13-24 is OK
- 10.1109/31.76486 is OK
- 10.1109/icassp.1989.266878 is OK
- 10.1109/ijcnn.1999.831077 is OK
- 10.1016/j.neuroimage.2008.10.057 is OK
- 10.1016/j.sigpro.2022.108457 is OK
- 10.1109/memb.2006.1607672 is OK
- 10.1038/nbt.2859 is OK
- 10.3389/fnins.2013.00267 is OK
- 10.1371/journal.pone.0270556 is OK
- 10.1109/spmb.2016.7846858 is OK

MISSING DOIs

- None

INVALID DOIs

- None
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:

osorensen commented 1 year ago

@kokitsuyuzaki, I notice another small thing that needs to be fixed before I can recommend acceptance. See PR in source repo.

osorensen commented 1 year ago

@kokitsuyuzaki, I notice another small thing that needs to be fixed before I can recommend acceptance. See PR in source repo.

I changed my mind. See comment in PR.

osorensen commented 1 year ago

@editorialbot recommend-accept

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

OK DOIs

- 10.7551/mitpress/7011.003.0009 is OK
- 10.1162/089976699300016719 is OK
- 10.1109/72.761722 is OK
- 10.1049/ip-f-2.1993.0054 is OK
- 10.1007/978-3-642-15995-4_21 is OK
- 10.1186/1471-2105-13-24 is OK
- 10.1109/31.76486 is OK
- 10.1109/icassp.1989.266878 is OK
- 10.1109/ijcnn.1999.831077 is OK
- 10.1016/j.neuroimage.2008.10.057 is OK
- 10.1016/j.sigpro.2022.108457 is OK
- 10.1109/memb.2006.1607672 is OK
- 10.1038/nbt.2859 is OK
- 10.3389/fnins.2013.00267 is OK
- 10.1371/journal.pone.0270556 is OK
- 10.1109/spmb.2016.7846858 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 1 year ago

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

kokitsuyuzaki commented 1 year ago

@osorensen Is there anything else I have to do?

osorensen commented 1 year ago

@kokitsuyuzaki, no, we're waiting for the editor-in-chief @openjournals/dsais-eics to read through and make the final decision.

gkthiruvathukal commented 1 year ago

@kokitsuyuzaki Working on this today (now). Thank you for your patience!

gkthiruvathukal commented 1 year ago

@editorialbot accept

editorialbot commented 1 year ago
Doing it live! Attempting automated processing of paper acceptance...