You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you want to use Apptainer containers instead of Docker, just add `-profile apptainer` to either of the above `nextflow run` commands. And if you don’t want to use containers at all, simply run `pixi shell --frozen` to bring all the pipeline’s dependencies into scope and then add `-profile containerless` to your `nextflow run` command.
58
59
59
-
Nextflow pipelines like this one have a ton of configuration, which can be overwhelming for beginners and new users. To make this process easier, we’re developing a Terminal User Interface (TUI) to guide you through setup. Please stay tuned!
60
+
For power users working with a local clone of the repository, we also provide the `oneroof` CLI—a friendly command-line interface with organized help, input validation, and easy resume functionality. See the [OneRoof CLI](#oneroof-cli-power-users) section below for details.
60
61
61
62
## Quick Start
62
63
@@ -98,7 +99,7 @@ Most users should configure `oneroof` through the command line via the following
98
99
|`--min_variant_frequency`| 0.05 (illumina) or 0.10 (nanopore) | Minimum variant frequency to call a variant. |
99
100
|`--meta_ref`| None | Dataset, either a local FASTA file or a pre-built dataset built by Sylph, to use for metagenomic profiling. Can download prebuilt ones here: [Pre-built Sylph Databases](https://github.com/bluenote-1577/sylph/wiki/Pre%E2%80%90built-databases). |
100
101
|`--sylph_tax_db`| None | The taxonomic annotation for the sylph database specified with `--meta_ref`. The pipeline automaticially downloads the databases so only the identifier is needed here. |
101
-
|`--meta_ref_link`| None | The link to download the sylph dataset needed to run metagenomics, would be used instead of specifying an already downloaded data set in `--meta_ref`. |
102
+
|`--sylph_db_link`| None | The link to download the sylph dataset needed to run metagenomics, would be used instead of specifying an already downloaded data set in `--meta_ref`. |
102
103
|`--nextclade_dataset`| None | The name of the dataset to run nextclade with. To see all dataset options run `nextclade dataset list --only-names`. |
103
104
|`--results`| results/ | Where to place results. |
104
105
|`--cleanup`| false | Whether to cleanup work directory after a successful run. |
@@ -147,9 +148,66 @@ Especially on Apple Silicon Macs, this will reduce the overhead of using the Doc
147
148
148
149
Note also that more information on the repo’s files is available in our [developer guide](developer.qmd).
149
150
151
+
### OneRoof CLI (Power Users)
152
+
153
+
For users who have cloned the repository and are working locally, we provide the `oneroof` command-line interface. This Typer-based CLI wraps the Nextflow pipeline with several quality-of-life improvements:
154
+
155
+
-**Organized help**: Parameters are grouped by category with Rich-formatted output
156
+
-**Input validation**: File and directory paths are validated before the pipeline runs
157
+
-**Kebab-case flags**: More natural CLI conventions (`--primer-bed` instead of `--primer_bed`)
158
+
-**Dry-run mode**: Preview the generated Nextflow command without executing
159
+
-**Easy resume**: Resume interrupted runs with `oneroof resume`
160
+
161
+
The CLI is available automatically when you enter the pixi environment:
162
+
163
+
```bash
164
+
pixi shell --frozen
165
+
oneroof --help
166
+
```
167
+
168
+
Or install it directly with pip or uv:
169
+
170
+
```bash
171
+
# With pip
172
+
pip install -e .
173
+
174
+
# With uv
175
+
uv pip install -e .
176
+
```
177
+
178
+
**Example usage:**
179
+
180
+
```bash
181
+
# See all available commands
182
+
oneroof --help
183
+
184
+
# See all run options, organized by category
185
+
oneroof run --help
186
+
187
+
# Run with Illumina data
188
+
oneroof run \
189
+
--refseq my_ref.fasta \
190
+
--illumina-fastq-dir my_reads/ \
191
+
--profile docker
192
+
193
+
# Preview the command without running
194
+
oneroof run \
195
+
--refseq my_ref.fasta \
196
+
--illumina-fastq-dir my_reads/ \
197
+
--dry-run
198
+
199
+
# Resume an interrupted run (uses cached parameters)
200
+
oneroof resume
201
+
202
+
# Run test profiles (no --refseq needed)
203
+
oneroof run --profile illumina_test_with_primers
204
+
```
205
+
206
+
The CLI generates and executes standard Nextflow commands under the hood, so all Nextflow features (caching, resume, etc.) work as expected.
207
+
150
208
## Testing
151
209
152
-
OneRoof includes a comprehensive test suite built with [nf-test](https://www.nf-test.com/), the official testing framework for Nextflow pipelines. The test suite validates pipeline functionality through module, workflow, and end-to-end tests.
210
+
OneRoof includes a limited but growing testsuite, which validates pipeline functionality through module, workflow, and end-to-end tests.
153
211
154
212
### Running Tests
155
213
@@ -165,12 +223,11 @@ just test-nanopore
165
223
166
224
# To run specific tests, run `just` and then under `testing` will be all the specific tests
167
225
just
168
-
169
226
```
170
227
171
228
### Test Structure
172
229
173
-
Tests are organized as profiles in `nextflow.config` and each specific test is in its own config file under `conf/illumina_tests` or `conf/nanopore_tests`. The data used for these tests can be found under `tests/data`. Tests can also be run with `nextflow run . -profile illumina_test_with_primers` or any other test specified as a profile in `nextflow.config` and this will show a verbose output to see the pipeline running.
230
+
Tests are organized as profiles in `nextflow.config` and each specific test is in its own config file under `conf/illumina_tests` or `conf/nanopore_tests`. The data used for these tests can be found under `tests/data`. Tests can also be run with `nextflow run . -profile illumina_test_with_primers` or any other test specified as a profile in `nextflow.config` and this will show a verbose output to see the pipeline running.
174
231
175
232
For more details on the testing framework and how to write new tests, see the [test suite documentation](../tests/README.md).
0 commit comments