openjournals / joss-reviews

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

[REVIEW]: AIgarMIC: a Python package for automated interpretation of agar dilution minimum inhibitory concentration testing #6826

Open editorialbot opened 3 months ago

editorialbot commented 3 months ago

Submitting author: !--author-handle-->@agerada<!--end-author-handle-- (Alessandro Gerada) Repository: https://github.com/agerada/AIgarMIC Branch with paper.md (empty if default branch): Version: v1.1.1 Editor: !--editor-->@ppxasjsm<!--end-editor-- Reviewers: !--reviewers-list-->@gchure<!--end-reviewers-list-- Archive: 10.5281/zenodo.13628882

Status

status

Status badge code:

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

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

@gchure, 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 @ppxasjsm 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 @gchure

editorialbot commented 3 months 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 3 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1046/j.1469-0691.2000.00142.x is OK
- 10.1128/spectrum.04209-23 is OK
- 10.17638/DATACAT.LIVERPOOL.AC.UK/2631 is OK
- 10.2144/000112257 is OK
- 10.1038/nprot.2007.521 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 3 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.03 s (1295.9 files/s, 124263.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          24            448            508           1952
Markdown                         4            115              0            269
reStructuredText                 9            176            110            266
YAML                             3              6             21            165
TeX                              1              4              0             76
TOML                             1              7              0             41
DOS Batch                        1              8              1             26
make                             1              4              7              9
-------------------------------------------------------------------------------
SUM:                            44            768            647           2804
-------------------------------------------------------------------------------

Commit count by author:

    92  Alessandro Gerada
    29  agerada
     2  Gerada
editorialbot commented 3 months ago

Paper file info:

📄 Wordcount for paper.md is 626

✅ The paper includes a Statement of need section

editorialbot commented 3 months ago

License info:

🟡 License found: GNU General Public License v3.0 (Check here for OSI approval)

editorialbot commented 3 months ago

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

gchure commented 3 months ago

Review checklist for @gchure

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

gchure commented 3 months ago

Hi @ppxasjsm, I have a quick editorial question. It seems like the software is already published in another peer reviewed journal ASM Spectrum. From my read of that paper, the software is described and validated on a novel dataset generated solely to train and test the software (i.e., the software isn't used in the paper to facilitate discovery). Given the JOSS guidelines for copublication, it's not clear to me that this software by itself merits a separate JOSS paper, even though the ASM paper doesn't cover the API or structure of the software itself.

Could you please let me know your opinion on this? I'm happy to continue to review the software (which seems quite good), but I noticed that almost all of my comments on the software paper itself are covered in the ASM publication.

agerada commented 3 months ago

Thank you @gchure for your comments and for reviewing our software. Although I appreciate the question is for @ppxasjsm, I will leave some comments to help with the decision.

Our JOSS submission for AIgarMIC was alongside a technical paper (in ASM Microbiology Spectrum) which we reference in the JOSS draft paper. The primary focus of the ASM Spectrum paper was to report and validate the use of machine learning approaches to interpret minimimum inhibitory concentration (MIC) experiments, delivered through our AIgarMIC software. Within the paper, we describe the laboratory experiments that generated the training images, the specifications of the artificial neural networks that were used to label images, and the validation of the predictions by comparing against a gold standard method (manual interpretation). The results are reported in the domain-standard format for MIC validation studies (e.g., essential and categorical agreement). Within the methods, we included a paragraph outlining the high-level features of AIgarMIC, to demonstrate a practical implementation of our approach.

Since the focus of the ASM Spectrum paper was the microbiological validation of our methods, we submitted our software to JOSS on the basis that our implementation contains software-specific scientific efforts (which are not explained or discussed in the ASM Spectrum paper). These include, for example:

We look forward to further comments and again thank @gchure and @ppxasjsm.

gchure commented 3 months ago

Thanks @agerada, that is really helpful context and I appreciate the effort here. Just to overcommunicate, I'm happy to give it a full JOSS review and just wanted to check with @ppxasjsm as I thought it may be in conflict with the JOSS guidelines.

As to the algorithms for splitting, are there tutorials/derivations of the splitting algorithms? I couldn't find details in the documentation beyond the API reference and source code. It may be worthwhile to write a tutorial outlining in some detail the algorithms and math behind the MIC calculation, for example.

agerada commented 3 months ago

Thank you @gchure – fair points on the documentation and algorithms. I have reviewed the documentation and the tutorials don't include use of the splitting alogirthm, which would be helpful. Also agree an overview of how the MIC and QC algorithms are implemented would be helpful. I will likely do this in pseudocode as the implementations are in software rather than in formal math.

Pending further input from @ppxasjsm I have opened two issues (agerada/AIgarMIC#10 and agerada/AIgarMIC#11 respectively) for the two points raised.

gchure commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

:warning: An error happened when generating the pdf.

agerada commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

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

gchure commented 2 months ago

Hi @agerada and @ppxasjsm, I can just about close out my review of this work. There's two small outstanding issues(see #11 and #16), but I don't think they will require further review. Thanks @agerada for being collaborative and prompt with your responses to things (and sorry my review took longer than I had anticipated!).

gchure commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

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

gchure commented 2 months ago

Hi @ppxasjsm , now that @agerada has completed the aforementioned issues, I'm happy to say my review is complete and the work has my stamp of approval. Thanks again to @agerada for being highly communicative throughout the process!

ppxasjsm commented 2 months ago

Thank you @gchure and @agerada for all your work on the submission. I am sorry I missed some of the communication due to holidays and somehow not getting notifications. I think the paper submission here and the previous publication are ok. I'll now proceed with the editorial process.

ppxasjsm commented 2 months ago

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

Editor Tasks Prior to Acceptance

ppxasjsm commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

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

ppxasjsm commented 2 months ago

@editorialbot check references

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

OK DOIs

- 10.1046/j.1469-0691.2000.00142.x is OK
- 10.1128/spectrum.04209-23 is OK
- 10.17638/DATACAT.LIVERPOOL.AC.UK/2631 is OK
- 10.2144/000112257 is OK
- 10.1038/nprot.2007.521 is OK

MISSING DOIs

- 10.1163/2214-8647_dnp_e612900 may be a valid DOI for title: Keras
- No DOI given, and none found for title: Open Source Computer Vision Library

INVALID DOIs

- None
ppxasjsm commented 2 months ago

@agerada could you double check the above reference for me?

agerada commented 2 months ago

Hi @ppxasjsm - thank you for the update. The DOI suggested for keras does not appear to be a valid one for keras. I have double checked and both keras and opencv do not provide DOIs for citations.

I have also re-reviewed the proof and made some minor corrections https://github.com/agerada/AIgarMIC/pull/31 (mainly typos).

agerada commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

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

agerada commented 3 weeks ago

Hi @ppxasjsm - just checking whether there there are any outsanding issues for me on this? If JOSS prefers all references to have an associated DOI, then I am happy to remove the references for keras and opencv and use hyperlinks to the packages within the text instead.

ppxasjsm commented 4 days ago

@agerada Could you please update the references with a hyperlink? I think that would make sense to me.

ppxasjsm commented 4 days ago

@agerada can you also please provide a DOI for a Zenodo archive of the version of the software that is associated with this paper? Can you also post the version number here? The last thing I would like you to double-check is that all names and ORCIDs are correct.

I am really sorry about being quite slow with processing this over the summer but I ended up much busier than anticipated.

agerada commented 3 days ago

Hi @ppxasjsm -- no need to apologise; I'm very grateful your editorial of our work, and for @gchure's constructive review.

I have merged https://github.com/agerada/AIgarMIC/pull/33 with a couple of minor edits from another read of the manuscript draft (@gchure had previously correctly flagged up that "assay" is a more apprpriate term than "test" with regards to the laboratory procdure of agar dilution MIC).

I can confirm that the author names and ORCIDs are correct.

Finally, here is a zenodo archive of the latest release (v1.1.1): https://zenodo.org/doi/10.5281/zenodo.13628882

ppxasjsm commented 3 days ago

Thanks for that @agerada!

ppxasjsm commented 3 days ago

@editorialbot set 10.5281/zenodo.13628882 as archive

editorialbot commented 3 days ago

Done! archive is now 10.5281/zenodo.13628882

ppxasjsm commented 3 days ago

@editoribot set v1.1.1 as version

ppxasjsm commented 3 days ago

@editorialbot generate pdf

editorialbot commented 3 days ago

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

ppxasjsm commented 3 days ago

@editorialbot check references

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

✅ OK DOIs

- 10.1046/j.1469-0691.2000.00142.x is OK
- 10.1128/spectrum.04209-23 is OK
- 10.17638/DATACAT.LIVERPOOL.AC.UK/2631 is OK
- 10.2144/000112257 is OK
- 10.1038/nprot.2007.521 is OK

🟡 SKIP DOIs

- None

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None
ppxasjsm commented 3 days ago

@editorialbot recommend accept

editorialbot commented 3 days ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

ppxasjsm commented 3 days ago

@editorialbot recommend-accept

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

✅ OK DOIs

- 10.1046/j.1469-0691.2000.00142.x is OK
- 10.1128/spectrum.04209-23 is OK
- 10.17638/DATACAT.LIVERPOOL.AC.UK/2631 is OK
- 10.2144/000112257 is OK
- 10.1038/nprot.2007.521 is OK

🟡 SKIP DOIs

- None

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None
editorialbot commented 3 days ago

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

agerada commented 2 days ago

Minor change to avoid breaking python statement over two pages: https://github.com/agerada/AIgarMIC/pull/35

agerada commented 2 days ago

@editorialbot generate pdf

editorialbot commented 2 days ago

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