tmweiskittel/tmwalign

None

Overview

Latest release: None, Last update: 2026-04-18

Share link: https://snakemake.github.io/snakemake-workflow-catalog?wf=tmweiskittel/tmwalign

Quality control: linting: failed formatting: failed

Deployment

Step 1: Install Snakemake and Snakedeploy

Snakemake and Snakedeploy are best installed via the Conda package manager. It is recommended to install conda via Miniforge. Run

conda create -c conda-forge -c bioconda -c nodefaults --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

For other installation methods, refer to the Snakemake and Snakedeploy documentation.

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/tmweiskittel/tmwalign . --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 using apptainer/singularity, use

snakemake --cores all --sdm apptainer

To run the workflow using a combination of conda and apptainer/singularity for software deployment, use

snakemake --cores all --sdm conda apptainer

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.

Workflow overview

This workflow is a best-practice workflow for <detailed description>. The workflow is built using snakemake and consists of the following steps:

  1. Download genome reference from NCBI

  2. Validate downloaded genome (python script)

  3. Simulate short read sequencing data on the fly (dwgsim)

  4. Check quality of input read data (FastQC)

  5. Collect statistics from tool output (MultiQC)

Running the workflow

Input data

This template workflow creates artificial sequencing data in *.fastq.gz format. It does not contain actual input data. The simulated input files are nevertheless created based on a mandatory table linked in the config.yaml file (default: .test/samples.tsv). The sample sheet has the following layout:

sample

condition

replicate

read1

read2

sample1

wild_type

1

sample1.bwa.read1.fastq.gz

sample1.bwa.read2.fastq.gz

sample2

wild_type

2

sample2.bwa.read1.fastq.gz

sample2.bwa.read2.fastq.gz

Parameters

This table lists all parameters that can be used to run the workflow.

parameter

type

details

default

sample_sheet

path

str

path to sample sheet, mandatory

“config/samples.tsv”

get_genome

ncbi_ftp

str

link to a genome on NCBI’s FTP server

link to S. cerevisiae genome

simulate_reads

read_length

num

length of target reads in bp

100

read_number

num

number of total reads to be simulated

10000

Workflow parameters

The following table is automatically parsed from the workflow’s config.schema.y(a)ml file.

Parameter

Type

Description

Required

Default

sample_sheet

string

path to sample-sheet TSV file

yes

get_genome

yes

. ncbi_ftp

string

URL for genome retrieval

yes

simulate_reads

yes

. read_length

number

length of target reads in bp

. read_number

number

number of total reads to be simulated

Linting and formatting

