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!