Haris Spyridis
09/07/2026, 4:05 PMnf-core/modules/sourmash/sketch module hardcodes --merge, so in createtaxdb all reference genomes get merged into ONE signature per DB (confirmed with sourmash sig describe). Sourmash GATHER would return only 1 match, since db has only one merge signature. and then tax annotate cant map it to species... We probably need per-genome signatures (via --singleton. (Note: i tried to use createtaxdb, so can generate some test files for taxprofiler). Any thoughts?James Fellows Yates
09/07/2026, 5:49 PMJames Fellows Yates
09/07/2026, 5:50 PMJames Fellows Yates
09/07/2026, 5:50 PM--merge was used to make it easier to emitJames Fellows Yates
09/07/2026, 5:52 PMmoritz
09/07/2026, 6:05 PMJames Fellows Yates
09/07/2026, 7:14 PMmoritz
09/07/2026, 7:21 PMIf you have multiple files, sourmash will by default create one sketch for each file. For situations such as paired-end read files from Illumina sequencing, you may instead want to build a combined sketch.
You can build a combined sketch in two ways.
First, you can use --name/--merge to build a single (named) sketch out of multiple input
moritz
09/07/2026, 7:23 PMHaris Spyridis
09/07/2026, 7:23 PMmoritz
09/07/2026, 7:25 PMHaris Spyridis
09/07/2026, 7:25 PMHaris Spyridis
09/07/2026, 7:28 PM--singleton instead of --merge inside the pipelineJames Fellows Yates
09/19/2026, 5:20 AM--merge needs to be moved to some ext.args type thing then, if it is optional/more for pair-end sequencesJames Fellows Yates
09/19/2026, 5:21 AMJames Fellows Yates
09/19/2026, 5:26 AMJames Fellows Yates
09/19/2026, 5:35 AMInput contents and output signatures
By default, sourmash sketch will produce signatures for each input file. If the file contains multiple FASTA/FASTQ records, these records will be merged into the output signature. You can provide a list of FASTA files in a text file to sourmash sketch by passing the text file path in via --from-file.
If you specify --singleton, sourmash sketch will produce signatures for each record.
If you specify --merge <name>, sourmash sketch will produce signatures for all input files and combine them into one signature.
The output signature(s) will be saved in locations that depend on your input parameters. By default, sourmash sketch will put the signatures in the current directory, in a file named for the input file with a .sig suffix. If you specify -o, all of the signatures will be placed in that file.
So indeed --merge is wrong... I guess at a genome level this is more like making a sketch for a genome from one organism with multiple comoromsommes...moritz
09/19/2026, 5:38 AMJames Fellows Yates
09/19/2026, 5:38 AMJames Fellows Yates
09/19/2026, 5:39 AMJames Fellows Yates
09/19/2026, 5:39 AMJames Fellows Yates
09/19/2026, 5:39 AMJames Fellows Yates
09/19/2026, 4:15 PMHaris Spyridis
09/20/2026, 3:42 PMJames Fellows Yates
09/20/2026, 3:43 PMHaris Spyridis
09/20/2026, 3:45 PMHaris Spyridis
09/20/2026, 3:46 PMmerge_sigs = true when sketching reads (combines paired-end R1+R2 into one query signature per sample).
• Createtaxdb should use merge_sigs = false (default behavior) so each genome file produces its own signature, enabling species-level taxonomic profiling downstream.James Fellows Yates
09/20/2026, 3:47 PMHaris Spyridis
09/20/2026, 3:48 PMmoritz
09/20/2026, 3:49 PMHaris Spyridis
09/20/2026, 4:06 PMmerge_flag = task.ext.merge != null ? task.ext.merge : "--merge '${prefix}'"Haris Spyridis
09/20/2026, 4:08 PMext.merge = "--singleton" in config as a simple string.
Jame's boolean approach is cleaner thoughmoritz
09/20/2026, 4:11 PMHaris Spyridis
09/20/2026, 4:44 PMJames Fellows Yates
09/20/2026, 5:26 PMJames Fellows Yates
09/20/2026, 5:27 PMJames Fellows Yates
10/11/2026, 4:33 PMHaris Spyridis
10/11/2026, 7:23 PM