Joss-reviews: [REVIEW]: hoggorm: a python library for explorative multivariate statistics

Created on 26 Sep 2018  ยท  75Comments  ยท  Source: openjournals/joss-reviews

Submitting author: @olivertomic (Oliver Tomic)
Repository: https://github.com/olivertomic/hoggorm
Version: 0.12.0
Editor: @arfon
Reviewer: @jsgalan
Archive: 10.5281/zenodo.3326328

Status

status

Status badge code:

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

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) 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

@jsgalan, 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.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @arfon know.

โœจ Please try and complete your review in the next two weeks โœจ

Review checklist for @jsgalan

Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Version: Does the release version given match the GitHub release (0.12.0)?
  • [x] Authorship: Has the submitting author (@olivertomic) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [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.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [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

Software paper

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

Most helpful comment

Hi all

I just did a fresh install of the package and got it installed perfectly

Screen Shot 2019-07-09 at 3 10 54 PM

Also tried some of the examples without no issues

Screen Shot 2019-07-09 at 3 37 10 PM

The license was completed

Screen Shot 2019-07-09 at 3 38 27 PM

Documentation hosted in https://hoggorm.readthedocs.io/en/latest/quickstart.html looks good and the examples Jupyter notebooks are well explained.

I will just suggest a small change in the example in the documentation, since the example is not complete (as is), it will be helpful to have a working version.

Screen Shot 2019-07-09 at 3 39 58 PM

Also the article is complete with the appropriate references.

@arfon my part I think is ready to be published.

Best luck to all

All 75 comments

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @jsgalan it looks like you're currently assigned as the reviewer for this paper :tada:.

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

  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
Attempting PDF compilation. Reticulating splines etc...

@jsgalan - please carry out your review in this issue by updating the checklist above and giving feedback in this issue. The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html

Any questions/concerns please let me know.

Hi all,

I am sorry for my belated response. Here are my initial review comments:

-Please make sure to explain the acronyms, are TGXnet and Nofima Companies?
-In the reference from Martens and Naes, please check the title "Principal component regression in NIR analysis: Viewpoints, background details and selection of components", and add the DOI accordingly, check site

Best

@jsgalan thank you very much your first comments and for taking on the reviewer job.

  1. I have updated the reference. Thank you for bringing my attention to this. I also inserted DOI's and ISBN where those were missing.
  2. TGXnet is a (coding) company in Norway and Nofima is a food research institute in Norway. Where and how would you like me to insert this information? In paper.md in the affiliation part?

I will make @whedon produce a new pdf with the updated references. I will ask @whedon to generate another pdf once I got your feedback regarding point 2.

best

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

PDF failed to compile for issue #980 with the following error:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 14 0 14 0 0 192 0 --:--:-- --:--:-- --:--:-- 194
Error reading bibliography ./paper.bib (line 7, column 3):
unexpected "i"
expecting space, ",", white space or "}"
Error running filter pandoc-citeproc:
Filter returned error status 1
Looks like we failed to compile the PDF

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

:wave: @jsgalan - do you think you might be able to complete your review in the next two weeks?

Hi all,

I overall think is a great package that will simplify a few routinely task done (by us) chemometricians.

_ISSUES ABOUT THE SOFTWARE PACKAGE_

i have successfully installed both packages hoggorm and hoggormplot.
screen shot 2018-11-10 at 2 37 29 pm
which is good, but still I have a few suggestions to be made:

  • add the examples to the package itself, both as .py and .ipynb
  • separate each example type via a folder and put each examples under a suitable and explanatory filename. For instance in the Partial Least Squares Regression example there are 3 examples:
  1. Partial Least Squares regression in sensometrics
  2. Partial Least Squares Regression in spectroscopy
  3. Partial Least Squares regression with air pollution data

The notebooks are great for teaching purposes in the webpage, but it still need to be in code with a proper documentation.

  • I see there is a 'tests' foldre in the package, please explain the usage of this examples in the main documentation

  • Please Specify in the documentation the matplotlib and numpy version used to compile the package. For instance, I am using Matplotlib 2.2.0 and numy 1.15.0, and have issues with closing the figures for no apparent reason.

  • In the issue of plots, could you add an example where 2 plots are in the same figure(), i am not sure if i should use subplot from matplotlib or a specific command in your package.

  • I will be happy to see working PLS2, RV, RV2 and SMI examples.

_ISSUES ABOUT THE PAPER AND SUBMISSION_

  • I am unsure the license is following an OSI license type (https://opensource.org/licenses/alphabetical)
  • In the article itself i think it should be addressed more clearly the issues that this softwares solves. It is evident to me as a chemometrician familiar with the methods, but in my experience not many fields relate to the use of PSLR as their methods of data summarization and explanation.

  • I see you guys are using NIPALS algorithm please add the appropriate citation for the algorithm (as reference please check: http://www.vias.org/tmdatanaleng/dd_nipals_algo.html)

  • Add more information about how and when to see special matrix correlation coefficients RV, RV2 and SMI.
  • There is a typo in the main hoggorm page ( https://github.com/olivertomic/hoggorm) it reads matrix corrlation coefficients RV, RV2 and SMI where it should be "correlation".

Best

Hi @jsgalan! Thanks a lot for your effort and providing feedback on the package. I will try to implement all requirements as quickly as possible and get back to you once I am done.

best wishes

:wave: @olivertomic - how are you getting along making your changes?

Hi @arfon. Thanks for getting in touch. I have been extremely busy with teaching, but I will pick up the work this week and hope to have everything finished within a week or two.

Hi @olivertomic, I will be happy to check those changes !

Best

Thank you @jsgalan. We have started working with your comments and will come back as soon as we are ready.

best wishes
Oliver

I see that no progress has been made on this submission since the reviewer comments from Nov 10, 2018. At this point, I will add the "paused" label.

@olivertomic โ€” Please ping @openjournals/joss-eics when you're have made your enhancements and would like us to take a new look.

Dear @labarba - Thank you for your notice. We have made some progress, like adding some examples in Jupyter Notebooks (as requested by @jsgalan ), but admittedly the process has been painfully slow due to various reasons. We will ping @openjournals/joss-eics once we are done. Thank you again.

๐Ÿ‘‹ @olivertomic - are you still planning to make these changes, or should we withdraw the paper, with the idea that you can resubmit it later?

Dear @danielskatz . Yes, we are still planning on making these changes. I am finally done teaching this semester and plan to finish this up by end of June. I hope this time frame is still OK.

In my opinion, yes, if this is a firm commitment, but I will also defer to @arfon as the editor of the submission.

Dear @danielskatz . Yes, we are still planning on making these changes. I am finally done teaching this semester and plan to finish this up by end of June. I hope this time frame is still OK.

๐Ÿ‘ this sounds OK to me.

Thanks a lot @danielskatz and @arfon. A firm commitment it is. End of June.

@whedon remind @olivertomic in 3 weeks

Reminder set for @olivertomic in 3 weeks

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@labarba @arfon @danielskatz I have solved most of the issues suggested by @jsgalan as can be seen from the repository updates and new Jupyter notebooks with examples. I would to ask you kindly for another week to finish up some polishing of the documentation. Would that be OK for you?

@labarba @arfon @danielskatz I have solved most of the issues suggested by @jsgalan as can be seen from the repository updates and new Jupyter notebooks with examples. I would to ask you kindly for another week to finish up some polishing of the documentation. Would that be OK for you?

Yes, that's fine with me. Thanks for keeping with this!

:wave: @olivertomic, please update us on how things are progressing here.

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

PDF failed to compile for issue #980 with the following error:

Error reading bibliography ./paper.bib (line 19, column 3):
unexpected "d"
expecting space, ",", white space or "}"
Error running filter pandoc-citeproc:
Filter returned error status 1
Looks like we failed to compile the PDF

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

Dear @jsgalan and @arfon . I think we have addressed now all issues raised. We have done the following:

  1. Added Jupyter notebooks and corresponding python scripts (exports from the Jupyter notebooks) that provide working examples of how to use PCA, PCR, PLS, SMI, RV and RV2.

  2. Where appropriate, we implemented examples on different type of data. The Jupyter notebooks for each method are stored in their respective folders. All those folders are stored in the example folder.

  3. In those Jupter notebooks we added more examples of how to make single plots and how to generate plots that contain multiple subplots.

  4. Documentation was updated according to changes.

  5. Information on required packages for hoggorm and hoggormplot were improved. We tested hoggorm and hoggorm plot on several computers and could not reproduce issues with closing plot windows.

  6. The test scripts were extended and explanation was added to the documentation of hogggorm (in the quickstart page)

  7. We fixed the license.

  8. We extended the article to describe better what the implemented methods can be used for and what tools the user can use for interpretation of the models.

  9. The reference was fixed.

  10. All these changes (and some bugfixes in the complementary hoggormplot package) were implemented and collected in new packages hoggorm (v0.13.2) and hoggormplot (v0.13.2). The packages were uploaded to pypi.org, such that users can pip install them.

Thank you again for your patience. Please let us know whether there are any other issues that we can take care of.

best
Oliver

Excellent, thanks for the detailed update @olivertomic.

@jsgalan - when you get a chance, could you please come and take another look at this submission?

Hi all

I just did a fresh install of the package and got it installed perfectly

Screen Shot 2019-07-09 at 3 10 54 PM

Also tried some of the examples without no issues

Screen Shot 2019-07-09 at 3 37 10 PM

The license was completed

Screen Shot 2019-07-09 at 3 38 27 PM

Documentation hosted in https://hoggorm.readthedocs.io/en/latest/quickstart.html looks good and the examples Jupyter notebooks are well explained.

I will just suggest a small change in the example in the documentation, since the example is not complete (as is), it will be helpful to have a working version.

Screen Shot 2019-07-09 at 3 39 58 PM

Also the article is complete with the appropriate references.

@arfon my part I think is ready to be published.

Best luck to all

:zap: thanks @jsgalan!

@olivertomic - At this point could you make a new release of this software that includes the changes that have resulted from this review. Then, please make an archive of the software in Zenodo/figshare/other service and update this thread with the DOI of the archive? For the Zenodo/figshare archive, please make sure that:

  • The title of the archive is the same as the JOSS paper title
  • That the authors of the archive are the same as the JOSS paper authors

I can then move forward with accepting the submission.

Thanks a lot to both of you, @jsgalan (for taking on the review and testing job) and @arfon (for guidance and patience). I have made the requested changes in the hoggorm package and made an archive of hoggorm at Zenodo.

10.5281/zenodo.3326328
http://doi.org/10.5281/zenodo.3326328

Looking very much forward to get the paper published!

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon set 10.5281/zenodo.3326328 as archive

OK. 10.5281/zenodo.3326328 is the archive.

@whedon accept

Attempting dry run of processing paper acceptance...

```Reference check summary:

OK DOIs

MISSING DOIs

  • None

INVALID DOIs

  • None
    ```

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/832

If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/832, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.
@whedon accept deposit=true

@whedon accept deposit=true

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

๐Ÿฆ๐Ÿฆ๐Ÿฆ ๐Ÿ‘‰ Tweet for this paper ๐Ÿ‘ˆ ๐Ÿฆ๐Ÿฆ๐Ÿฆ

๐Ÿšจ๐Ÿšจ๐Ÿšจ 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 :point_right: https://github.com/openjournals/joss-papers/pull/833
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.00980
  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...

@jsgalan many thanks for your review here โœจ

@olivertomic - your paper is now accepted into JOSS :zap::rocket::boom:

:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:

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.00980/status.svg)](https://doi.org/10.21105/joss.00980)

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

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

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:

Was this page helpful?
0 / 5 - 0 ratings