brunosate21-a11y/Metabolic-Modeling-Workflow.

None

Overview

Latest release: None, Last update: 2026-06-16

Share link: https://snakemake.github.io/snakemake-workflow-catalog?wf=brunosate21-a11y/Metabolic-Modeling-Workflow.

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/brunosate21-a11y/Metabolic-Modeling-Workflow. . --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

Linting and formatting

Linting results
  1Lints for snakefile /tmp/tmpa_et_8sk/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    * Path composition with '+' in line 45:
  9      This becomes quickly unreadable. Usually, it is better to endure some
 10      redundancy against having a more readable workflow. Hence, just repeat
 11      common prefixes. If path composition is unavoidable, use pathlib or
 12      (python >= 3.6) string formatting with f"...".
 13
 14Lints for snakefile /tmp/tmpa_et_8sk/workflow/rules/checkm.smk:
 15    * Absolute path "/checkm/{mag}/quality.tsv" in line 15:
 16      Do not define absolute paths inside of the workflow, since this renders
 17      your workflow irreproducible on other machines. Use path relative to the
 18      working directory instead, or make the path configurable via a config
 19      file.
 20      Also see:
 21      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 22    * Absolute path "/checkm/{mag}.log" in line 19:
 23      Do not define absolute paths inside of the workflow, since this renders
 24      your workflow irreproducible on other machines. Use path relative to the
 25      working directory instead, or make the path configurable via a config
 26      file.
 27      Also see:
 28      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 29    * Absolute path "/checkm/download_db.log" in line 32:
 30      Do not define absolute paths inside of the workflow, since this renders
 31      your workflow irreproducible on other machines. Use path relative to the
 32      working directory instead, or make the path configurable via a config
 33      file.
 34      Also see:
 35      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 36    * Absolute path "/checkm/{mag}" in line 47:
 37      Do not define absolute paths inside of the workflow, since this renders
 38      your workflow irreproducible on other machines. Use path relative to the
 39      working directory instead, or make the path configurable via a config
 40      file.
 41      Also see:
 42      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 43    * Absolute path "/checkm/{mag}/quality.tsv" in line 48:
 44      Do not define absolute paths inside of the workflow, since this renders
 45      your workflow irreproducible on other machines. Use path relative to the
 46      working directory instead, or make the path configurable via a config
 47      file.
 48      Also see:
 49      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 50    * Absolute path "/checkm/{mag}.log" in line 51:
 51      Do not define absolute paths inside of the workflow, since this renders
 52      your workflow irreproducible on other machines. Use path relative to the
 53      working directory instead, or make the path configurable via a config
 54      file.
 55      Also see:
 56      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 57    * Absolute path "/checkm/{mag}/quality.tsv" in line 61:
 58      Do not define absolute paths inside of the workflow, since this renders
 59      your workflow irreproducible on other machines. Use path relative to the
 60      working directory instead, or make the path configurable via a config
 61      file.
 62      Also see:
 63      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 64    * Absolute path "/checkm/checkm_summary.tsv" in line 63:
 65      Do not define absolute paths inside of the workflow, since this renders
 66      your workflow irreproducible on other machines. Use path relative to the
 67      working directory instead, or make the path configurable via a config
 68      file.
 69      Also see:
 70      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 71    * Absolute path "/checkm/filtered_mags.txt" in line 64:
 72      Do not define absolute paths inside of the workflow, since this renders
 73      your workflow irreproducible on other machines. Use path relative to the
 74      working directory instead, or make the path configurable via a config
 75      file.
 76      Also see:
 77      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 78    * Absolute path "/checkm/filter_checkm.log" in line 69:
 79      Do not define absolute paths inside of the workflow, since this renders
 80      your workflow irreproducible on other machines. Use path relative to the
 81      working directory instead, or make the path configurable via a config
 82      file.
 83      Also see:
 84      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
 85    * Path composition with '+' in line 15:
 86      This becomes quickly unreadable. Usually, it is better to endure some
 87      redundancy against having a more readable workflow. Hence, just repeat
 88      common prefixes. If path composition is unavoidable, use pathlib or
 89      (python >= 3.6) string formatting with f"...".
 90    * Path composition with '+' in line 19:
 91      This becomes quickly unreadable. Usually, it is better to endure some
 92      redundancy against having a more readable workflow. Hence, just repeat
 93      common prefixes. If path composition is unavoidable, use pathlib or
 94      (python >= 3.6) string formatting with f"...".
 95    * Path composition with '+' in line 32:
 96      This becomes quickly unreadable. Usually, it is better to endure some
 97      redundancy against having a more readable workflow. Hence, just repeat
 98      common prefixes. If path composition is unavoidable, use pathlib or
 99      (python >= 3.6) string formatting with f"...".
100    * Path composition with '+' in line 47:
101      This becomes quickly unreadable. Usually, it is better to endure some
102      redundancy against having a more readable workflow. Hence, just repeat
103      common prefixes. If path composition is unavoidable, use pathlib or
104      (python >= 3.6) string formatting with f"...".
105    * Path composition with '+' in line 48:
106      This becomes quickly unreadable. Usually, it is better to endure some
107      redundancy against having a more readable workflow. Hence, just repeat
108      common prefixes. If path composition is unavoidable, use pathlib or
109      (python >= 3.6) string formatting with f"...".
110    * Path composition with '+' in line 51:
111      This becomes quickly unreadable. Usually, it is better to endure some
112      redundancy against having a more readable workflow. Hence, just repeat
113      common prefixes. If path composition is unavoidable, use pathlib or
114      (python >= 3.6) string formatting with f"...".
115    * Path composition with '+' in line 61:
116      This becomes quickly unreadable. Usually, it is better to endure some
117      redundancy against having a more readable workflow. Hence, just repeat
118      common prefixes. If path composition is unavoidable, use pathlib or
119      (python >= 3.6) string formatting with f"...".
120    * Path composition with '+' in line 63:
121      This becomes quickly unreadable. Usually, it is better to endure some
122      redundancy against having a more readable workflow. Hence, just repeat
123      common prefixes. If path composition is unavoidable, use pathlib or
124      (python >= 3.6) string formatting with f"...".
125    * Path composition with '+' in line 64:
126      This becomes quickly unreadable. Usually, it is better to endure some
127      redundancy against having a more readable workflow. Hence, just repeat
128      common prefixes. If path composition is unavoidable, use pathlib or
129      (python >= 3.6) string formatting with f"...".
130    * Path composition with '+' in line 69:
131      This becomes quickly unreadable. Usually, it is better to endure some
132      redundancy against having a more readable workflow. Hence, just repeat
133      common prefixes. If path composition is unavoidable, use pathlib or
134      (python >= 3.6) string formatting with f"...".
135
136Lints for snakefile /tmp/tmpa_et_8sk/workflow/rules/carveme.smk:
137    * Absolute path "/gems/{mag}.xml" in line 5:
138      Do not define absolute paths inside of the workflow, since this renders
139      your workflow irreproducible on other machines. Use path relative to the
140      working directory instead, or make the path configurable via a config
141      file.
142      Also see:
143      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
144    * Absolute path "/carveme/{mag}.log" in line 11:
145      Do not define absolute paths inside of the workflow, since this renders
146      your workflow irreproducible on other machines. Use path relative to the
147      working directory instead, or make the path configurable via a config
148      file.
149      Also see:
150      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
151    * Path composition with '+' in line 5:
152      This becomes quickly unreadable. Usually, it is better to endure some
153      redundancy against having a more readable workflow. Hence, just repeat
154      common prefixes. If path composition is unavoidable, use pathlib or
155      (python >= 3.6) string formatting with f"...".
156    * Path composition with '+' in line 11:
157      This becomes quickly unreadable. Usually, it is better to endure some
158      redundancy against having a more readable workflow. Hence, just repeat
159      common prefixes. If path composition is unavoidable, use pathlib or
160      (python >= 3.6) string formatting with f"...".
161
162Lints for snakefile /tmp/tmpa_et_8sk/workflow/rules/memote.smk:
163    * Absolute path "/gems/{mag}.xml" in line 3:
164      Do not define absolute paths inside of the workflow, since this renders
165      your workflow irreproducible on other machines. Use path relative to the
166      working directory instead, or make the path configurable via a config
167      file.
168      Also see:
169      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
170    * Absolute path "/memote/{mag}/report.html" in line 5:
171      Do not define absolute paths inside of the workflow, since this renders
172      your workflow irreproducible on other machines. Use path relative to the
173      working directory instead, or make the path configurable via a config
174      file.
175      Also see:
176      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
177    * Absolute path "/memote/{mag}/score.json" in line 6:
178      Do not define absolute paths inside of the workflow, since this renders
179      your workflow irreproducible on other machines. Use path relative to the
180      working directory instead, or make the path configurable via a config
181      file.
182      Also see:
183      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
184    * Absolute path "/memote/{mag}.log" in line 8:
185      Do not define absolute paths inside of the workflow, since this renders
186      your workflow irreproducible on other machines. Use path relative to the
187      working directory instead, or make the path configurable via a config
188      file.
189      Also see:
190      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
191    * Absolute path "/memote/{mag}/score.json" in line 17:
192      Do not define absolute paths inside of the workflow, since this renders
193      your workflow irreproducible on other machines. Use path relative to the
194      working directory instead, or make the path configurable via a config
195      file.
196      Also see:
197      https://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#configuration
198    * Absolute path "/memote/memote_summary.tsv" in line 19:
199      Do not define absolute paths inside of the workflow, since this renders
200      your workflow irreproducible on other machines. Use path relative to the
201
202... (truncated)
Formatting results
 1[DEBUG] 
 2[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/abundances.smk":  Formatted content is different from original
 3[DEBUG] 
 4[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/comparison.smk":  Formatted content is different from original
 5[DEBUG] 
 6[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/steadycom.smk":  Formatted content is different from original
 7[DEBUG] 
 8[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/micom.smk":  Formatted content is different from original
 9[DEBUG] 
10[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/carveme.smk":  Formatted content is different from original
11[DEBUG] 
12[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/smetana.smk":  Formatted content is different from original
13[DEBUG] 
14[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/checkm.smk":  Formatted content is different from original
15[DEBUG] 
16[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/Snakefile":  Formatted content is different from original
17[DEBUG] 
18[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/sensitivity.smk":  Formatted content is different from original
19[DEBUG] 
20[DEBUG] In file "/tmp/tmpa_et_8sk/workflow/rules/memote.smk":  Formatted content is different from original
21[INFO] 10 file(s) would be changed 😬
22
23snakefmt version: 0.11.5