openjournals / joss-reviews

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

[REVIEW]: '`cstag` and `cstag-cli`: tools for manipulating and visualizing CS tags' #6066

Closed editorialbot closed 10 months ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@akikuno<!--end-author-handle-- (Akihiro Kuno) Repository: https://github.com/akikuno/cstag Branch with paper.md (empty if default branch): joss Version: 1.0.5, 1.0.0 Editor: !--editor-->@jmschrei<!--end-editor-- Reviewers: @betteridiot, @jbloom Archive: 10.5281/zenodo.10544838

Status

status

Status badge code:

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

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

@betteridiot & @jbloom, 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 @jmschrei 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 @betteridiot

📝 Checklist for @jbloom

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.04 s (869.9 files/s, 76735.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          24            442            428           1420
Markdown                         5            126              0            311
HTML                             4             51              0            288
TeX                              1             11              0            127
TOML                             1              2              0             23
YAML                             1              1              4             18
Bourne Shell                     1              3              4              5
-------------------------------------------------------------------------------
SUM:                            37            636            436           2192
-------------------------------------------------------------------------------

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

Wordcount for paper.md is 792

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

OK DOIs

- None

MISSING DOIs

- 10.1093/bioinformatics/bty191 may be a valid DOI for title: Minimap2: pairwise alignment for nucleotide sequences
- 10.1038/s41592-018-0046-7 may be a valid DOI for title: Bioconda: sustainable and comprehensive software distribution for the life sciences

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:

jmschrei commented 1 year ago

Howdy @betteridiot and @jbloom!

Thanks for agreeing to review this submission.

The process for conducting a review is outlined above. Please run the command shown above to have @editorialbot generate your checklist, which will give a step-by-step process for conducting your review. Please check the boxes during your review to keep track, as well as make comments in this thread or open issues in the repository itself to point out issues you encounter. Keep in mind that our aim is to improve the submission to the point where it is of high enough quality to be accepted, rather than to provide a yes/no decision, and so having a conversation with the authors is encouraged rather than providing a single review post at the end of the process.

Here are the review guidelines: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html And here is a checklist, similar to above: https://joss.readthedocs.io/en/latest/review_checklist.html

Please let me know if you encounter any issues or need any help during the review process, and thanks for contributing your time to JOSS and the open source community!

betteridiot commented 1 year ago

Review checklist for @betteridiot

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

jbloom commented 1 year ago

Review checklist for @jbloom

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

jbloom commented 1 year ago

I have reviewed the cstag submission by @akikuno. I support publication. This is a straightforward and well-documented package that solves a useful question, namely how to add / manipulate cs tags. I could definitely see using this package in my own work at some point, and it is well enough documented that I can figure out how I would do that.

I have completed the reviewer checklist above.

I would add the following notes that could be addressed in a few minor revisions:

  1. Could be helpful if it was a little bit more clearly indicated that cstag-cli is installed from a separate repo.
  2. In author could consider citing alignparse, which provides some similar-ish functionality in its cs_tag module.
  3. I have made the following feature request. Note that this request is optional and not required for me to recommend acceptance of the current package, but if some similar feature was added it would make cstag package more useful for our work.
jmschrei commented 1 year ago

Thanks for the quick review, @jbloom!

betteridiot commented 1 year ago

Here are my notes for the review. Very minor fixes throughout with a couple of larger issues that will be addressed via GitHub issues on author's issue tracker.

Please see complete notes of the review at betteridiot/joss_reviews/blob/master/cstag/joss_review.md

Documentation

  1. Paper version references cstag v.1.0.4, but the current version available is v1.0.5
  2. Documentation does not express statement of need. It only describes what the program does.

Statement of the field

  1. Acknowledges 2passtools but does not address its internal cs tag functionality
  2. I am curious about the author's "rebranding" of calcs, which appears to be a precursor to cstag-cli. Maybe add a deconfliction/redirect statement to one of the packages involved.
  3. As addressed by @jbloom, the author should recognize alignparse in their state of the field.

References

betteridiot commented 12 months ago

As of @akikuno's latest push to cstag-cli, the only notes left are with respect to the documentation (missing statement of need in documentation), and the paper itself:

  1. Cites alignparse in the bibliography, but does not reference it in the paper
  2. Acknowledge 2passtools cs tag functionality
  3. (optional) deconflict calcs package by describing the "rebranding" in either the cstag-cli or on calcs
    • That is, let users know which package is the one that will continue to be maintained in case of dependencies.
jmschrei commented 12 months ago

@akikuno how are the revisions coming? Do you have any comments about the reviews?

akikuno commented 11 months ago

@jmschrei Thank you very much for your careful coordination of the peer review process.

@betteridiot @jbloom I deeply appreciate your excellent peer review comments. Thanks to your support, the update of the source code is mostly complete (I will soon respond to @jbloom 's request at https://github.com/akikuno/cstag/issues/24), and I now plan to revise the JOSS documentation.

Let me comment here on the parts that have been revised.

@jbloom

Could be helpful if it was a little bit more clearly indicated that cstag-cli is installed from a separate repo.

Thank you very much for your valuable comment. In response, I have added a documentation to the Availability section of the main text that stated cstag and cstag-cli are managed in a separate repository and registered separately in PyPI and BioConda. https://github.com/akikuno/cstag/commit/14f4b4860e07f6c0acb0d09687313910b57fa2cf

Furthermore, in the README.md of cstag, I have incorporated a [NOTE] highlight as follows to indicate that cstag-cli is managed in a separate repository:

[!NOTE] To add cs tags to SAM/BAM files, check out cstag-cli.

https://github.com/akikuno/cstag#cstag

I would appreciate it if you could check this.

jmschrei commented 11 months ago

@akikuno how are the revisions coming? Do you need me to ping any of the reviewers to respond to your revisions?

akikuno commented 11 months ago

@jmschrei Thank you very much for reaching out. I apologize for the delay in my response, as I have been preoccupied with university-related tasks. I am now proceeding with the revision of the main document and will contact you shortly.

akikuno commented 11 months ago

@betteridiot Thank you very much for your careful confirmation.

(optional) deconflict calcs package by describing the "rebranding" in either the cstag-cli or on calcs That is, let users know which package is the one that will continue to be maintained in case of dependencies.

As you pointed out, calcs is the predecessor of cstag-cli and has ceased development. While calcs differs from cstag-cli in that it can add cs tags to SAM files without MD tags, from a computational speed perspective, it is recommended to use samtools calmd to add MD tags before using cstag-cli.

Therefore, the README in the GitHub repository has been updated as follows:

Happy holidays!

betteridiot commented 11 months ago

With the recent revisions, all of my items are now checked off. Thank you@akikuno for working through my many nitpicks.

akikuno commented 10 months ago

Happy New Year! May this year bring happiness and abundance.

@jbloom @betteridiot In response to your comments, I've updated the paper with the following additions and modifications, and I hope these changes align with your expectations.

Added information and comparison about alignparse

Similar to cstag, the tool alignparse is also available [@ Crawford2019]. In particular, both tools provide similar functions for formatting and converting cs tags, such as cstag.split() and alignparse.cs_tag.split_cs(). Comparing the two, cstag is relatively high-level, providing users with more direct functions tailored to specific needs. Examples of such functions include cstag.to_vcf() for VCF conversion and cstag.to_pdf() for visualization. In contrast, alignparse offers a broader range of functionalities beyond merely parsing cs tags. It is capable of tasks such as visualizing Genbank Flat files and aligning FASTQ files. Depending on their specific use case, users can choose between cstag and alignparse, or they might use them in conjunction for a more comprehensive analysis.

Added a sentence about the function of 2passtools (filtering splice junctions)

This increased efficiency has led to the cs tag's adoption in various bioinformatics tools, facilitating processes like consensus variant calling [@Kuno2022] and filtering splice junctions [@ Parker2021].

Added a sentence to express statement of need at the State of Need section

Despite the growing popularity of the cs tag, there remains a lack of tools for effectively manipulating and visualizing it. As a result, users often have to create their own scripts for extracting and visualizing cs tags. In response, the author developed cstag. cstag is a Python toolkit for a range of operations and visualizations related to cs tags.

@jmschrei I would like to update the cstag version for the paper from v1.0.4 to the latest v1.0.5. How should I go about this?

akikuno commented 10 months ago

I have updated the installation instructions for cstag-cli to accommodate Apple Silicon users by including the following note:

[!NOTE] To Apple Silicon (ARM64) users:
Since the Bioconda channel does not yet support Apple Silicon, please use the following command to install cstag-cli through Rosetta:

CONDA_SUBDIR=osx-64 conda create -n env-cstag -c conda-forge -c bioconda python=3.10 cstag-cli -y
conda activate env-cstag
conda config --env --set subdir osx-64

https://github.com/akikuno/cstag-cli?tab=readme-ov-file#installation

jmschrei commented 10 months ago

@jbloom @betteridiot would you mind commenting on the changes when you have a chance?

I'll change the version here. Just make sure that when you upload the code to a service that provides a DOI (like Zenodo) that it's the version you'd like distributed.

betteridiot commented 10 months ago

My opinion is unchanged. With all the edits @akikuno provided, I approve this publication with all items checked. Thank you, @jmschrei .

jbloom commented 10 months ago

I also approve this publication.

jmschrei commented 10 months ago

Great, thanks!

jmschrei commented 10 months ago

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

Editor Tasks Prior to Acceptance

jmschrei commented 10 months ago

@akikuno would you mind completing the checklist above and providing a final version number for the software and Zenodo DOI containing all the relevant information (e.g., version, license, etc) with the authors in the exact same order as the paper? Thanks!

jmschrei commented 10 months ago

@editorialbot check references

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

OK DOIs

- 10.1093/bioinformatics/bty191 is OK
- 10.21105/joss.01915 is OK
- 10.1186/s13059-021-02296-0 is OK
- 10.1371/journal.pbio.3001507 is OK
- 10.1038/s41592-018-0046-7 is OK
- 10.1038/nbt.1754 is OK

MISSING DOIs

- None

INVALID DOIs

- None
jmschrei commented 10 months ago

@editorialbot generate pdf

editorialbot commented 10 months ago

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

jmschrei commented 10 months ago

After seeing the paper again, I guess it'll be easy to make sure the author order is the same.

akikuno commented 10 months ago

@jmschrei

Thank you so much! I have completed the Additional Author Tasks After Review is Complete, including the final version number for the software and Zenodo DOI containing all the relevant information (e.g., version, license, etc). I hope it meets your expectations.

Additional Author Tasks After Review is Complete

jmschrei commented 10 months ago

@editorialbot set 10.5281/zenodo.8415528 as archive

editorialbot commented 10 months ago

Done! archive is now 10.5281/zenodo.8415528

jmschrei commented 10 months ago

@editorialbot set 1.0.5 as version

editorialbot commented 10 months ago

Done! version is now 1.0.5

jmschrei commented 10 months ago

@editorialbot recommend-accept

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

OK DOIs

- 10.1093/bioinformatics/bty191 is OK
- 10.21105/joss.01915 is OK
- 10.1186/s13059-021-02296-0 is OK
- 10.1371/journal.pbio.3001507 is OK
- 10.1038/s41592-018-0046-7 is OK
- 10.1038/nbt.1754 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 10 months 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/4922, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

akikuno commented 10 months ago

@jmschrei I have read through the proof, and all looks good to me.

jmschrei commented 10 months ago

Great. We just need one of the EiC's to step in.

Kevin-Mattheus-Moerman commented 10 months ago

@editorialbot set 1.0.5, 1.0.0 as version

editorialbot commented 10 months ago

Done! version is now 1.0.5, 1.0.0

Kevin-Mattheus-Moerman commented 10 months ago

@akikuno as the AEiC of this track I'll now help to process final steps. Since this review features two packages/repositories, and two version tags etc. Some changes are required:

Kevin-Mattheus-Moerman commented 10 months ago

@jmschrei note you did a good job here. Handling submissions featuring multiple repositories isn't streamlined yet I think, and we may optimise/formalise this better in the future. (I'll propose having comma-seperated repo/arhive/version tags etc for such papers, but this is not supported yet).

akikuno commented 10 months ago

@Kevin-Mattheus-Moerman I have created a ZENODO archive, using version 1.0.5, 1.0.0 and confirmed that the title, the authors, and the license match. 10.5281/zenodo.10544838

Thank you very much for your support.

Kevin-Mattheus-Moerman commented 10 months ago

@editorialbot set 10.5281/zenodo.10544838 as archive

editorialbot commented 10 months ago

Done! archive is now 10.5281/zenodo.10544838

Kevin-Mattheus-Moerman commented 10 months ago

@editorialbot recommend-accept