Decoding Settings
There are several settings that can be configured for a decoding run in DELi.
They are implemented in the DecodeSettings class in the deli.decode module.
These settings can be customized by adding a decode-settings key to you selection file you submit for decoding,
or by passing a yaml file with the settings to the decode CLI
Every decode setting is optional as DELi has default values for all of them The following settings are available:
ignore_tool_compounds: bool, default =Falseif true, will ignore any tool compounds during decoding
demultiplexer_algorithm: Literal[“cutadapt”, “regex”, “full”], default = “regex”The demultiplexing algorithm to use. - “cutadapt”: use a cutadapt to locate sections - “regex”: use a regular expression based demultiplexer - “full”: use a full alignment based demultiplexer
demultiplexer_mode: Literal[“library”, “single”, “flanking”], default = “flanking”The demultiplexing section strategy to use. - “library”: demultiplex by matching just the library tag - “single”: demultiplex by matching a single static barcode section - “flanking”: demultiplex by matching barcode sections that flank the library tag (flanking means one before and one after the tag)
realign: bool, default =Falseif true, will perform a local realignment of the read to the libraries barcode schema after demultiplexing determine the library. This could help recover reads that have complex alignments due multiple indels
library_error_tolerance: int, default = 1The number of errors you are willing to tolerate in any given barcode section during library demultiplexing. Will apply to each section independently. For example, a flanking demultiplexer will allow for 1 error in each of the flanking sections.
library_error_correction_mode_str: str, default = “levenshtein_dist:2,asymmetrical”The error correction mode string to use for library barcode calling during demultiplexing.
min_library_overlap: int , default = 8if using a cutadapt style demultiplexer, this is the minimum number of bases that must align to the expected barcode section for a match to be called. See the cutadapt documentation for more details on this parameter.
revcomp: bool, default = TrueIf true, search the reverse compliment as well. In most cases it is faster to use an external tools to align and reverse compliment reads before decoding
library_wiggle: bool, default =Falseif true, will extend library aligned sections by 1 bp on each sidd. Similar to wiggle, but used during library demultiplexing.
wiggle: bool, default =Falseif true, will extend aligned sections by 1 bp on each side during decoding. Can help recover reads with INDELs if not using realignment after demultiplexing (and is much faster).
decode_matching_approach: Literal[“greedy”, “first_best”, “first_perfect”, “search_all”] = “first_perfect”,the approach to use when matching decoded sections to the library during decoding. - “greedy”: find the best scoring match across all possible windows and return it, even if imperfect - “first_best”: search all possible windows and return the first occurring best match, even if more than one window has the same best score - “first_perfect”: search all possible windows and return the first perfect match found, and otherwise fail if more than one window (with non-perfect score) share the same best score - “search_all”: search all possible windows and return the best scoring one. Unlike ‘first-perfect’, if multiple windows have a perfect score the read will be rejected as ambiguous rather than just taking the first perfect match found.
max_read_length: int or None, default =Nonemaximum length of a read to be considered for decoding if above the max, decoding will fail if None will default to 5x the
min_read_length
min_read_length: int or None, default =Noneminimum length of a read to be considered for decoding if below the min, decoding will fail if None will default to the smallest min match length of any library in the collection considered for decoding with 10bp of buffer
default_error_correction_mode_str: str, default = “levenshtein_dist:1,asymmetrical”The default error correction mode string to use for decoding. If a barcode section lacks a specified error correction mode, this mode will be used. See the documentation for more details on the format of this string.