kevinrue/snakemake-cncb-ensembl-2024

None

Overview

Topics:

Latest release: None, Last update: 2025-04-10

Linting: linting: failed, Formatting: formatting: failed

Deployment

Step 1: Install Snakemake and Snakedeploy

Snakemake and Snakedeploy are best installed via the Mamba package manager (a drop-in replacement for conda). If you have neither Conda nor Mamba, it is recommended to install Miniforge. More details regarding Mamba can be found here.

When using Mamba, run

mamba create -c conda-forge -c bioconda --name snakemake snakemake snakedeploy

to install both Snakemake and Snakedeploy in an isolated environment. For all following commands ensure that this environment is activated via

conda activate snakemake

Step 2: Deploy workflow

With Snakemake and Snakedeploy installed, the workflow can be deployed as follows. First, create an appropriate project working directory on your system and enter it:

mkdir -p path/to/project-workdir
cd path/to/project-workdir

In all following steps, we will assume that you are inside of that directory. Then run

snakedeploy deploy-workflow https://github.com/kevinrue/snakemake-cncb-ensembl-2024 . --tag None

Snakedeploy will create two folders, workflow and config. The former contains the deployment of the chosen workflow as a Snakemake module, the latter contains configuration files which will be modified in the next step in order to configure the workflow to your needs.

Step 3: Configure workflow

To configure the workflow, adapt config/config.yml to your needs following the instructions below.

Step 4: Run workflow

The deployment method is controlled using the --software-deployment-method (short --sdm) argument.

To run the workflow with automatic deployment of all required software via conda/mamba, use

snakemake --cores all --sdm conda

Snakemake will automatically detect the main Snakefile in the workflow subfolder and execute the workflow module that has been defined by the deployment in step 2.

For further options such as cluster and cloud execution, see the docs.

Step 5: Generate report

After finalizing your data analysis, you can automatically generate an interactive visual HTML report for inspection of results together with parameters and code inside of the browser using

snakemake --report report.zip

Configuration

The following section is imported from the workflow’s config/README.md.

Describe how to configure the workflow (using config.yaml and maybe additional files). All of them need to be present with example entries inside of the config folder.

Linting and formatting

