| Crates.io | windchime |
| lib.rs | windchime |
| version | 0.0.7 |
| created_at | 2025-06-05 18:38:31.222141+00 |
| updated_at | 2025-07-25 01:58:02.077521+00 |
| description | Allen Lab QIIME2 pipeline |
| homepage | |
| repository | https://github.com/nikothomas/windchime |
| max_upload_size | |
| id | 1702101 |
| size | 145,308 |
Windchime is a Rust-based command-line interface (CLI) tool designed to simplify running a QIIME2 amplicon sequencing pipeline for 16S/18S analysis. It provides integrated steps for environment setup, demultiplexing, database preparation, and executing a multi-step QIIME2 workflow—from importing files to generating merged output tables.
Note: This tool assumes that you have Conda installed and available in your system's PATH, as it leverages Conda for installing QIIME2 environments and running QIIME2 commands.
You can install windchime using our installer script:
curl -fsSL https://raw.githubusercontent.com/nikothomas/windchime/main/install.sh | sh
This will:
~/.windchime/binAlternatively, you can:
Note: For other platforms, you'll need to build from source. See the Contributing section for development setup instructions.
Windchime is organized into several subcommands, each covering a different part of the workflow. You can enable verbose output with the -v or --verbose flag to see full command details instead of spinners.
-v, --verboseThe recommended way to get started. This interactive wizard guides you through the entire workflow, prompting for necessary inputs and explaining each step.
windchime wizard
The wizard will help you:
Example:
windchime wizard
Install (or skip if already present) the specified QIIME2 Conda environment.
windchime install-env [OPTIONS]
Options:
-e, --env-name <env_name>qiime2-amplicon-2024.10Example:
windchime install-env --env-name qiime2-amplicon-2024.10
Run demultiplexing using a barcodes file. This subcommand leverages the internal demultiplex module.
windchime demux <barcodes_file>
Example:
windchime demux barcodes.tsv
Execute steps 2–7 of the QIIME2 pipeline using a QIIME2 manifest file. This command covers import, trimming, denoising, taxonomic classification, and merging outputs.
windchime pipeline [OPTIONS]
Options:
-e, --env-name <env_name>qiime2-amplicon-2024.10-m, --manifest <manifest>manifest.tsv--cores <cores>1-t, --target <target>16s, 18sv4, or 18sv9.
16s: bacterial 16S rRNA gene18sv4: eukaryotic 18S rRNA V4 region18sv9: eukaryotic 18S rRNA V9 region (default)
Default: 18sv9--skip-existing--use-pretrained-classifiertrueExample:
windchime pipeline --env-name qiime2-amplicon-2024.10 \
--manifest manifest.tsv \
--cores 4 \
--target 16s \
--skip-existing
A single command to run the entire workflow: install the environment (if needed), demultiplex, generate the manifest, download databases, and execute the pipeline.
windchime runall [OPTIONS]
Options:
-e, --env-name <env_name>qiime2-amplicon-2024.10--barcodes-file <barcodes_file>barcodes.tsv-m, --manifest <manifest>manifest.tsv--cores <cores>1-t, --target <target>16s or 18s.18s--skip-existing--use-pretrained-classifiertrueExample:
windchime runall --env-name qiime2-amplicon-2024.10 \
--barcodes-file barcodes.tsv \
--manifest manifest.tsv \
--cores 4 \
--target 18sv9 \
--skip-existing
Download (and unzip) the required pr2 database files to windchime_out/db/pr2. Use the force option to re-download even if the files already exist.
windchime downloaddbs [OPTIONS]
Options:
-f, --forcefalseExample:
windchime downloaddbs --force
Windchime's pipeline integrates several QIIME2 steps, which are executed in order:
dada2 denoise-paired command.asv_count_tax.tsv).All generated files are stored in the windchime_out directory.
For detailed debugging information, use the --verbose (or -v) flag. In verbose mode, Windchime prints the exact QIIME2 and shell commands being executed rather than displaying progress spinners.
Example:
windchime pipeline --verbose --env-name qiime2-amplicon-2024.10 --manifest manifest.tsv
Windchime borrows significantly from the original QIIME2 ASV protocols developed by the Allen Lab at the Scripps Institution of Oceanography:
QIIME2 18S v9 ASV Protocol
https://github.com/allenlab/QIIME2_18Sv9_ASV_protocol
QIIME2 16S ASV Protocol
https://github.com/allenlab/QIIME2_16S_ASV_protocol
Contributions are welcome! If you find any bugs or have feature suggestions, please open an issue or submit a pull request on the project repository.
This project is licensed under the MIT License.
For further questions or feedback, please reach out to:
Author: Nikolas Yanek-Chrones
Email: research@icarai.io