Linting results
  1Lints for snakefile /tmp/tmpt5rezotp/workflow/Snakefile:
  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 rule unpack_hg38 (line 6, /tmp/tmpt5rezotp/workflow/rules/references_combined.smk):
 10    * Specify a conda environment or container for each rule.:
 11      This way, the used software for each specific step is documented, and the
 12      workflow can be executed on any machine without prerequisites.
 13      Also see:
 14      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
 15      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
 16
 17Lints for rule organize_blacklist (line 19, /tmp/tmpt5rezotp/workflow/rules/references_combined.smk):
 18    * Specify a conda environment or container for each rule.:
 19      This way, the used software for each specific step is documented, and the
 20      workflow can be executed on any machine without prerequisites.
 21      Also see:
 22      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
 23      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
 24    * Shell command directly uses variable REF_BED from outside of the rule:
 25      It is recommended to pass all files as input and output, and non-file
 26      parameters via the params directive. Otherwise, provenance tracking is
 27      less accurate.
 28      Also see:
 29      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 30    * Shell command directly uses variable LOCAL_PATH from outside of the rule:
 31      It is recommended to pass all files as input and output, and non-file
 32      parameters via the params directive. Otherwise, provenance tracking is
 33      less accurate.
 34      Also see:
 35      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 36
 37Lints for rule normalize_spikein_headers (line 33, /tmp/tmpt5rezotp/workflow/rules/references_combined.smk):
 38    * Specify a conda environment or container for each rule.:
 39      This way, the used software for each specific step is documented, and the
 40      workflow can be executed on any machine without prerequisites.
 41      Also see:
 42      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
 43      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
 44
 45Lints for rule download_reference_files (line 53, /tmp/tmpt5rezotp/workflow/rules/references_combined.smk):
 46    * Specify a conda environment or container for each rule.:
 47      This way, the used software for each specific step is documented, and the
 48      workflow can be executed on any machine without prerequisites.
 49      Also see:
 50      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
 51      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
 52    * Shell command directly uses variable REF_SOURCE from outside of the rule:
 53      It is recommended to pass all files as input and output, and non-file
 54      parameters via the params directive. Otherwise, provenance tracking is
 55      less accurate.
 56      Also see:
 57      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 58    * Shell command directly uses variable REF_FASTA from outside of the rule:
 59      It is recommended to pass all files as input and output, and non-file
 60      parameters via the params directive. Otherwise, provenance tracking is
 61      less accurate.
 62      Also see:
 63      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 64    * Shell command directly uses variable REF_BED from outside of the rule:
 65      It is recommended to pass all files as input and output, and non-file
 66      parameters via the params directive. Otherwise, provenance tracking is
 67      less accurate.
 68      Also see:
 69      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 70    * Shell command directly uses variable REF_BWA from outside of the rule:
 71      It is recommended to pass all files as input and output, and non-file
 72      parameters via the params directive. Otherwise, provenance tracking is
 73      less accurate.
 74      Also see:
 75      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 76
 77Lints for rule download_metadata (line 79, /tmp/tmpt5rezotp/workflow/rules/references_combined.smk):
 78    * Specify a conda environment or container for each rule.:
 79      This way, the used software for each specific step is documented, and the
 80      workflow can be executed on any machine without prerequisites.
 81      Also see:
 82      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
 83      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
 84    * Shell command directly uses variable LOCAL_PATH from outside of the rule:
 85      It is recommended to pass all files as input and output, and non-file
 86      parameters via the params directive. Otherwise, provenance tracking is
 87      less accurate.
 88      Also see:
 89      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 90    * Shell command directly uses variable LOCAL_PATH from outside of the rule:
 91      It is recommended to pass all files as input and output, and non-file
 92      parameters via the params directive. Otherwise, provenance tracking is
 93      less accurate.
 94      Also see:
 95      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
 96
 97Lints for rule bwa_index_reference (line 96, /tmp/tmpt5rezotp/workflow/rules/references_combined.smk):
 98    * Shell command directly uses variable REF_BWA from outside of the rule:
 99      It is recommended to pass all files as input and output, and non-file
