snakemake-wrappers
snakemake-wrappers copied to clipboard
feat: add wrapper for coolpuppy
Description
Created a wrapper for coolpup.py (https://github.com/open2c/coolpuppy)
QC
- [x] I confirm that:
For all wrappers added by this PR,
- there is a test case which covers any introduced changes,
input:andoutput: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: xstatement withxbeing 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_readsfor a step that maps reads), - all
environment.yamlspecifications follow the respective best practices, - wherever possible, command line arguments are inferred and set automatically (e.g. based on file extensions in
input:oroutput:), - all fields of the example rules in the
Snakefiles and their entries are explained via comments (input:/output:/params:etc.), stderrand/orstdoutare 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 Pythontempfiledefault behavior works), - the
meta.yamlcontains 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.
- Conda environments use a minimal amount of channels, in recommended ordering. E.g. for bioconda, use (conda-forge, bioconda, nodefaults, as conda-forge should have highest priority and defaults channels are usually not needed because most packages are in conda-forge nowadays).