Linting results

  1Lints for snakefile /tmp/tmp10fpnwec/workflow/rules/downloads.smk:
  2    * Mixed rules and functions in same snakefile.:
  3      Small one-liner functions used only once should be defined as lambda
  4      expressions. Other functions should be collected in a common module, e.g.
  5      'rules/common.smk'. This makes the workflow steps more readable.
  6      Also see:
  7      https://snakemake.readthedocs.io/en/latest/snakefiles/modularization.html#includes
  8
  9Lints for snakefile /tmp/tmp10fpnwec/workflow/rules/simpleaf.smk:
 10    * Mixed rules and functions in same snakefile.:
 11      Small one-liner functions used only once should be defined as lambda
 12      expressions. Other functions should be collected in a common module, e.g.
 13      'rules/common.smk'. This makes the workflow steps more readable.
 14      Also see:
 15      https://snakemake.readthedocs.io/en/latest/snakefiles/modularization.html#includes
 16
 17Lints for rule gtf_find_duplicates (line 1, /tmp/tmp10fpnwec/workflow/rules/gtf.smk):
 18    * No log directive defined:
 19      Without a log directive, all output will be printed to the terminal. In
 20      distributed environments, this means that errors are harder to discover.
 21      In local environments, output of concurrent jobs will be mixed and become
 22      unreadable.
 23      Also see:
 24      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
 25
 26Lints for rule download_gtf (line 11, /tmp/tmp10fpnwec/workflow/rules/downloads.smk):
 27    * Shell command directly uses variable download_gtf_cmd_str from outside of the rule:
 28      It is recommended to pass all files as input and output, and non-file
 29      parameters via the params directive. Otherwise, provenance tracking is
 30      less accurate.
 31      Also see:
 32      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 33
 34Lints for rule download_concatenate_genome_fasta (line 42, /tmp/tmp10fpnwec/workflow/rules/downloads.smk):
 35    * Shell command directly uses variable download_concatenate_genome_fasta_cmd_str from outside of the rule:
 36      It is recommended to pass all files as input and output, and non-file
 37      parameters via the params directive. Otherwise, provenance tracking is
 38      less accurate.
 39      Also see:
 40      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 41
 42Lints for rule simpleaf_quant_rds (line 1, /tmp/tmp10fpnwec/workflow/rules/r.smk):
 43    * No log directive defined:
 44      Without a log directive, all output will be printed to the terminal. In
 45      distributed environments, this means that errors are harder to discover.
 46      In local environments, output of concurrent jobs will be mixed and become
 47      unreadable.
 48      Also see:
 49      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
 50
 51Lints for rule simpleaf_quant_merge_rds (line 16, /tmp/tmp10fpnwec/workflow/rules/r.smk):
 52    * No log directive defined:
 53      Without a log directive, all output will be printed to the terminal. In
 54      distributed environments, this means that errors are harder to discover.
 55      In local environments, output of concurrent jobs will be mixed and become
 56      unreadable.
 57      Also see:
 58      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
 59
 60Lints for rule simpleaf_lower_umi_per_sample (line 30, /tmp/tmp10fpnwec/workflow/rules/r.smk):
 61    * No log directive defined:
 62      Without a log directive, all output will be printed to the terminal. In
 63      distributed environments, this means that errors are harder to discover.
 64      In local environments, output of concurrent jobs will be mixed and become
 65      unreadable.
 66      Also see:
 67      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
 68
 69Lints for rule dropletutils_barcode_ranks (line 46, /tmp/tmp10fpnwec/workflow/rules/r.smk):
 70    * No log directive defined:
 71      Without a log directive, all output will be printed to the terminal. In
 72      distributed environments, this means that errors are harder to discover.
 73      In local environments, output of concurrent jobs will be mixed and become
 74      unreadable.
 75      Also see:
 76      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
 77
 78Lints for rule dropletutils_emptydrops_per_sample (line 61, /tmp/tmp10fpnwec/workflow/rules/r.smk):
 79    * No log directive defined:
 80      Without a log directive, all output will be printed to the terminal. In
 81      distributed environments, this means that errors are harder to discover.
 82      In local environments, output of concurrent jobs will be mixed and become
 83      unreadable.
 84      Also see:
 85      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
 86
 87Lints for rule sce_after_emptydrops (line 81, /tmp/tmp10fpnwec/workflow/rules/r.smk):
 88    * No log directive defined:
 89      Without a log directive, all output will be printed to the terminal. In
 90      distributed environments, this means that errors are harder to discover.
 91      In local environments, output of concurrent jobs will be mixed and become
 92      unreadable.
 93      Also see:
 94      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
 95
 96Lints for rule filter_mitochondria (line 98, /tmp/tmp10fpnwec/workflow/rules/r.smk):
 97    * No log directive defined:
 98      Without a log directive, all output will be printed to the terminal. In
 99      distributed environments, this means that errors are harder to discover.
