Skip to content

Command Parameters

Ryan Doughty edited this page Feb 6, 2026 · 6 revisions

bronko build

bronko build allows users to build a prebuilt database of viral genomes to query simultaneously. This will take a set of viral genomes (fasta format) and create a bronko database (.bkdb). There are only 3 parameters:

-g --genomes: The fasta files to be built into the database (can use *.fasta to include multiple, or space seperate multiple individual files)

--file-input: If you want, you can specify a txt file where each line is a path to a fasta file, and this will be used as well. Note this can be used in addition to or separately from -g.

-k --kmer-size: The kmer size to be used (default 21). We recommend between 15-25, with smaller values you may get more sensitivity, but could also run into more false positives

-o --output: The location you would like the database to be output to (.bkdb will be appended), so for instance "influenza_db" would create "influenza_db.bkdb" in the folder where the command was run


bronko call

bronko call can take a set of reference genome(s) and raw sequencing dataset(s) and perform variant calling on each one. We have tried to briefly describe how modifying each parameters should impact the output.

Reference Input

-g --genomes: If you are not using a bronko database, the fasta files to be built into the database (can use *.fasta to include multiple, or space seperate multiple individual files).

-d --db: A bronko database to be queried against, should not be used also with -g

Note: if you would like to use a file to build a database within the call command, please just use the build command first and then load the db with -d

Samples Input

-r --reads: Input single-end reads (can use *.fastq(.gz) for multiple samples, or space separate multiple individual files)

-1 --first-pairs: Input first pairs for paired end reads (can use *_1.fastq(.gz) for multiple samples, or space separate multiple individual files)

-2 --second-pairs: Input second pairs for paired end reads (can use *_2.fastq(.gz) for multiple samples, or space separate multiple individual files)

Note: -1 and -2 must match. -r can be used in addition to -1 and -2 and both single-end and paired end samples will be run

--file-input: If you want, you can specify a txt file where each line is a sample. If it is a single-end sample, then that should be the only thing in the file, whereas paired-end reads should be tab or space-delimited on the same line (R1 first, R2 second). This command can be used alone or in combination with -r and -1/-2

Mapping algorithm parameters

-k --kmer-size: Kmer size used for mapping (should match bronko db, default=21). The primary consideration here is that increasing the k-mer size will slightly reduce the method's sensitivity in variant-dense regions (when >2 variants are present within a given region of length k). However, reducing the size will have the opposite affect, where there may be more spurious matches from intra-genomic repeats

--min-kmers: The number of times you need to see a kmer in sequencing data for it to be mapped [default: 3]. Setting this to 0 will introduce a lot of sequencing error, and slow down the mapping process. If you have super high sequencing depth, you may want to set this to something higher (10 for instance). However, if your data is low depth (<1000x), setting a threshold that high can have unintended downstream impacts for minor variant calling, which would reduce overall sensitivity.

--use-full-kmer: By default, we fix --n-fixed (default 2) variant positions at the end of each kmer to reduce FP calls in low-frequency variant calling. This parameter will remove that and allow any position in the kmer to be matched. If only interested in major variants, this parameter can defintely be used, but for minor variants we definitely recommend keeping the default. The main difference will be a slight increase in FPs, but also more TPs, particularly in mutation dense regions.

--n-fixed: The number of fixed positions at each end of the kmer. By default this is 2, and we recommend either 0, 1, or 2. This will be ignored when the --use-full-kmer flag is on.

Variant calling parameters

--min-af: Default minimum allele frequency to report over (by default this is 0.03 / 3%), but can be set much lower if interested in lower frequency variants (0.005 / 0.5% for instance). Our model will differentiate between real variants and noise, just be aware that more FPs may be introduced the lower MAF you set.

--no-end-filter: By default we will not call variants in the first or last k bases of each segment. This can be disabled with this flag.

--no-strand-filter: By default we filter variants with significant strand bias according to the SOR ratio. This flag will disable that.

--no-strand-balance-filter: As part of the strand filter, we also have a strand balance filter, which essentially will not perform strand bias SOR check if the strands are extremely unbalanced (one strand has a lot more depth than the other, ratio set by --balance-ratio). This flag will disable that filter and perform SOR on everything

--n-per-strand: The number of unique kmers that must support a given position for a variant to be called. (default 2). This will be needed across both strands if the strand filter is active. Reducing this number may lead to more sensitivity, but lower precision.

--strand-odds: Maximum strand odds ratio for a variant to pass strand filtering (default 6). Setting this higher will let more variants through, while setting lower will be more stringent

--min-depth: A basic minimum total depth filter to call a minor variant at a given position (defualt=100*min_kmers=3)

--noise-multiplier: How much greater (1x, 1.5x, etc) the minor allele frequency of a variant must be above estimated baseline noise in that region (must be > 1.0x). Note that for variants under 1%, multiplier will be increased exponentially up to +0.5 more [default: 1.5]. This should in most cases be set between 1.2-2, with lower numbers returning more variants (increased sensitivity, lower precision potentially)

Output Files

-o --output: Folder to output all of the vcf files and general overview for a bronko run (required, default=bronko_output)

--pileup: Will produce a tsv pileup for each sequencing run as well. ACGT will represent forward counts and acgt will represent the reverse

--alignment: Will produce alignments for each reference genome with >2 samples aligning to it.

--keep-kmer-info: Will keep the kmer count information and temporary files (deleted by default)

--consensus: Will output a consensus sequence in .fa format for each sample

Note: there are full details about the outputs and what is generated here

Clone this wiki locally