Ovewh/ACP-haugvaldstad-et-al-2025
Source code for the analysis related to Haugvaldstad et al 2025, ACP
Overview
Latest release: haugvaldstad-et-al-final-release, Last update: 2025-08-25
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/Ovewh/ACP-haugvaldstad-et-al-2025 . --tag haugvaldstad-et-al-final-release
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
1/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk:410: SyntaxWarning: invalid escape sequence '\D'
2 plevel='low|middle|high'
3/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk:457: SyntaxWarning: invalid escape sequence '\D'
4 nlevels=16,
5/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk:503: SyntaxWarning: invalid escape sequence '\D'
6 areacello = 'workflow/input_data/common_grid.nc'
7/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk:542: SyntaxWarning: invalid escape sequence '\D'
8/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk:588: SyntaxWarning: invalid escape sequence '\D'
9/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk:881: SyntaxWarning: invalid escape sequence '\D'
10/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk:928: SyntaxWarning: invalid escape sequence '\D'
11Lints for snakefile /tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/Snakefile:
12 * Path composition with '+' in line 78:
13 This becomes quickly unreadable. Usually, it is better to endure some
14 redundancy against having a more readable workflow. Hence, just repeat
15 common prefixes. If path composition is unavoidable, use pathlib or
16 (python >= 3.6) string formatting with f"...".
17 * Path composition with '+' in line 79:
18 This becomes quickly unreadable. Usually, it is better to endure some
19 redundancy against having a more readable workflow. Hence, just repeat
20 common prefixes. If path composition is unavoidable, use pathlib or
21 (python >= 3.6) string formatting with f"...".
22 * Path composition with '+' in line 80:
23 This becomes quickly unreadable. Usually, it is better to endure some
24 redundancy against having a more readable workflow. Hence, just repeat
25 common prefixes. If path composition is unavoidable, use pathlib or
26 (python >= 3.6) string formatting with f"...".
27 * Path composition with '+' in line 81:
28 This becomes quickly unreadable. Usually, it is better to endure some
29 redundancy against having a more readable workflow. Hence, just repeat
30 common prefixes. If path composition is unavoidable, use pathlib or
31 (python >= 3.6) string formatting with f"...".
32 * Path composition with '+' in line 82:
33 This becomes quickly unreadable. Usually, it is better to endure some
34 redundancy against having a more readable workflow. Hence, just repeat
35 common prefixes. If path composition is unavoidable, use pathlib or
36 (python >= 3.6) string formatting with f"...".
37 * Path composition with '+' in line 83:
38 This becomes quickly unreadable. Usually, it is better to endure some
39 redundancy against having a more readable workflow. Hence, just repeat
40 common prefixes. If path composition is unavoidable, use pathlib or
41 (python >= 3.6) string formatting with f"...".
42 * Path composition with '+' in line 84:
43 This becomes quickly unreadable. Usually, it is better to endure some
44 redundancy against having a more readable workflow. Hence, just repeat
45 common prefixes. If path composition is unavoidable, use pathlib or
46 (python >= 3.6) string formatting with f"...".
47 * Path composition with '+' in line 85:
48 This becomes quickly unreadable. Usually, it is better to endure some
49 redundancy against having a more readable workflow. Hence, just repeat
50 common prefixes. If path composition is unavoidable, use pathlib or
51 (python >= 3.6) string formatting with f"...".
52 * Path composition with '+' in line 86:
53 This becomes quickly unreadable. Usually, it is better to endure some
54 redundancy against having a more readable workflow. Hence, just repeat
55 common prefixes. If path composition is unavoidable, use pathlib or
56 (python >= 3.6) string formatting with f"...".
57 * Path composition with '+' in line 87:
58 This becomes quickly unreadable. Usually, it is better to endure some
59 redundancy against having a more readable workflow. Hence, just repeat
60 common prefixes. If path composition is unavoidable, use pathlib or
61 (python >= 3.6) string formatting with f"...".
62 * Path composition with '+' in line 88:
63 This becomes quickly unreadable. Usually, it is better to endure some
64 redundancy against having a more readable workflow. Hence, just repeat
65 common prefixes. If path composition is unavoidable, use pathlib or
66 (python >= 3.6) string formatting with f"...".
67 * Path composition with '+' in line 89:
68 This becomes quickly unreadable. Usually, it is better to endure some
69 redundancy against having a more readable workflow. Hence, just repeat
70 common prefixes. If path composition is unavoidable, use pathlib or
71 (python >= 3.6) string formatting with f"...".
72 * Path composition with '+' in line 90:
73 This becomes quickly unreadable. Usually, it is better to endure some
74 redundancy against having a more readable workflow. Hence, just repeat
75 common prefixes. If path composition is unavoidable, use pathlib or
76 (python >= 3.6) string formatting with f"...".
77 * Path composition with '+' in line 91:
78 This becomes quickly unreadable. Usually, it is better to endure some
79 redundancy against having a more readable workflow. Hence, just repeat
80 common prefixes. If path composition is unavoidable, use pathlib or
81 (python >= 3.6) string formatting with f"...".
82 * Path composition with '+' in line 92:
83 This becomes quickly unreadable. Usually, it is better to endure some
84 redundancy against having a more readable workflow. Hence, just repeat
85 common prefixes. If path composition is unavoidable, use pathlib or
86 (python >= 3.6) string formatting with f"...".
87
88Lints for snakefile /tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/compute_ERF.smk:
89 * Path composition with '+' in line 25:
90 This becomes quickly unreadable. Usually, it is better to endure some
91 redundancy against having a more readable workflow. Hence, just repeat
92 common prefixes. If path composition is unavoidable, use pathlib or
93 (python >= 3.6) string formatting with f"...".
94 * Path composition with '+' in line 53:
95 This becomes quickly unreadable. Usually, it is better to endure some
96 redundancy against having a more readable workflow. Hence, just repeat
97 common prefixes. If path composition is unavoidable, use pathlib or
98 (python >= 3.6) string formatting with f"...".
99 * Path composition with '+' in line 80:
100 This becomes quickly unreadable. Usually, it is better to endure some
101 redundancy against having a more readable workflow. Hence, just repeat
102 common prefixes. If path composition is unavoidable, use pathlib or
103 (python >= 3.6) string formatting with f"...".
104 * Path composition with '+' in line 96:
105 This becomes quickly unreadable. Usually, it is better to endure some
106 redundancy against having a more readable workflow. Hence, just repeat
107 common prefixes. If path composition is unavoidable, use pathlib or
108 (python >= 3.6) string formatting with f"...".
109 * Path composition with '+' in line 130:
110 This becomes quickly unreadable. Usually, it is better to endure some
111 redundancy against having a more readable workflow. Hence, just repeat
112 common prefixes. If path composition is unavoidable, use pathlib or
113 (python >= 3.6) string formatting with f"...".
114 * Path composition with '+' in line 143:
115 This becomes quickly unreadable. Usually, it is better to endure some
116 redundancy against having a more readable workflow. Hence, just repeat
117 common prefixes. If path composition is unavoidable, use pathlib or
118 (python >= 3.6) string formatting with f"...".
119 * Path composition with '+' in line 144:
120 This becomes quickly unreadable. Usually, it is better to endure some
121 redundancy against having a more readable workflow. Hence, just repeat
122 common prefixes. If path composition is unavoidable, use pathlib or
123 (python >= 3.6) string formatting with f"...".
124 * Path composition with '+' in line 146:
125 This becomes quickly unreadable. Usually, it is better to endure some
126 redundancy against having a more readable workflow. Hence, just repeat
127 common prefixes. If path composition is unavoidable, use pathlib or
128 (python >= 3.6) string formatting with f"...".
129 * Path composition with '+' in line 8:
130 This becomes quickly unreadable. Usually, it is better to endure some
131 redundancy against having a more readable workflow. Hence, just repeat
132 common prefixes. If path composition is unavoidable, use pathlib or
133 (python >= 3.6) string formatting with f"...".
134
135Lints for snakefile /tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/utils.smk:
136 * Path composition with '+' in line 77:
137 This becomes quickly unreadable. Usually, it is better to endure some
138 redundancy against having a more readable workflow. Hence, just repeat
139 common prefixes. If path composition is unavoidable, use pathlib or
140 (python >= 3.6) string formatting with f"...".
141 * Path composition with '+' in line 91:
142 This becomes quickly unreadable. Usually, it is better to endure some
143 redundancy against having a more readable workflow. Hence, just repeat
144 common prefixes. If path composition is unavoidable, use pathlib or
145 (python >= 3.6) string formatting with f"...".
146 * Path composition with '+' in line 105:
147 This becomes quickly unreadable. Usually, it is better to endure some
148 redundancy against having a more readable workflow. Hence, just repeat
149 common prefixes. If path composition is unavoidable, use pathlib or
150 (python >= 3.6) string formatting with f"...".
151 * Path composition with '+' in line 123:
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 146:
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 * Path composition with '+' in line 162:
162 This becomes quickly unreadable. Usually, it is better to endure some
163 redundancy against having a more readable workflow. Hence, just repeat
164 common prefixes. If path composition is unavoidable, use pathlib or
165 (python >= 3.6) string formatting with f"...".
166 * Path composition with '+' in line 177:
167 This becomes quickly unreadable. Usually, it is better to endure some
168 redundancy against having a more readable workflow. Hence, just repeat
169 common prefixes. If path composition is unavoidable, use pathlib or
170 (python >= 3.6) string formatting with f"...".
171 * Path composition with '+' in line 192:
172 This becomes quickly unreadable. Usually, it is better to endure some
173 redundancy against having a more readable workflow. Hence, just repeat
174 common prefixes. If path composition is unavoidable, use pathlib or
175 (python >= 3.6) string formatting with f"...".
176 * Path composition with '+' in line 204:
177 This becomes quickly unreadable. Usually, it is better to endure some
178 redundancy against having a more readable workflow. Hence, just repeat
179 common prefixes. If path composition is unavoidable, use pathlib or
180 (python >= 3.6) string formatting with f"...".
181
182Lints for snakefile /tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk:
183 * Path composition with '+' in line 159:
184 This becomes quickly unreadable. Usually, it is better to endure some
185 redundancy against having a more readable workflow. Hence, just repeat
186 common prefixes. If path composition is unavoidable, use pathlib or
187 (python >= 3.6) string formatting with f"...".
188 * Path composition with '+' in line 360:
189 This becomes quickly unreadable. Usually, it is better to endure some
190 redundancy against having a more readable workflow. Hence, just repeat
191 common prefixes. If path composition is unavoidable, use pathlib or
192 (python >= 3.6) string formatting with f"...".
193 * Path composition with '+' in line 467:
194 This becomes quickly unreadable. Usually, it is better to endure some
195 redundancy against having a more readable workflow. Hence, just repeat
196 common prefixes. If path composition is unavoidable, use pathlib or
197 (python >= 3.6) string formatting with f"...".
198 * Path composition with '+' in line 471:
199 This becomes quickly unreadable. Usually, it is better to endure some
200 redundancy against having a more readable workflow. Hence, just repeat
201
202... (truncated)
Formatting results
1[DEBUG]
2[DEBUG] In file "/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/compute_ERF.smk": Formatted content is different from original
3[DEBUG]
4[DEBUG] In file "/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/Snakefile": Formatted content is different from original
5[DEBUG]
6[DEBUG] In file "/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/utils.smk": Formatted content is different from original
7[DEBUG]
8[DEBUG] In file "/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/make_table.smk": Formatted content is different from original
9[DEBUG]
10[DEBUG] In file "/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/dust_analysis.smk": Formatted content is different from original
11[DEBUG]
12<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
13<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
14<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
15<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
16<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
17<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
18<unknown>:1: SyntaxWarning: invalid escape sequence '\D'
19[DEBUG] In file "/tmp/tmpojta8ph0/Ovewh-ACP-haugvaldstad-et-al-2025-e88b987/workflow/rules/plotAerChemMIP.smk": Formatted content is different from original
20[INFO] 6 file(s) would be changed 😬
21
22snakefmt version: 0.11.1