100      parameters via the params directive. Otherwise, provenance tracking is
101      less accurate.
102      Also see:
103      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
104    * Shell command directly uses variable REF_BWA from outside of the rule:
105      It is recommended to pass all files as input and output, and non-file
106      parameters via the params directive. Otherwise, provenance tracking is
107      less accurate.
108      Also see:
109      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
110
111Lints for rule build_combined_reference (line 119, /tmp/tmpt5rezotp/workflow/rules/references_combined.smk):
112    * Specify a conda environment or container for each rule.:
113      This way, the used software for each specific step is documented, and the
114      workflow can be executed on any machine without prerequisites.
115      Also see:
116      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
117      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
118
119Lints for rule download_fastqs (line 1, /tmp/tmpt5rezotp/workflow/rules/download_samples.smk):
120    * Specify a conda environment or container for each rule.:
121      This way, the used software for each specific step is documented, and the
122      workflow can be executed on any machine without prerequisites.
123      Also see:
124      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
125      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
126    * Shell command directly uses variable FASTQ_DIR from outside of the rule:
127      It is recommended to pass all files as input and output, and non-file
128      parameters via the params directive. Otherwise, provenance tracking is
129      less accurate.
130      Also see:
131      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
132    * Shell command directly uses variable LOCAL_PATH from outside of the rule:
133      It is recommended to pass all files as input and output, and non-file
134      parameters via the params directive. Otherwise, provenance tracking is
135      less accurate.
136      Also see:
137      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
138
139Lints for rule fastp_trim (line 1, /tmp/tmpt5rezotp/workflow/rules/fastp_trimming.smk):
140    * Shell command directly uses variable TRIMMED_DIR from outside of the rule:
141      It is recommended to pass all files as input and output, and non-file
142      parameters via the params directive. Otherwise, provenance tracking is
143      less accurate.
144      Also see:
145      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
146    * Shell command directly uses variable QC_DIR from outside of the rule:
147      It is recommended to pass all files as input and output, and non-file
148      parameters via the params directive. Otherwise, provenance tracking is
149      less accurate.
150      Also see:
151      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
152    * Shell command directly uses variable LOCAL_PATH from outside of the rule:
153      It is recommended to pass all files as input and output, and non-file
154      parameters via the params directive. Otherwise, provenance tracking is
155      less accurate.
156      Also see:
157      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
158
159Lints for rule bwameth_align (line 1, /tmp/tmpt5rezotp/workflow/rules/alignment.smk):
160    * Shell command directly uses variable BAM_DIR from outside of the rule:
161      It is recommended to pass all files as input and output, and non-file
162      parameters via the params directive. Otherwise, provenance tracking is
163      less accurate.
164      Also see:
165      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
166    * Shell command directly uses variable LOCAL_PATH from outside of the rule:
167      It is recommended to pass all files as input and output, and non-file
168      parameters via the params directive. Otherwise, provenance tracking is
169      less accurate.
170      Also see:
171      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
172
173Lints for rule filter_bam (line 1, /tmp/tmpt5rezotp/workflow/rules/bam_cleanup.smk):
174    * Specify a conda environment or container for each rule.:
175      This way, the used software for each specific step is documented, and the
176      workflow can be executed on any machine without prerequisites.
177      Also see:
178      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
179      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
180    * Shell command directly uses variable BAM_DIR from outside of the rule:
181      It is recommended to pass all files as input and output, and non-file
182      parameters via the params directive. Otherwise, provenance tracking is
183      less accurate.
184      Also see:
185      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
186    * Shell command directly uses variable LOCAL_PATH from outside of the rule:
187      It is recommended to pass all files as input and output, and non-file
188      parameters via the params directive. Otherwise, provenance tracking is
189      less accurate.
190      Also see:
191      https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
192
193Lints for rule blacklist_filter_bam (line 19, /tmp/tmpt5rezotp/workflow/rules/bam_cleanup.smk):
194    * Specify a conda environment or container for each rule.:
195      This way, the used software for each specific step is documented, and the
196      workflow can be executed on any machine without prerequisites.
197      Also see:
198      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
199      https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
200    * Shell command directly uses variable BAM_DIR from outside of the rule:
201
202... (truncated)
Formatting results
 1[DEBUG] 
 2[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/lambda_qc.smk":  Formatted content is different from original
 3[DEBUG] 
 4[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/methylation.smk":  Formatted content is different from original
 5[DEBUG] 
 6[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/qc_report.smk":  Formatted content is different from original
 7[DEBUG] 
 8[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/alignment.smk":  Formatted content is different from original
 9[DEBUG] 
10[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/download_samples.smk":  Formatted content is different from original
11[DEBUG] 
12[DEBUG] In file "/tmp/tmpt5rezotp/workflow/Snakefile":  Formatted content is different from original
13[DEBUG] 
14[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/cloud_upload.smk":  Formatted content is different from original
15[DEBUG] 
16[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/coverage_qc.smk":  Formatted content is different from original
17[DEBUG] 
18[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/bam_cleanup.smk":  Formatted content is different from original
19[DEBUG] 
20[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/references_combined.smk":  Formatted content is different from original
21[DEBUG] 
22[DEBUG] In file "/tmp/tmpt5rezotp/workflow/rules/fastp_trimming.smk":  Formatted content is different from original
23[INFO] 11 file(s) would be changed 😬
24
25snakefmt version: 0.11.5