Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REVIEW]: Sequana: a set of flexible genomic pipelines for processing and reporting NGS analysis #352

Closed
11 of 18 tasks
whedon opened this issue Aug 4, 2017 · 20 comments
Closed
11 of 18 tasks
Assignees
Labels
accepted published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review

Comments

@whedon
Copy link

whedon commented Aug 4, 2017

Submitting author: @cokelaer (Thomas Cokelaer)
Repository: https://github.com/sequana/sequana/
Version: 0.4.1
Editor: @pjotrp
Reviewer: @bow
Archive: 10.5281/zenodo.853160

Status

status

Status badge code:

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

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 questions

@bow, please carry out your review in this issue by updating the checklist below (please make sure you're logged in to GitHub). The reviewer guidelines are available here: http://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @pjotrp know.

Conflict of interest

  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (such as being a major contributor to the software).

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Version: Does the release version given match the GitHub release (0.4.1)?
  • Authorship: Has the submitting author (@cokelaer) made major contributions to the software?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: Have any performance claims of the software been confirmed?

Documentation

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

  • Authors: Does the paper.md file include a list of authors with their affiliations?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
@whedon
Copy link
Author

whedon commented Aug 4, 2017

Hello human, I'm @whedon. I'm here to help you with some common editorial tasks for JOSS. @bow it looks like you're currently assigned as the reviewer for this paper 🎉.

⭐ Important ⭐

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As as reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all JOSS 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

@pjotrp pjotrp assigned pjotrp and bow Aug 4, 2017
@bow
Copy link

bow commented Aug 8, 2017

I've reviewed the submission (the paper.md), the documentation, and I've also tried sequana, both as a user and as a developer. I will be opening a series of issues on the sequana repository soon. Before that, here are my general remarks.

This is a Python package that provides a slew of handy features both for pipeline developers and users alike. I could see this being used as a tool for Snakemake pipeline developers to collaborate with users who are less familiar with Snakemake in general, as mentioned in the submission.

The authors should be commended for the thorough documentation. From the online documentation in readthedocs.io, the docstrings in the source code, comments in the pipeline config files, and the tooltips in the Qt app, one could see that the authors have alloted significant, well-spent time for this task. Not to say that there are no room for improvements, of course. There were still some issues with the installation of dependencies and running the test examples. These will be addressed in the linked issues.

One concern I have is the monolithic structure of the package. As the first page of the documentation notes, sequana is now provides several distinct functionalities that could be packaged separately: a Python library for NGS analysis, a set of Snakemake pipelines, tools for creating the pipelines, and some standalone applications. Developers may only be interested in a subset of these (e.g. the library or the pipelines only), and providing them as a separate packages may encourage use.

This is not a blocking concern, however, and I think the submission should be accepted after the linked issues are addressed.

My final general remark is about the distinction of local vs cluster run in sequanix. It may be useful to add support controlling and/or monitoring a cloud run, given that Snakemake v4.0 supports running on Kubernetes. Additionally, it is now only possible to load Snakefiles and config files on a locally-mounted filesystem. It may also be useful to allow for users to input a URL pointing to these files and have sequanix download them. Combinining these two features would allow sequanix to be used as a native GUI app that can run public Snakefiles whose input files are also remotely stored.

@pjotrp
Copy link

pjotrp commented Aug 9, 2017

Thanks @bow for the thorough review. @cokelaer can you take a look?

@cokelaer
Copy link

cokelaer commented Aug 9, 2017

hi, we are dealing with the issues right now (thanks again to @bow for the review and useful comments). One of the most important http://github.com/sequana/sequana#436 will be dealt with asap since this is relevant for the installation process. Other issues should be fixed very soon (or already fixed for those such as typos and documentation).

As for the general remarks here above, the two main ones concern

  • monolithic structure: yes, this is true. We started with the aim of providing a couple of pipelines in snakemake format and somehow it has grown much bigger with the additions of pipelines, the graphical interface and original standalone applications. The idea to split Sequana into smaller sub-units could be envisage especially for Sequanix. This is not a small work though so we may do that on the mid-term but probably not in the next two months.
  • Improvements of Sequanix with respect to new Snakemake features. We thought about the ability to monitor the run on the cloud (sequanix improvements sequana/sequana#414) but only on our cluster. In fact, a mechanism for a cloud run on a generic cluster would be a very nice feature indeed.
    We are not familiar with Kubernetes but we could think of that in the future. Allowing for users to input a URL pointing to the config/snakefile files and having sequanix download them is also envisaged (sequanix improvments sequana/sequana#430).

@pjotrp
Copy link

pjotrp commented Aug 10, 2017

Excellent. Ping us when you are ready. When you make a new release we should be good to go.

@bow
Copy link

bow commented Aug 10, 2017

@cokelaer Thanks for the updates!

For the previous points:

  1. Indeed, I realize splitting the current monolith will take more time. It's more of a development issue rather than usability for end users. Still it's something that needs consideration.

  2. This is more on the usability end, but it's good to see you have considered (or are considering) it.

I'll be looking at the changes and responding to the issues later today ~ it seems be going along fine.

@pjotrp
Copy link

pjotrp commented Aug 28, 2017

@bow are we ready to accept?

@bow
Copy link

bow commented Aug 28, 2017

@pjotrp There is still one more issue open, should we wait for @cokelaer?

@cokelaer
Copy link

cokelaer commented Aug 28, 2017

@bow @pjotrp
I've just commented on the pending issue (hard-coded links). The changes have been made on the develop branch and should be updated on the master very soon (tomorrow most probably). In summary, the pipeline that had hard-coded links is workable. The links have been removed or have to be edited by the users. A tutorial shows that it is usable as it is. I hope this is enough for now but of course, we will keep this general issue in mind in future developments. thanks again for all your feedbacks.

@pjotrp
Copy link

pjotrp commented Aug 29, 2017

Thanks both of you :). @arfon we are ready for the next step.

@arfon
Copy link
Member

arfon commented Aug 29, 2017

Thanks @pjotrp. @cokelaer - please take a look at this PR sequana/sequana#454 for some required changes for acceptance. Once you've made these could you make an archive of the reviewed software in Zenodo/figshare/other service and update this thread with the DOI of the archive? I can then move forward with accepting the submission.

@cokelaer
Copy link

@arfon I've release a stable version 0.5.0 on pypi + release on github + zenodo:
https://zenodo.org/record/853160#.WaVZ6Wewyh8
Not sure whether you need the "all versions" DOI or the latest only.
For the latest, it is 10.5281/zenodo.853160

@arfon
Copy link
Member

arfon commented Aug 29, 2017

@whedon set 10.5281/zenodo.853160 as archive

@whedon
Copy link
Author

whedon commented Aug 29, 2017

OK. 10.5281/zenodo.853160 is the archive.

@arfon
Copy link
Member

arfon commented Aug 29, 2017

@cokelaer - one final set of changes here please sequana/sequana#455

@cokelaer
Copy link

merged sequana/sequana#455

@cokelaer
Copy link

Note also that the current version of sequana tagged for zenodois 0.5.0 (not 0.4.1 used when we started the joss submission)

@arfon arfon added the accepted label Aug 30, 2017
@arfon
Copy link
Member

arfon commented Aug 30, 2017

@bow - many thanks for your review here to and @pjotrp for editing this submission ✨

@cokelaer - your paper is now accepted into JOSS and your DOI is http://dx.doi.org/10.21105/joss.00352 ⚡️ 🚀 💥

@arfon arfon closed this as completed Aug 30, 2017
@cokelaer
Copy link

@bow @pjotrp Brilliant, thanks a lot. And again thank you for the review.

I've just noticed on the link above that the doi2bib link does not return the bibtex entry but a 'not found' message. Maybe we just need to be patient for the link to be active ?

@arfon
Copy link
Member

arfon commented Aug 30, 2017

I've just noticed on the link above that the doi2bib link does not return the bibtex entry but a 'not found' message. Maybe we just need to be patient for the link to be active ?

This generally takes a couple of hours to resolve.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review
Projects
None yet
Development

No branches or pull requests

5 participants