Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
2127113
Fix example script
JasonAHendry Sep 16, 2025
c1bd5ea
Add functionality for cleaning sample_type column
JasonAHendry Sep 16, 2025
1de3bea
Add first-draft of summarise command
JasonAHendry Sep 16, 2025
995e836
Merge remote-tracking branch 'origin/main' into feature/summary
berndbohmeier Oct 11, 2025
12dc6a5
Read in master metadata file
berndbohmeier Oct 13, 2025
b84a5d3
Make summarize work with new format and delve
berndbohmeier Oct 13, 2025
f075d69
Add sample summary statistic
berndbohmeier Oct 13, 2025
a892093
Add prevalence by region plot
berndbohmeier Oct 14, 2025
c608abb
Small improvements to summarize
berndbohmeier Oct 14, 2025
ccab72b
Add samples amplicons barplot
berndbohmeier Oct 15, 2025
188d28f
Add prevalence per region/year plot
berndbohmeier Oct 15, 2025
044d80c
Fix filtering of false positives
berndbohmeier Oct 15, 2025
b3d7ac1
Update wsaf false positive threashold
berndbohmeier Oct 15, 2025
317bd91
Move some files to utils experiment
berndbohmeier Oct 21, 2025
454da0b
Add some more docs and move code in summarize
berndbohmeier Oct 21, 2025
d8b8d75
Linter fixes and code structure
berndbohmeier Oct 22, 2025
a68b0d8
Make sample_type mandatory
berndbohmeier Oct 27, 2025
12e5edf
Do not seperate mutations by alt alleles
berndbohmeier Oct 27, 2025
6793b05
Limit prevalence to samples in master metadata file
berndbohmeier Oct 27, 2025
29b0222
Ensure we handle sample ids that are number better
berndbohmeier Oct 27, 2025
839b058
Store in inventory if samples are unknown
berndbohmeier Oct 27, 2025
24bcf86
Show legend in Sample statistic pie
berndbohmeier Oct 27, 2025
3d9d56b
Better text and labels for QC Summary
berndbohmeier Oct 28, 2025
3f39f5c
New colorscales for QC summary
berndbohmeier Oct 28, 2025
7e85cf5
Ensure prevalence is ordered by aa positions
berndbohmeier Oct 28, 2025
5200e38
Always report contaminated when over abs. thresh.
berndbohmeier Oct 29, 2025
3b1367e
Allow to group by all columns in metadata file
berndbohmeier Oct 29, 2025
7a85fd5
Allow to start dashboard in debug mode via env
berndbohmeier Oct 29, 2025
37e6f26
Don't check for depth files in summary
berndbohmeier Oct 29, 2025
a28b1a5
Add gene deletion detection
berndbohmeier Oct 30, 2025
601e325
First version on map in summary
berndbohmeier Oct 31, 2025
2891a7e
Sort drug resistance markers by prevalence
berndbohmeier Oct 31, 2025
9a9a7db
Use read mapping file instead of fastq file
berndbohmeier Oct 31, 2025
95c2412
Do not require vcf folder at the moment
berndbohmeier Oct 31, 2025
a9ac549
Fix error message of wrong exp meta data file
berndbohmeier Nov 4, 2025
b14c555
For gene deletion analysis, exclude contaminated samples
berndbohmeier Nov 4, 2025
995902e
Add site markers to map and settings file
berndbohmeier Nov 4, 2025
d89efd5
Add missing files
berndbohmeier Nov 4, 2025
77a0691
Add show neg control coverage in summary
berndbohmeier Nov 5, 2025
705a6c9
Add option to create summary without master file
berndbohmeier Nov 12, 2025
10a0d89
Improve messages for summarize
berndbohmeier Nov 12, 2025
e6f522a
Fix bug in error bars of summary
berndbohmeier Nov 12, 2025
4eaa204
Remove problematic mutations again
berndbohmeier Nov 12, 2025
cdc5e30
Add warnings to help with finding the right region names
berndbohmeier Nov 12, 2025
b56081c
Add init file to summarize module
berndbohmeier Nov 12, 2025
c82f8b7
Apply wording change for summary from code review
berndbohmeier Dec 4, 2025
4acbf6d
Clean up some things in summarize
berndbohmeier Dec 4, 2025
506b5fd
Add pydantic to dependencies
berndbohmeier Dec 5, 2025
3ec23f2
Rename missing to not_sequenced
berndbohmeier Dec 5, 2025
dedf24c
Use regex for matching of alt column names
berndbohmeier Dec 5, 2025
b389612
Also auto open browser after a delay for summary
berndbohmeier Dec 5, 2025
2b9d189
Ensure dtype of throughput table is int
berndbohmeier Dec 5, 2025
99fd811
Rename meta_data to metadata
berndbohmeier Dec 5, 2025
6178046
Remove summary command structure comment
berndbohmeier Dec 5, 2025
1dce302
Expose min coverage and max contamination values
berndbohmeier Dec 5, 2025
d9d70d8
Expose false-positive filter and consolidate prev calc
JasonAHendry Dec 7, 2025
f13d90b
Simplify experiment coapletion checks
JasonAHendry Dec 8, 2025
2cacbd9
Remove ExperimentResultsChecker class
JasonAHendry Dec 8, 2025
ebe4be2
A few typing fixes
berndbohmeier Dec 9, 2025
6a2a225
Remove fixing of leading zeros
berndbohmeier Dec 9, 2025
d69d5e2
Allow to only view with nomadic summarize command
berndbohmeier Dec 9, 2025
9e7dc49
Make summary general
berndbohmeier Dec 9, 2025
7b58bfd
Only plot data in summary if we have it
berndbohmeier Dec 19, 2025
d752536
Remove print statement
berndbohmeier Dec 19, 2025
6aaa86f
Ensure to only include field samples in metadata
berndbohmeier Dec 19, 2025
182ce36
Exit summary early if we have no field samples
berndbohmeier Dec 19, 2025
f5f0228
Ensure we print the experiment that has an metadata error
berndbohmeier Dec 19, 2025
645c1e4
More detailed output of what summary is loaded
berndbohmeier Jan 6, 2026
48136df
Ensure we set sample_id dtype when loading.
berndbohmeier Feb 2, 2026
72c04ef
Don't remove int columns for grouping
berndbohmeier Feb 2, 2026
25d41f4
Ensure master metadata file for summary has no dup
berndbohmeier Feb 2, 2026
58a84be
Fix gene deletions component
berndbohmeier Feb 2, 2026
22f410e
Merge remote-tracking branch 'origin/main' into feature/summary
berndbohmeier Feb 2, 2026
30696be
Fix parser used for metadata
berndbohmeier Feb 9, 2026
db8a1d9
Make sample_type not required again
berndbohmeier Feb 9, 2026
5ecbd6e
Merge remote-tracking branch 'origin/main' into feature/summary
berndbohmeier Feb 13, 2026
f468730
Update required version of bcftools
berndbohmeier Mar 4, 2026
3c084e0
Use vcf files for amino acid change prevalence
berndbohmeier Mar 5, 2026
a2edb4a
Add option to switch between bubble map and region map
berndbohmeier Mar 5, 2026
d1d743f
Sort aa changes by aa_pos not pos
berndbohmeier Mar 5, 2026
196cac6
Ensure we read sample id as str
berndbohmeier Mar 5, 2026
d5ad288
Formatter fixes
berndbohmeier Mar 5, 2026
4840de8
Update how maps are loaded
berndbohmeier Mar 9, 2026
0ce96b8
Ensure we only load experiment dirs we need
berndbohmeier Mar 10, 2026
1c934e8
Take out wrong asserts in summarize
berndbohmeier Mar 18, 2026
6f82c4e
Change default min coverage to 100
berndbohmeier May 18, 2026
c59cea1
Improve gene deletion code
berndbohmeier May 18, 2026
8ad076b
Set min number of samples to plot map to 10
berndbohmeier May 18, 2026
37c721d
Formating
berndbohmeier May 18, 2026
2005099
Set filter false positive params for summarize
berndbohmeier May 18, 2026
10246ba
Load shapeName for geojson from settings file
berndbohmeier Jun 22, 2026
9d698e9
Merge remote-tracking branch 'origin/main' into feature/summary
berndbohmeier Jul 20, 2026
0ea9550
Make ExperimentDirectories side effect free
berndbohmeier Jul 20, 2026
3edf1f3
Add auto find port function like in realtime to summary
berndbohmeier Jul 21, 2026
8d945d0
Refactored QC code of summarize
berndbohmeier Jul 22, 2026
09757c5
Better handle master metadata columns
berndbohmeier Jul 23, 2026
9167d62
Check common reference in summarize
berndbohmeier Aug 10, 2026
20dc994
Move more code to use Path
berndbohmeier Aug 10, 2026
0c467cd
Fix show map functionality with metadata col rename
berndbohmeier Aug 10, 2026
e5af0e2
New aa changes file format for summarize
berndbohmeier Aug 19, 2026
98c08fd
Add pytest-snapshot to environment
berndbohmeier Aug 19, 2026
cbc0ad5
Remove profiling code
berndbohmeier Aug 19, 2026
949ee8d
Apply various fixes from ruffs new default rules
berndbohmeier Aug 25, 2026
565331b
Update time code
berndbohmeier Aug 25, 2026
c589358
Fix order of check for metadata
berndbohmeier Aug 25, 2026
ff3e85c
Fix don't report user warning sample types
berndbohmeier Aug 25, 2026
a8e8339
Fix generator in pytestest parametrize
berndbohmeier Aug 25, 2026
c0674d2
Add download of reference genome in github action
berndbohmeier Aug 25, 2026
d88f5e0
Skip csq test on CI for now
berndbohmeier Aug 25, 2026
79a3458
Fix properly close the excel file
berndbohmeier Aug 25, 2026
ca86544
Fix use the right wsaf tag
berndbohmeier Aug 25, 2026
2c0fb07
Update file format and dir structure for summarize
berndbohmeier Aug 26, 2026
0b0feaf
Write nt changes file in realtime
berndbohmeier Aug 26, 2026
e945db0
Fix avoid devision by 0 in prevalence calc
berndbohmeier Aug 26, 2026
199a1ac
Format
berndbohmeier Aug 26, 2026
308bea3
Ensure all rows are present in throughput
berndbohmeier Aug 27, 2026
4bf1cd4
Ensure correct column is cast to str in load metadata
berndbohmeier Aug 27, 2026
3cb878d
Warnings if samples have different metadata
berndbohmeier Aug 27, 2026
4254f16
Remove StrEnum, which needs python 3.11
berndbohmeier Aug 27, 2026
ecdc039
Split up coverage functions
berndbohmeier Aug 27, 2026
8c92227
Only run check if any variant
berndbohmeier Aug 27, 2026
46304f8
Move encode barcodes in own function next to decode
berndbohmeier Aug 27, 2026
8b2f92c
Move sample seperator close to encode/decode function
berndbohmeier Aug 28, 2026
689f193
Document variant code
berndbohmeier Aug 28, 2026
89edc8e
Update tooltip of experiment qc
berndbohmeier Aug 28, 2026
8bdc811
Render n values for experiment qc
berndbohmeier Aug 28, 2026
354efd3
Add mixed, wt info to prevalence plot
berndbohmeier Aug 28, 2026
da9cfd1
Fix show only amplicons in bed file
berndbohmeier Aug 28, 2026
9070d28
Small fixes
berndbohmeier Aug 28, 2026
414a927
Remove unnessary print
berndbohmeier Aug 28, 2026
364beb8
Add statsmodels to dependencies
berndbohmeier Aug 28, 2026
7822f5b
Fix mapping code, handling of files and mutations
berndbohmeier Aug 28, 2026
f78dbcb
Add missing pydantic to dev environment
berndbohmeier Aug 28, 2026
50cc526
Ensure nomadic summarize also works without a workspace
berndbohmeier Sep 3, 2026
b927fad
Improve user facing errors for summarize
berndbohmeier Sep 3, 2026
0a699a5
Add missing __init__ file
berndbohmeier Sep 3, 2026
7f69fa1
Fix import error
berndbohmeier Sep 3, 2026
3506982
Add documentation for new aa_change/nt_change file
berndbohmeier Sep 8, 2026
90a437b
Add documentation of summary
berndbohmeier Sep 8, 2026
98a2491
Update advanced documentation of realtime
berndbohmeier Sep 8, 2026
1e6fd20
Remove preliminary. We have validated our variant calls now
berndbohmeier Sep 8, 2026
b41343a
Update docs paper reference and faq
berndbohmeier Sep 8, 2026
3180254
Consolidate errors and exceptions file
berndbohmeier Sep 8, 2026
09c295c
Add gene and aa_pos in nt_changes file
berndbohmeier Sep 9, 2026
9710f26
Update folder structure for summarize
berndbohmeier Sep 9, 2026
729d640
Update throughtput file structure and ui
berndbohmeier Sep 10, 2026
40e6b97
Format numbers in summarize output
berndbohmeier Sep 10, 2026
63fd062
Update cli flags of summarize: verbose, threads
berndbohmeier Sep 10, 2026
d27d9b7
Fix usage of wrong variable
berndbohmeier Sep 10, 2026
639aeae
Update documentation of summarize
berndbohmeier Sep 10, 2026
198bc12
Add docs footer to summarize dashboard
berndbohmeier Sep 10, 2026
98b1482
Small final corrections
berndbohmeier Sep 10, 2026
bb21548
Fix regions check
berndbohmeier Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ jobs:
uses: actions/cache@v3
with:
path: ${{ env.CONDA }}/envs
key:
conda-${{ runner.os }}--${{ runner.arch }}--${{
key: conda-${{ runner.os }}--${{ runner.arch }}--${{
steps.get-date.outputs.today }}-${{
hashFiles('environments/dev.yml') }}-${{ env.CACHE_NUMBER
}}
Expand All @@ -49,8 +48,7 @@ jobs:
id: cache

- name: Update environment
run:
conda env update -n nomadic-dev -f environments/dev.yml
run: conda env update -n nomadic-dev -f environments/dev.yml
if: steps.cache.outputs.cache-hit != 'true'

- name: Conda info
Expand All @@ -62,15 +60,19 @@ jobs:
run: |
pip install . --no-deps

# Currently not working because links have changed, enable once fixed
# - name: Download reference genome
# run: |
# nomadic download -r Pf3D7

- name: Run tests
run: |
pytest

- name: Smoke test nomadic
run: |
nomadic --help


ruff:
runs-on: ubuntu-latest
steps:
Expand Down
6 changes: 4 additions & 2 deletions build/conda/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,19 @@ requirements:
- numpy
- pandas
- openpyxl
- statsmodels
- seaborn
- click
- platformdirs
- dash
- pysam
- pyyaml
- i18nice
- pydantic
# tools
- minimap2
- samtools >=1.20
- bcftools >=1.20
- samtools >=1.23
- bcftools >=1.23
- bedtools
- delve-bio =0.3.*
- rsync
Expand Down
223 changes: 175 additions & 48 deletions docs/advanced.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,175 @@
We will populate this page with more details soon. But for now, we would direct advanced users to the [*Nomadic* github](https://github.com/JasonAHendry/nomadic) and the help text of individual commands for advanced information about *Nomadic*.

For a quick reference, here is the help for `nomadic realtime`

```
Usage: nomadic realtime [OPTIONS] EXPERIMENT_NAME

Analyse data being produced by MinKNOW while sequencing is ongoing

Options:
-w, --workspace DIRECTORY Path of the workspace where all input/output
files (beds, metadata, results) are stored.
The workspace directory simplifies the use
of nomadic in that many arguments don't need
to be listed as they are predefined in the
workspace config or can be loaded from the
workspace [default: (current directory)]
TEXT
-o, --output PATH Path to the output directory where results
of this experiment will be stored. Usually
the default of storing it in the workspace
should be enough. [default:
(<workspace>/results/<experiment_name>)]
-f, --fastq_dir DIRECTORY Path to `fastq_pass` directory produced by
MinKNOW or Guppy. [default: (/var/lib/minkn
ow/data/<experiment_name>/fastq_pass)]
-m, --metadata_csv FILE Path to metadata CSV file containing barcode
and sample information. [default: (<workspa
ce>/metadata/<experiment_name>.csv)]
-b, --region_bed PATH Path to BED file specifying genomic regions
of interest or name of panel, e.g. 'nomads8'
or 'nomadsMVP'. [required]
-r, --reference_name [Pf3D7|PfDd2|Pv|Poc|Pm|AgPEST|AaDONGOLA2021|AcolN3|AfunGA1|AsUCISS2018|Hs]
Choose a reference genome to be used in
real-time analysis.
-c, --call Perform preliminary variant calling of
biallelic SNPs in real-time.
--resume Resume a previous experiment run if the
output directory already exists. Only use if
you want to force resuming an already
started experiment. Not needed in
interactive mode as this will be prompted
-v, --verbose Increase logging verbosity. Helpful for
debugging.
--help Show this message and exit.
```

You can see that almost all inputs to the software can be specified explicitly (instead of using the default behaviour). For example, to use your own amplicon panel with *P. falciparum* malaria, you just need to specify the path to it using the `-b` flag.
## Realtime analysis

`nomadic realtime` analyses data while MinKNOW is still producing FASTQ files. It watches the FASTQ directory for each barcode in the experiment metadata, processes newly available files, and updates the experiment summaries. The command keeps watching until it is stopped with `Ctrl+C`.

The basic workflow is:

1. MinKNOW writes FASTQ files into the experiment's `fastq_pass` directory.
2. *Nomadic* finds new files for each barcode and maps them to the selected reference.
3. Mapping statistics, amplicon coverage, and depth profiles are updated.
4. If a caller is selected, SNP calls are also updated.
5. The dashboard and experiment-level summary files are refreshed after barcode updates.

The command runs a mapping and quality-control pipeline by default. Add `--caller bcftools` or `--caller delve` to include variant calling.

## Before you start

Create a workspace with `nomadic start`, then provide:

- A metadata CSV or XLSX file containing at least `barcode` and `sample_id` columns.
- A BED file describing the amplicons or regions of interest.
- A downloaded reference genome supported by *Nomadic*.
- A MinKNOW experiment whose name exactly matches the experiment name used by the command.

Inside a workspace, the usual invocation is:

```
nomadic realtime <experiment_name>
```

The metadata file is normally found at `<workspace>/metadata/<experiment_name>.csv`. The output is written to `<workspace>/results/<experiment_name>`.

## Custom panels and paths

Use `--region_bed` with either the name of a BED file in the workspace `beds` directory or a path to a custom BED file:

```
nomadic realtime experiment-01 \
--region_bed path/to/my-panel.bed \
--reference_name Pf3D7
```

You can provide every input explicitly when the files are outside the usual workspace layout:

```
nomadic realtime experiment-01 \
--workspace /data/nomadic \
--metadata_path /data/metadata/experiment-01.csv \
--minknow_dir /var/lib/minknow/data \
--output /data/results/experiment-01 \
--region_bed /data/panels/my-panel.bed \
--reference_name Pf3D7
```

When `--fastq_dir` is provided, it is used instead of `--minknow_dir`. Prefer `--minknow_dir` when possible because it allows *Nomadic* to retain the MinKNOW directory information used by related workflows.

## Workspace configuration

Each workspace can contain a `.config.yaml` file. *Nomadic* loads this file when the workspace is selected, either because the command is run inside the workspace or because `--workspace` points to it. Configuration values provide defaults; an option written on the command line always takes precedence.

The configuration file can define workspace-wide defaults and realtime-specific defaults:

```yaml
defaults:
region_bed: nomadsMVP
reference_name: Pf3D7
caller: delve
minknow_dir: /var/lib/minknow/data

realtime:
defaults:
threads: 8
dashboard: true
```

Configuration keys are created from the argument name of the command-line option. Use the long option name without its leading `--`, replacing hyphens (`-`) with underscores (`_`). Short options such as `-b` are not used as keys. For example:

| Command-line option | Configuration key |
| --- | --- |
| `--region_bed` | `region_bed` |
| `--reference-name` | `reference_name` |
| `--minknow_dir` | `minknow_dir` |
| `--no-dashboard` | `dashboard` |

The key must be placed in the defaults section that should provide it: `defaults` for a workspace-wide default or `realtime.defaults` for a realtime-only default.

The top-level `defaults` section is shared by commands. Values under `realtime.defaults` apply only to `nomadic realtime`. When both sections define the same option, the realtime-specific value is used. Explicit command-line options override both sections:

```
nomadic realtime experiment-01 --caller bcftools
```

In this example, `bcftools` is used even though the configuration file specifies `delve`.

When a workspace is created with `nomadic start`, its `.config.yaml` is initialized with the organism's default `region_bed`, `reference_name`, and `caller`. Edit that file to change those defaults or add values such as `minknow_dir`. The file is ordinary YAML and can be edited directly.

!!! note
A workspace is needed when an option depends on workspace defaults. If the current directory is not a workspace, provide `--workspace` or specify the required paths explicitly.

## Command options

### Input and output

| Option | Default | Description |
| --- | --- | --- |
| `EXPERIMENT_NAME` | Required | Name of the MinKNOW experiment. It must match the experiment name used when sequencing and the metadata filename. |
| `-w`, `--workspace` | Current directory | Workspace containing the `beds`, `metadata`, and `results` directories. |
| `-m`, `--metadata_path` | `<workspace>/metadata/<experiment_name>.csv` | Metadata CSV or XLSX containing barcode and sample information. |
| `-o`, `--output` | `<workspace>/results/<experiment_name>` | Directory where this experiment's results are stored. |
| `-k`, `--minknow_dir` | MinKNOW's default data directory | MinKNOW base directory or experiment directory. |
| `-f`, `--fastq_dir` | Resolved from `--minknow_dir` | FASTQ directory or glob. If provided, it takes precedence over `--minknow_dir`. |

### Reference and regions

| Option | Default | Description |
| --- | --- | --- |
| `-b`, `--region_bed` | Required unless configured | BED file path or panel name, such as `nomads8` or `nomadsMVP`. |
| `-r`, `--reference_name` | Required unless configured | Reference genome used for mapping and downstream analysis. Supported values include `Pf3D7`, `PfDd2`, `Pv`, `Poc`, `Pm`, `AgPEST`, `AaDONGOLA2021`, `AcolN3`, `AfunGA1`, `AsUCISS2018`, and `Hs`. |

The selected reference must already be available to *Nomadic*. Reference availability is checked before processing begins.

### Variant calling

| Option | Default | Description |
| --- | --- | --- |
| `-c`, `--caller` | No variant calling | Select `bcftools` or `delve` for SNP calling. |

Variant calling adds VCF and variant summary outputs to the mapping and coverage results. The detailed output columns are described in [Output files](output_files.md).

### Run control

| Option | Default | Description |
| --- | --- | --- |
| `--resume` | `false` | Explicitly resume an existing experiment output directory. Normally *Nomadic* prompts when the output directory already exists. |
| `--overwrite` | `false` | Delete the existing output directory and start again. All results in that directory are removed. |
| `-v`, `--verbose` | `false` | Increase logging verbosity for debugging. |

If a run is interrupted, start the same command again and choose to resume, or pass `--resume`. *Nomadic* records completed FASTQ increments in a `.work.log` file for each barcode and reprocesses any increment that was started but not completed. It also checks that the inputs match the original run before continuing.

### Performance

| Option | Default | Description |
| --- | --- | --- |
| `-t`, `--threads` | `5` | Number of analysis threads. Increasing this can improve throughput, but also increases CPU and memory use. |

## Output and recovery

An experiment output directory contains experiment-level summary files, a `metadata` directory, and one directory for each barcode. The metadata directory includes a copy of the parsed metadata, the selected BED file, and `settings.json`, which records the inputs used for the run.

The summary files include:

- `summary.fastqs_processed.csv`
- `summary.read_mapping.csv`
- `summary.region_coverage.csv`
- `summary.depth_profiles.csv`
- `summary.aa_changes.csv` and `summary.nt_changes.csv` when variant calling is enabled

Results are updated incrementally as new FASTQ files arrive. The watcher records the start and completion of each increment in `<barcode>/.work.log`, allowing an interrupted increment to be detected and rerun after restart. See [Output files](output_files.md) for the columns and interpretation of the generated tables.

## Troubleshooting

### The workspace cannot be found

Run the command from inside a workspace, pass `--workspace <path>`, or provide explicit values for the metadata, BED, reference, and output options.

### No FASTQ files are processed

Check that the experiment name matches MinKNOW exactly and that the expected barcode directories are inside the resolved FASTQ directory. Use `--minknow_dir` to point to the MinKNOW base directory or `--fastq_dir` to provide the FASTQ location directly.

### The output directory already exists

Use `--resume` (or answer `y` when prompted) to force continuation of an existing run. Use `--overwrite` (or respond `r` when prompted) only when the previous results should be deleted and the experiment should be started again.

### The configuration is rejected

Check that `.config.yaml` is valid YAML, that `defaults` and `realtime.defaults` are mappings, and that option values use the expected types. Run with an explicit command-line option to temporarily override a configured value while diagnosing the file.
4 changes: 4 additions & 0 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,7 @@ Yes, you can safely stop and restart `nomadic realtime`. The program keeps track

Yes, just ensure you are not running nomadic multiple times using the same output folder, as those will interfere.
For `nomadic dashboard` or `nomadic realtime`, the dashboard will be opened using a free port.

**Can I use my own panel with `nomadic`?**

Yes, you can use your own panel with `nomadic` as long as it uses one of the currently supported reference genome. You will need to provide a bed file that describes the amplicon regions. Please refer to the [Advanced Usage](advanced.md) section for more details on how to configure `nomadic` with custom panels.
Binary file added docs/img/summary/experiment-qc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/summary/prevalence.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/summary/sample-qc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,14 @@ It was designed to work with amplicon sequencing data from the NOMADS-MVP protoc
- [x] Real-time read mapping with [_Minimap2_](https://github.com/lh3/minimap2).
- [x] Real-time sample quality control and amplicon coverage evaluation.
- [x] Real-time variant calling with [_delve_](https://github.com/berndbohmeier/delve) or [_bcftools_](https://github.com/samtools/bcftools).
- [x] Summarizing results with qc and prevalence calculations.
- [x] Support for different reference genomes or amplicons panels.

## Resources

- The NOMADS-MVP protocol is available in [English](https://www.protocols.io/view/nomads-mvp-rapid-genomic-surveillance-of-malaria-w-kxygxy284l8j/v1) and [French](https://www.protocols.io/view/surveillance-g-nomique-du-paludisme-par-la-m-thod-q26g75b5qlwz/v1).
- Read our preprint [here](https://www.biorxiv.org/content/10.1101/2025.07.23.666274v1).
- Read our paper [Mwenda, M., Mosler, K., Bohmeier, B. et al. Continental-scale genomic surveillance of Plasmodium falciparum malaria across sub-Saharan Africa with rapid nanopore sequencing. Nat Commun 17, 4218 (2026)](https://doi.org/10.1038/s41467-026-72358-z).


## Acknowledgements

Expand Down
Loading
Loading