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

Add seqtk mergepe and improve docs #380

Merged
merged 11 commits into from
Jun 29, 2021
Merged

Add seqtk mergepe and improve docs #380

merged 11 commits into from
Jun 29, 2021

Conversation

mbhall88
Copy link
Member

@mbhall88 mbhall88 commented Jun 18, 2021

Description

Added

  • Wrapper for seqtk mergepe
  • Params section for wrapper docs
  • Docs on what fields are available for use in the meta.yaml - with an example. I always have to look this up so thought it would be useful to add it to the docs
  • URL field for wrapper docs (happy to remove if this isn't desirable, but it makes it more explicit that we want people to link to tool docs)
  • Formatting and linting instructions in the contributing docs

Changed

  • Moved contributing docs to a separate page

Removed

  • Some log files that had been committed with the seqtk subsample wrappers

QC

For all wrappers added by this PR, I made sure that

  • there is a test case which covers any introduced changes,
  • input: and output: file paths in the resulting rule can be changed arbitrarily,
  • all environment.yaml specifications follow the respective best practices

I would usually opt for pinning the major and minor version. This way, users will get the newest security patches and bug fixes whenever they create an environment, while nothing should change in a backward incompatible way

I appreciate this may not be up for debate, in which case I'm ok to change the version, but pinning the major version only is also backward-compatible and will give all of the latest patches and fixes...

  • wherever possible, command line arguments are inferred and set automatically (e.g. based on file extensions in input: or output:),
  • all fields of the example rules in the Snakefiles and their entries are explained via comments (input:/output:/params: etc.),
  • stderr and/or stdout are logged correctly (log:), depending on the wrapped tool,
  • the meta.yaml contains a link to the documentation of the respective tool or command,
  • Snakefiles pass the linting (snakemake --lint),
  • Snakefiles are formatted with snakefmt,
  • Python wrapper scripts are formatted with black.

@mbhall88 mbhall88 requested review from dlaehnemann and jafors and removed request for dlaehnemann June 24, 2021 01:54
@jafors
Copy link
Contributor

jafors commented Jun 24, 2021

Thanks for the work. I'm a fan of the additions and restructurings in the docs.
I'd ask @johanneskoester and @dlaehnemann about their thoughts on this, but I like it. :)

Copy link
Contributor

@johanneskoester johanneskoester left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot! The extension of the docs looks great!! I have just a few comments below.

docs/contributing.rst Outdated Show resolved Hide resolved
docs/contributing.rst Outdated Show resolved Hide resolved
Copy link
Contributor

@dlaehnemann dlaehnemann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a bunch, I very much appreciate the updates to the docs. This restructuring is a very good idea. I used the opportunity to also check for consistency with our recently added PR template. So please excuse the deluge of comments and suggestions.

Regarding version pinning, I guess this is up for debate. Maybe we should debate this on Stackoverflow and adjust the wording there, if we agree to change the recommendations?

bio/seqtk/mergepe/meta.yaml Outdated Show resolved Hide resolved
bio/seqtk/mergepe/environment.yaml Outdated Show resolved Hide resolved
bio/seqtk/mergepe/wrapper.py Show resolved Hide resolved
docs/contributing.rst Show resolved Hide resolved
docs/contributing.rst Outdated Show resolved Hide resolved
docs/contributing.rst Outdated Show resolved Hide resolved
docs/contributing.rst Outdated Show resolved Hide resolved
docs/contributing.rst Outdated Show resolved Hide resolved
docs/contributing.rst Outdated Show resolved Hide resolved
docs/contributing.rst Outdated Show resolved Hide resolved
mbhall88 and others added 4 commits June 25, 2021 14:30
@dlaehnemann
Copy link
Contributor

@mbhall88 There are still a bunch of points from my review that are open. I had to manually click on 8 hidden conversations, Load more or change over to the Files changed tab, so maybe you didn't see them in the Conversation tab of the PR?

@mbhall88
Copy link
Member Author

@mbhall88 There are still a bunch of points from my review that are open. I had to manually click on 8 hidden conversations, Load more or change over to the Files changed tab, so maybe you didn't see them in the Conversation tab of the PR?

Ah very sorry @dlaehnemann. I've added those suggestions.

I think it might also be good to add a more thorough part of the docs describing how to best write a wrapper.py. I would do it, but I need to do some PhD.

@johanneskoester
Copy link
Contributor

@mbhall88 There are still a bunch of points from my review that are open. I had to manually click on 8 hidden conversations, Load more or change over to the Files changed tab, so maybe you didn't see them in the Conversation tab of the PR?

Ah very sorry @dlaehnemann. I've added those suggestions.

I think it might also be good to add a more thorough part of the docs describing how to best write a wrapper.py. I would do it, but I need to do some PhD.

Thanks a lot for all your contributions although writing a thesis. This is highly appreciated!

Copy link
Contributor

@dlaehnemann dlaehnemann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mbhall88 You're definitely right, that a detailed description of how to write a wrapper.py and wrapper.R would be great. But you're even more right to focus on your PhD. I documented that need over in the new issue #385.

Otherwise, this is good to go. I just have one suggestion for adding a sentence, but feel free to ignore that one, if you think this is not useful.

docs/contributing.rst Show resolved Hide resolved
Co-authored-by: David Laehnemann <[email protected]>
@johanneskoester johanneskoester merged commit 0aa394a into snakemake:master Jun 29, 2021
@dlaehnemann
Copy link
Contributor

🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants