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:
Download genome reference from NCBI
Validate downloaded genome (
pythonscript)Simulate short read sequencing data on the fly (
dwgsim)Check quality of input read data (
FastQC)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