davelunt/NemaTree
Analysis workflow for root-knot nematode rRNA
Overview
Latest release: v1.0, Last update: 2026-09-15
Share link: https://snakemake.github.io/snakemake-workflow-catalog?wf=davelunt/NemaTree
Quality control: linting: failed formatting: passed
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/davelunt/NemaTree . --tag v1.0
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.
Configuration
Use the config/config.yaml file to configure the analysis. You shouldn’t need to change other files and should try not to edit anything in the workflow directory.
Help
The documentation in docs/ contains some more extensive help and advice:
installation: Information on installing the workflow and dependencies
configure: Information on the config.yaml file
sequence_prep: Information on preparing sequences to add
alignments: Information on how sequence alignments are processed
tree_formatting: Information on tree formatting and rooting
misc: Extra thoughts and info
Workflow parameters
The following table is automatically parsed from the workflow’s config.schema.y(a)ml file.
Parameter |
Type |
Description |
Required |
Default |
|---|---|---|---|---|
samples |
string |
yes |
Linting and formatting
Linting results
1/home/runner/work/snakemake-workflow-catalog/snakemake-workflow-catalog/.pixi/envs/default/lib/python3.13/site-packages/google/auth/transport/grpc.py:44: FutureWarning: grpcio < 1.83.0 does not support Post-Quantum Cryptography (PQC). Support for non-PQC environments is deprecated. In October 2026, google-auth will raise its minimum requirements to enforce grpcio >= 1.83.0. For more details on Google Cloud's post-quantum security migration, visit: https://cloud.google.com/security/resources/post-quantum-cryptography
2 warnings.warn(
3Lints for rule clean_supplied_fasta (line 4, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/qc.smk):
4 * Specify a conda environment or container for each rule.:
5 This way, the used software for each specific step is documented, and the
6 workflow can be executed on any machine without prerequisites.
7 Also see:
8 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
9 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
10
11Lints for rule minlength (line 21, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/qc.smk):
12 * No log directive defined:
13 Without a log directive, all output will be printed to the terminal. In
14 distributed environments, this means that errors are harder to discover.
15 In local environments, output of concurrent jobs will be mixed and become
16 unreadable.
17 Also see:
18 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
19 * Specify a conda environment or container for each rule.:
20 This way, the used software for each specific step is documented, and the
21 workflow can be executed on any machine without prerequisites.
22 Also see:
23 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
24 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
25
26Lints for rule mafft_add_seqs (line 8, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/alignment.smk):
27 * No log directive defined:
28 Without a log directive, all output will be printed to the terminal. In
29 distributed environments, this means that errors are harder to discover.
30 In local environments, output of concurrent jobs will be mixed and become
31 unreadable.
32 Also see:
33 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
34 * Specify a conda environment or container for each rule.:
35 This way, the used software for each specific step is documented, and the
36 workflow can be executed on any machine without prerequisites.
37 Also see:
38 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
39 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
40
41Lints for rule check_seqs_added (line 20, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/alignment.smk):
42 * No log directive defined:
43 Without a log directive, all output will be printed to the terminal. In
44 distributed environments, this means that errors are harder to discover.
45 In local environments, output of concurrent jobs will be mixed and become
46 unreadable.
47 Also see:
48 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
49 * Specify a conda environment or container for each rule.:
50 This way, the used software for each specific step is documented, and the
51 workflow can be executed on any machine without prerequisites.
52 Also see:
53 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
54 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
55
56Lints for rule remove_duplicate_names (line 33, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/alignment.smk):
57 * No log directive defined:
58 Without a log directive, all output will be printed to the terminal. In
59 distributed environments, this means that errors are harder to discover.
60 In local environments, output of concurrent jobs will be mixed and become
61 unreadable.
62 Also see:
63 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
64 * Specify a conda environment or container for each rule.:
65 This way, the used software for each specific step is documented, and the
66 workflow can be executed on any machine without prerequisites.
67 Also see:
68 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
69 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
70
71Lints for rule CIAlign_remove_short_seqs (line 45, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/alignment.smk):
72 * No log directive defined:
73 Without a log directive, all output will be printed to the terminal. In
74 distributed environments, this means that errors are harder to discover.
75 In local environments, output of concurrent jobs will be mixed and become
76 unreadable.
77 Also see:
78 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
79 * Specify a conda environment or container for each rule.:
80 This way, the used software for each specific step is documented, and the
81 workflow can be executed on any machine without prerequisites.
82 Also see:
83 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
84 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
85
86Lints for rule CIAlign_remove_divergent_trim (line 65, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/alignment.smk):
87 * No log directive defined:
88 Without a log directive, all output will be printed to the terminal. In
89 distributed environments, this means that errors are harder to discover.
90 In local environments, output of concurrent jobs will be mixed and become
91 unreadable.
92 Also see:
93 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
94 * Specify a conda environment or container for each rule.:
95 This way, the used software for each specific step is documented, and the
96 workflow can be executed on any machine without prerequisites.
97 Also see:
98 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
99 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
100 * Param stub is a prefix of input or output file but hardcoded:
101 If this is meant to represent a file path prefix, it will fail when
102 running workflow in environments without a shared filesystem. Instead,
103 provide a function that infers the appropriate prefix from the input or
104 output file, e.g.: lambda w, input: os.path.splitext(input[0])[0]
105 Also see:
106 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
107 https://snakemake.readthedocs.io/en/stable/tutorial/advanced.html#tutorial-input-functions
108
109Lints for rule iqtree (line 7, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/trees.smk):
110 * No log directive defined:
111 Without a log directive, all output will be printed to the terminal. In
112 distributed environments, this means that errors are harder to discover.
113 In local environments, output of concurrent jobs will be mixed and become
114 unreadable.
115 Also see:
116 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
117 * Specify a conda environment or container for each rule.:
118 This way, the used software for each specific step is documented, and the
119 workflow can be executed on any machine without prerequisites.
120 Also see:
121 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
122 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
123 * Param prefix is a prefix of input or output file but hardcoded:
124 If this is meant to represent a file path prefix, it will fail when
125 running workflow in environments without a shared filesystem. Instead,
126 provide a function that infers the appropriate prefix from the input or
127 output file, e.g.: lambda w, input: os.path.splitext(input[0])[0]
128 Also see:
129 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
130 https://snakemake.readthedocs.io/en/stable/tutorial/advanced.html#tutorial-input-functions
131
132Lints for rule toytree_plot (line 35, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/trees.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 * Specify a conda environment or container for each rule.:
141 This way, the used software for each specific step is documented, and the
142 workflow can be executed on any machine without prerequisites.
143 Also see:
144 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
145 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
146
147Lints for rule seq_stats_initial (line 7, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/reports.smk):
148 * No log directive defined:
149 Without a log directive, all output will be printed to the terminal. In
150 distributed environments, this means that errors are harder to discover.
151 In local environments, output of concurrent jobs will be mixed and become
152 unreadable.
153 Also see:
154 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
155 * Specify a conda environment or container for each rule.:
156 This way, the used software for each specific step is documented, and the
157 workflow can be executed on any machine without prerequisites.
158 Also see:
159 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
160 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
161
162Lints for rule plot_seq_len (line 18, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/reports.smk):
163 * No log directive defined:
164 Without a log directive, all output will be printed to the terminal. In
165 distributed environments, this means that errors are harder to discover.
166 In local environments, output of concurrent jobs will be mixed and become
167 unreadable.
168 Also see:
169 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
170 * Specify a conda environment or container for each rule.:
171 This way, the used software for each specific step is documented, and the
172 workflow can be executed on any machine without prerequisites.
173 Also see:
174 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
175 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
176
177Lints for rule plot_alnseq_len (line 31, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/reports.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 * Specify a conda environment or container for each rule.:
186 This way, the used software for each specific step is documented, and the
187 workflow can be executed on any machine without prerequisites.
188 Also see:
189 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#integrated-package-management
190 https://snakemake.readthedocs.io/en/latest/snakefiles/deployment.html#running-jobs-in-containers
191
192Lints for rule AMAS_alignment_stats (line 43, /tmp/tmphp6g_kyc/davelunt-NemaTree-7d6c91e/workflow/rules/reports.smk):
193 * No log directive defined:
194 Without a log directive, all output will be printed to the terminal. In
195 distributed environments, this means that errors are harder to discover.
196 In local environments, output of concurrent jobs will be mixed and become
197 unreadable.
198 Also see:
199 https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#log-files
200 * Specify a conda environment or container for each rule.:
201
202... (truncated)
Formatting results
All tests passed!