Joss-reviews: [REVIEW]: sbi - a toolkit for simulation-based inference

Created on 22 Jul 2020  ·  58Comments  ·  Source: openjournals/joss-reviews

Submitting author: @janfb (Jan Boelts)
Repository: https://github.com/mackelab/sbi
Version: v0.12.1
Editor: @dfm
Reviewer: @EiffL, @cranmer
Archive: 10.5281/zenodo.3993098

: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

Status badge code:

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

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

@EiffL & @cranmer, 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 @dfm 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 @EiffL

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

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] Contribution and authorship: Has the submitting author (@janfb) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

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 functionality 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] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [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] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [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?

Review checklist for @cranmer

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

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] Contribution and authorship: Has the submitting author (@janfb) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

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 functionality 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] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [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] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [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?
Jupyter Notebook Python accepted published recommend-accept review

Most helpful comment

@EiffL, @cranmer - many thanks for your reviews here and to @dfm for editing this submission ✨

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

Finally, it looks like Crossref is having some issues this morning and the DOI for your paper (https://doi.org/10.21105/joss.02505) isn't resolving yet. I'll leave this issue open until it starts working.

All 58 comments

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @EiffL, @cranmer 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:

  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

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf

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

Can't find any papers to compile :-(

@whedon generate pdf from branch joss-submission

Attempting PDF compilation from custom branch joss-submission. Reticulating splines etc...

@EiffL, @cranmer: I just wanted to check in with you guys to keep this review on your radar. Let me know if you have any questions!

I've just finally found some free time, doing this now, all my apologies for the delay.

@whedon re-invite @EiffL as reviewer

OK, the reviewer has been re-invited.

@eiffl please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations

@janfb just making sure I resolve all authors correctly, can you confirm that @meteore is in fact Alvaro ? :-)

Hi François, I can confirm I am Álvaro ;). I added my name on my GitHub profile page now.

Thank you :-D

Everything looks great, install is a breeze, runs on colab, nice documentation, nice test suite, very useful package!
Very happy to recommend publication, and many thanks to the team for this tool :-)

Hello,

Sorry for the delay, a few unexpected things fell on me.

I have time now, but my invitation has expired.

Kyle

On Aug 8, 2020, at 9:07 AM, Dan Foreman-Mackey notifications@github.com wrote:

@EiffL https://github.com/EiffL, @cranmer https://github.com/cranmer: I just wanted to check in with you guys to keep this review on your radar. Let me know if you have any questions!


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/2505#issuecomment-670933114, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABCATCSXASHLVGRMI47FM4LR7VL2BANCNFSM4PE6EFAQ.

@whedon re-invite @cranmer as reviewer

OK, the reviewer has been re-invited.

@cranmer please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations

No worries - that's where we all are these days! You should have a new invitation now.

The check list has:

Contribution and authorship: Has the submitting author (@janfb) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

I wasn't sure where to find what is considered the “paper authors” at first, and then I found the PDF for the article proof.

@dfm Misc feedback for JOSS would be to have link to the PDF in the checklist. (Or maybe it would normally be there and it just failed for some reason).

I know that Jakob H. Macke is part of this effort and belongs on author list (GitHub organization is Mackelab) but noting it since he doesn't show up on contributor list.

Ok, I'm basically done. I don't know if I needed to explicitly run all the tests, they take a while. I did install the environment locally and can confirm that the tests are running.

The package is very nice, the interface to simulators seems natural, and I was able to run tutorial examples! The examples themselves are well chosen.

I created a few issues recommending improvements in documentation, but I don't see them as show stoppers.

There is one issue that had me uncheck the Functionality documentation::
https://github.com/mackelab/sbi/issues/298
The package would be useful even if this isn't possible, but the software paper says it is, and I haven't been able to confirm that yet. If it isn't possible, then I think a small tweak to the sentence in the software paper would be sufficient for publication.