100      In local environments, output of concurrent jobs will be mixed and become
101      unreadable.
102      Also see:
103      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
104
105Lints for rule scan_parameters_before_scdblfinder (line 115, /tmp/tmp10fpnwec/workflow/rules/r.smk):
106    * No log directive defined:
107      Without a log directive, all output will be printed to the terminal. In
108      distributed environments, this means that errors are harder to discover.
109      In local environments, output of concurrent jobs will be mixed and become
110      unreadable.
111      Also see:
112      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
113
114Lints for rule scdblfinder (line 139, /tmp/tmp10fpnwec/workflow/rules/r.smk):
115    * No log directive defined:
116      Without a log directive, all output will be printed to the terminal. In
117      distributed environments, this means that errors are harder to discover.
118      In local environments, output of concurrent jobs will be mixed and become
119      unreadable.
120      Also see:
121      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
122
123Lints for rule scran_hvgs_sample (line 155, /tmp/tmp10fpnwec/workflow/rules/r.smk):
124    * No log directive defined:
125      Without a log directive, all output will be printed to the terminal. In
126      distributed environments, this means that errors are harder to discover.
127      In local environments, output of concurrent jobs will be mixed and become
128      unreadable.
129      Also see:
130      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
131
132Lints for rule simpleaf_counts_all_rds (line 173, /tmp/tmp10fpnwec/workflow/rules/r.smk):
133    * No log directive defined:
134      Without a log directive, all output will be printed to the terminal. In
135      distributed environments, this means that errors are harder to discover.
136      In local environments, output of concurrent jobs will be mixed and become
137      unreadable.
138      Also see:
139      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
140
141Lints for rule simpleaf_counts_hdf5 (line 187, /tmp/tmp10fpnwec/workflow/rules/r.smk):
142    * No log directive defined:
143      Without a log directive, all output will be printed to the terminal. In
144      distributed environments, this means that errors are harder to discover.
145      In local environments, output of concurrent jobs will be mixed and become
146      unreadable.
147      Also see:
148      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
149
150Lints for rule scuttle_lognormcounts (line 200, /tmp/tmp10fpnwec/workflow/rules/r.smk):
151    * No log directive defined:
152      Without a log directive, all output will be printed to the terminal. In
153      distributed environments, this means that errors are harder to discover.
154      In local environments, output of concurrent jobs will be mixed and become
155      unreadable.
156      Also see:
157      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
158
159Lints for rule filtered_gene_ids (line 214, /tmp/tmp10fpnwec/workflow/rules/r.smk):
160    * No log directive defined:
161      Without a log directive, all output will be printed to the terminal. In
162      distributed environments, this means that errors are harder to discover.
163      In local environments, output of concurrent jobs will be mixed and become
164      unreadable.
165      Also see:
166      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
167
168Lints for rule scran_modelgenevar_block (line 228, /tmp/tmp10fpnwec/workflow/rules/r.smk):
169    * No log directive defined:
170      Without a log directive, all output will be printed to the terminal. In
171      distributed environments, this means that errors are harder to discover.
172      In local environments, output of concurrent jobs will be mixed and become
173      unreadable.
174      Also see:
175      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
176
177Lints for rule scran_top_hvgs (line 245, /tmp/tmp10fpnwec/workflow/rules/r.smk):
178    * No log directive defined:
179      Without a log directive, all output will be printed to the terminal. In
180      distributed environments, this means that errors are harder to discover.
181      In local environments, output of concurrent jobs will be mixed and become
182      unreadable.
183      Also see:
184      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
185
186Lints for rule batchelor_fastmnn (line 261, /tmp/tmp10fpnwec/workflow/rules/r.smk):
187    * No log directive defined:
188      Without a log directive, all output will be printed to the terminal. In
189      distributed environments, this means that errors are harder to discover.
190      In local environments, output of concurrent jobs will be mixed and become
191      unreadable.
192      Also see:
193      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
194
195Lints for rule cluster_after_integration (line 280, /tmp/tmp10fpnwec/workflow/rules/r.smk):
196    * No log directive defined:
197      Without a log directive, all output will be printed to the terminal. In
198      distributed environments, this means that errors are harder to discover.
199      In local environments, output of concurrent jobs will be mixed and become
200      unreadable.
201
202... (truncated)

Formatting results

 1[DEBUG] 
 2[DEBUG] 
 3[DEBUG] In file "/tmp/tmp10fpnwec/workflow/rules/reports.smk":  Formatted content is different from original
 4[DEBUG] 
 5[DEBUG] In file "/tmp/tmp10fpnwec/workflow/rules/simpleaf.smk":  Formatted content is different from original
 6[DEBUG] 
 7[DEBUG] In file "/tmp/tmp10fpnwec/workflow/Snakefile":  Formatted content is different from original
 8[DEBUG] 
 9[DEBUG] In file "/tmp/tmp10fpnwec/workflow/rules/r.smk":  Formatted content is different from original
10[DEBUG] 
11[DEBUG] In file "/tmp/tmp10fpnwec/workflow/rules/downloads.smk":  Formatted content is different from original
12[DEBUG] 
13[DEBUG] In file "/tmp/tmp10fpnwec/workflow/rules/common.smk":  Formatted content is different from original
14[INFO] 6 file(s) would be changed 😬
15[INFO] 1 file(s) would be left unchanged 🎉
16
17snakefmt version: 0.10.2