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

feat: Salmon update #482

Merged
merged 23 commits into from May 23, 2022
Merged

feat: Salmon update #482

merged 23 commits into from May 23, 2022

Conversation

tdayris
Copy link
Contributor

@tdayris tdayris commented Apr 29, 2022

Description

This PR brings an update of Salmon to 1.8

Decoys, pseudo-bams and gene-map files are handled, resources:tempdir is used to set temporary directory in salmon index. Dedicated errors are raised in salmon quant as well as deprecation warning.

Main behavior is changed in salmon index, causing a change break, since multiple input are possible now. Salmon quant interface is not changed and the update should be silent, as long as indexes are re-built by users.

You may notice the test dataset in salmon quant has changed: this is due to the new indexing method used after salmon 1.XXX. It required for unit-testing.

Also, manual decompression is not needed anymore.

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,
  • either the wrapper can only use a single core, or the example rule contains a threads: x statement with x being a reasonable default,
  • rule names in the test case are in snake_case and somehow tell what the rule is about or match the tools purpose or name (e.g., map_reads for a step that maps reads),
  • all environment.yaml specifications follow the respective best practices,
  • 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,
  • temporary files are either written to a unique hidden folder in the working directory, or (better) stored where the Python function tempfile.gettempdir() points to (see here; this also means that using any Python tempfile default behavior works),
  • 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.

@tdayris
Copy link
Contributor Author

tdayris commented May 2, 2022

Hi, I solve new errors and come back here asap

@fgvieira fgvieira self-requested a review May 18, 2022 13:20
@fgvieira fgvieira merged commit 3684276 into snakemake:master May 23, 2022
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.

None yet

2 participants