Thanks to @michaeldeistler of SBI team to quickly address problem. There is a PR that will fix the API documentation, and an example is planned to follow @dfm I'm not really sure about the procedure here. Do we wait for the PR to be merged and new API docs to be generated, or do we proceed assuming that it's in progress and on the way? (The example demonstrating this feature is nice, but I don't think it is essential).

As I wrote earlier, I think SBI is great and the submission is publishable even without this feature being there, except for that it is explicitly called out in the software paper so it should be in the API docs.

@cranmer: Thanks for the update! If you think that the functionality claims in the paper are sufficiently well justified once the embedding_net, etc. parameters are documented then I think it would be fine to proceed once that pull request has been merged without waiting for the full example in the docs.

@cranmer @dfm Please note we just released a new version of sbi adressing the above issues: https://github.com/mackelab/sbi/releases

The docs should be up to date now as well.

Looks great!

Sign off from me @dfm. Congratulations @janfb and SBI team.

@whedon generate pdf from branch joss-submission

Attempting PDF compilation from custom branch joss-submission. Reticulating splines etc...

@whedon check references from branch joss-submission

Attempting to check references... from custom branch joss-submission
Reference check summary:

OK DOIs

- 10.1145/3295500.3356180 is OK
- 10.1093/biomet/asp052 is OK
- 10.1073/pnas.1912789117 is OK
- 10.1101/838383  is OK
- 10.1214/17-EJS1340SI is OK
- 10.1093/bioinformatics/bty361 is OK
- 10.21105/joss.00011 is OK
- 10.1063/1.1699114 is OK
- 10.1214/aos/1056562461  is OK
- 10.1093/oxfordjournals.molbev.a026091 is OK
- 10.1073/pnas.0607208104 is OK
- 10.1201/9781315117195 is OK
- 10.1098/rsif.2008.0172 is OK

MISSING DOIs

- https://doi.org/10.1145/3093172.3093233 may be missing for title: ABCpy

INVALID DOIs

- None

@janfb: Looks good! I just opened a pull request with some formatting edits for the manuscript. The following steps for you:

  • [x] Accept that pull request
  • [x] Comment @whedon generate pdf from branch joss-submission on this issue thread
  • [x] Check the proof that @whedon generates to make sure everything looks good to you (it's harder to change later!)
  • [x] It looks like you just bumped the version number and made a release, so please confirm that 0.12.1 is the current version and make an archive of this release (on Zenodo or similar) where the metadata (title & authors) exactly matches this paper and report back with the DOI

I'd also like to send a huge thanks to @EiffL and @cranmer for their constructive reviews!

@dfm thanks for the instructions! And many thanks again for editing this paper!

@whedon generate pdf from branch joss-submission

Attempting PDF compilation from custom branch joss-submission. Reticulating splines etc...

Regarding the version, yes, the most recent one is 0.12.1.

Two questions @dfm
1) we already have a version on arxiv: https://arxiv.org/abs/2007.09114 Is OK if we just make a new version of this submission with the most recent version of the paper?

2) The JOSS version of the article already has a DOI (10.21105/joss.02505) no? Or shall I create a new DOI using Zenodo?

I double-checked the article -- all looks good!
I created a DOI using Zenodo and upload the zipped code of v0.12.1 (and not the paper PDF), the DOI is 10.5281/zenodo.3993098 Is this how it should be?

@janfb: This all looks good and you're definitely welcome to upload the JOSS manuscript to arXiv, although there have been some issues in the past (https://github.com/openjournals/joss/issues/132 might be relevant/helpful). The Zenodo archive is good - thanks!

@whedon set v0.12.1 as version

OK. v0.12.1 is the version.

@whedon set 10.5281/zenodo.3993098 as archive

OK. 10.5281/zenodo.3993098 is the archive.

@whedon accept

Attempting dry run of processing paper acceptance...

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

Can't find any papers to compile :-(

@whedon accept from branch joss-submission

Attempting dry run of processing paper acceptance...

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

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

Reference check summary:

OK DOIs

- 10.1145/3093172.3093233 is OK
- 10.1145/3295500.3356180 is OK
- 10.1093/biomet/asp052 is OK
- 10.1073/pnas.1912789117 is OK
- 10.1101/838383  is OK
- 10.1214/17-EJS1340SI is OK
- 10.1093/bioinformatics/bty361 is OK
- 10.21105/joss.00011 is OK
- 10.1063/1.1699114 is OK
- 10.1214/aos/1056562461  is OK
- 10.1093/oxfordjournals.molbev.a026091 is OK
- 10.1073/pnas.0607208104 is OK
- 10.1201/9781315117195 is OK
- 10.1098/rsif.2008.0172 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@janfb: This has now been handed off to the editors in chief who will (perhaps after some final edits) do the final processing of the paper.

this is fascinating to watch.

@whedon accept deposit=true from branch joss-submission

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/1657
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.02505
  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...

@EiffL, @cranmer - many thanks for your reviews here and to @dfm for editing this submission ✨

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

Finally, it looks like Crossref is having some issues this morning and the DOI for your paper (https://doi.org/10.21105/joss.02505) isn't resolving yet. I'll leave this issue open until it starts working.

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

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

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

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