## 2 Methods  
A _Snakemake_ (version 7.24) file defines the execution of a _QIIME2_ (version label 2023.2) eDNA analysis workflow [13; 24]. A summary of the _Snakemake_ rules is shown in Figure 1. _Snakemake_ rules automatically build a _QIIME2_-compatible metadata file based on the FASTQ file names selected by the user through the GUI (Figure S1). The only specification is that unique sample names are included in the FASTQ filename (gzipped) and that the short-read data are paired-end. The metadata file is used to build a _QIIME2_ data object by running the _qime tools import_ and _qime demux summarize_ commands. The _qime cutadapt trim-paired_ plugin command removes primers and adaptor sequences [17]. The number of primers identified in the sequencing data and the number of reads that pass trimming filters are included in a final run PDF report. The _DADA2_ plugin is used through the _qime data2 denoise-paired_ command and denoise parameters p-trunc-len-f, p-trunc-len-r, p-max-ee-f, p-max-ee-r, p-trunc-q, and p-chimera-method set via a configuration file [18]. This configuration file is modified by the user through the GUI (Figure S2).  
Taxonomy is assigned to the ASVs based on a _QIIME2_-compatible taxonomic database built using the _feature-classifier classify-sklearn_ command [19]. The pipeline is distributed with a database based on the MIDORI2 (125 rRNA) reference sequences and the Teleo fish amplicon primers (teleoF: 5\({}^{\prime}\)-ACACCCGCCGTCACTTCT-3\({}^{\prime}\), teleoR: 5\({}^{\prime}\)-CTCCGGT ACACTTACCATG-3\({}^{\prime}\)) [25; 26]. Any compatible _QIIME2_ database \"qza\" file, however, can be selected via the GUI (Figure S2). Alpha diversity rarefaction plots and taxonomic barplots are generated by the commands _qime taxa barplot_ and _qime diversity alpha-rarefaction_, respectively. A PDF report (Supplemental File S1) containing run metrics is generated by _pandoc_ (version 7.2.9) from a markdown template populated by the python library _jinja_2 (version 3.1.2).  
The _eDNA-container app_ is distributed as a _Docker_ image based on _continuum mini-conda3_, \(a\) bootstrapped version of _minicola_. The image was built using _Docker_ version 18.09.7 on an HP workstation running Ubuntu 22.04 LTS. The _QIIME2_ pipelines _bash_ and _python_ scripts are maintained in a separate git repository, which is cloned into the container as part of the build script. Software tools are installed inside the container through a _condaenvironment YAML file. The _Flask_ library (version 2.3.2) was used to build a browser-based GUI. The GUI is displayed using a virtual server running on the host computer, so no network connection is required, and no data are shared over the internet.  
Results from an _eDNA-container app_ (version 1.5) analysis were compared to those generated by _MiFish_ (version 1.0.3) using an eDNA test 12S rRNA dataset from [27], as described by the protocol in the _MiFish_ GitHub page [12]. The _MiFish_ parameters used in this analysis were as follows: -m 0 -M 99999 -f ACTGGGATTAGATACCCC -r TAGAACAGGCTCCTCTAG -s + 10, with the primers based on [28]. The _eDNA-container app_ DADA2 parameters were --p-trunc-len-f 100, --p-trunc-len-r 100, --p-max-ee-f 2, -p-max-ee-r 4, and -p-trunc-q 2--consensus-method consensus.