Dowser

B-cell receptor phylogenetics in the Immcantation framework

dowser.readthedocs.io
Accepts:CSVTSVRDARDS

What it does

Dowser is an R package in the Immcantation framework for reconstructing and analysing B-cell receptor (BCR) phylogenies. It builds lineage trees from BCR sequences, reconstructs germline and intermediate (internal-node) sequences, and statistically tests for evidence of B-cell evolution, migration and differentiation.

It accepts AIRR-formatted data and Change-O clone tables, supports several tree-building algorithms — maximum parsimony, maximum likelihood, and the immunoglobulin-specific IgPhyML — and can analyse paired heavy/light chains.

  • Multiple tree builders: pratchet, pml, dnapars, dnaml, IgPhyML and RAxML
  • Germline and intermediate (internal-node) sequence reconstruction
  • Discrete trait analysis (migration, differentiation, isotype switching)
  • Measurable-evolution / time-resolved analysis
  • Paired heavy/light chain support
  • Publication-quality lineage visualisations

Accepted input types

Input typeWhat the framework does with it
TSVAIRR / Change-O clone table (tab-separated), used directly as the clone table. Enable column mapping if your headers differ from the canonical AIRR keys.
CSVThe same AIRR / Change-O clone table in comma-separated form; converted to the canonical table before the R service runs.
RDA / RDSSaved R data objects containing the clone/AIRR data, loaded directly by the R service.⚠ NEEDS VERIFICATION

Form fields

Every field shown in this method's form, generated from the package's field definitions so it always matches the live form. The mapping column is filled only where a field corresponds clearly to a native method parameter.

Input Mapping

FieldWhat it is / used forAllowed valuesDefaultMaps to method parameterVisible when
Enable input column mappingdoMapping
When true, map uploaded table headers to canonical Dowser AIRR keys before running.Yes / NoNoN/A (wrapper-specific)Always
Sequence ID columncolumn_map.sequence_id
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled
Clone ID columncolumn_map.clone_id
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled
Aligned sequence columncolumn_map.sequence_alignment
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled
Germline alignment columncolumn_map.germline_alignment_d_mask
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled
V call columncolumn_map.v_call
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled
J call columncolumn_map.j_call
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled
Junction length columncolumn_map.junction_length
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled
Junction column (optional if junction_length mapped)column_map.junction
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled
Cell ID column (paired H/L)column_map.cell_id
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled and Chain mode = HL
Locus column (paired H/L)column_map.locus
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled and Chain mode = HL
V region start columncolumn_map.v_region_start
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled and Use region columns (formatClones) is enabled
V region end columncolumn_map.v_region_end
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled and Use region columns (formatClones) is enabled
J region start columncolumn_map.j_region_start
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled and Use region columns (formatClones) is enabled
J region end columncolumn_map.j_region_end
textN/A (wrapper-specific)Shown when Enable input column mapping is enabled and Use region columns (formatClones) is enabled

Tree Construction

FieldWhat it is / used forAllowed valuesDefaultMaps to method parameterVisible when
Analysis modeanalysis_mode
tree_only, tree_with_internal_sequences, discrete_trait_analysis, time_evolutiontree_onlyAlways
Tree build methodtree_buildRequired
pratchet, pml, dnapars, dnaml, igphyml, raxmlpratchetSelects Dowser's tree-building algorithm — the enum values are Dowser's own build options (pratchet, pml, dnapars, dnaml, igphyml, raxml).Always
Min seq/cloneminseq
integer3Dowser formatClones minimum sequences per clone.Always
Threadsnproc
integer1Always
Random seedseed
Seed for stochastic tree search (e.g. the pratchet parsimony ratchet). Fixing this makes a run reproducible: the same input, parameters and seed produce the same tree. Also forwarded as rseed to RAxML-NG / IgPhyML builders, which ignore R's RNG.integer (≥ 0)42Always
Collapse identical sequencescollapse_identical_sequences
Yes / NoYesDowser formatClones collapse-identical-sequences option.Always
Trait columns to preserve (advanced)trait_fields
Optional comma- or space-separated columns passed to Dowser formatClones as traits, so identical sequences with different trait values are not collapsed together. In DTA mode, leave empty to use Trait field (DTA).textPassed to Dowser formatClones as traits.Always
Pad to codon length (formatClones)mod3
When true, Dowser formatClones pads sequence ends to make lengths multiples of three. Default false in this framework to avoid changing sequence lengths unless requested.Yes / NoNoDowser formatClones mod3 (pad sequence lengths to multiples of three).Always
Remove stop-codon sequences (formatClones)filterstop
When true, Dowser formatClones removes sequences with in-frame stop codons. Default false in this framework to avoid silent sequence removal.Yes / NoNoDowser formatClones filterstop (drop sequences with in-frame stop codons).Always
Use region columns (formatClones)use_regions
When true, Dowser formatClones assigns CDR/FWR regions. Requires region start/end columns in the input.Yes / NoNoDowser formatClones region assignment (uses CDR/FWR region columns).Always
Collapse internal nodescollapse_internal_nodes
Yes / NoYesAlways
Check divergencecheck_divergence
Yes / NoYesAlways

Output & Plotting

FieldWhat it is / used forAllowed valuesDefaultMaps to method parameterVisible when
Tip label column (display only)label_field
Display labels only; canonical Newick always uses sequence_id.textsequence_idAlways
Color tips by (column)tip_color_by
textAlways
Unknown fill (plotting only)unknown_value
textunknownAlways
Extra annotation columnsannotation_fields
textAlways
Numeric annotation columnsnumeric_annotation_fields
textAlways
Additional columns to retaincolumns
textAlways
Tip size (constant)tipsize
number2Always
Scale tip size by (column)tip_size_by
Numeric metadata column for variable tip sizes in Method Output PNG (e.g. duplicate_count). Overrides constant tipsize when the column is present after formatClones.textAlways
Max tip categoriesmax_tip_categories
integer30Always

Internal Sequences

FieldWhat it is / used forAllowed valuesDefaultMaps to method parameterVisible when
Return internal sequencesreturn_internal_sequences
Yes / NoNoShown when Analysis mode = tree_with_internal_sequences or Analysis mode = tree_only or Analysis mode = discrete_trait_analysis
Show node numbers in plotshow_node_numbers
Yes / NoNoShown when Return internal sequences is enabled or Analysis mode = tree_with_internal_sequences
Export all sequences FASTAexport_all_sequences_fasta
Yes / NoNoShown when Return internal sequences is enabled

Discrete Trait Analysis

FieldWhat it is / used forAllowed valuesDefaultMaps to method parameterVisible when
Trait field (DTA)trait_field
textShown when Analysis mode = discrete_trait_analysis
Trait modeltrait_model
unconstrained, isotype_irreversibleunconstrainedShown when Analysis mode = discrete_trait_analysis
Custom trait model filemodelfile
Paste Dowser parsimony model-file content.textCustom Dowser parsimony trait model-file content.Shown when Analysis mode = discrete_trait_analysis
DTA permutationspermutations
integer100Shown when Analysis mode = discrete_trait_analysis
Tip switch thresholdtip_switch
integer20Shown when Analysis mode = discrete_trait_analysis
Permute allpermute_all
Yes / NoNoShown when Analysis mode = discrete_trait_analysis
SP test alternativealternative
greater, less, two.sidedgreaterShown when Analysis mode = discrete_trait_analysis
Run testPSrun_test_ps
Yes / NoYesRuns Dowser testPS (parsimony-score association test).Shown when Analysis mode = discrete_trait_analysis
Run testSPrun_test_sp
Yes / NoYesRuns Dowser testSP (switch-proportion test).Shown when Analysis mode = discrete_trait_analysis
Run testSCrun_test_sc
Yes / NoYesRuns Dowser testSC (switch-count test).Shown when Analysis mode = discrete_trait_analysis
Isotype order (CSR)isotype_order
textShown when Analysis mode = discrete_trait_analysis and Trait model = isotype_irreversible
Isotype exceptionsisotype_exceptions
textIGHD,IGHMShown when Analysis mode = discrete_trait_analysis and Trait model = isotype_irreversible

IgPhyML

FieldWhat it is / used forAllowed valuesDefaultMaps to method parameterVisible when
IgPhyML partition modelpartition_model
single, cf, hl, hlf, hlc, hlcfsingleIgPhyML partition model (single, cf, hl, hlf, hlc, hlcf).Shown when Tree build method = igphyml
Return IgPhyML parametersreturn_igphyml_parameters
Yes / NoYesShown when Tree build method = igphyml

Paired H/L Chains

FieldWhat it is / used forAllowed valuesDefaultMaps to method parameterVisible when
Chain modechain_mode
H, HLHAlways
Heavy locusheavy_locus
textIGHShown when Chain mode = HL
Split light chainssplit_light
Yes / NoNoShown when Chain mode = HL
Light chain traitslight_traits
Yes / NoNoShown when Chain mode = HL
Major light chain onlymajoronly
Yes / NoNoShown when Chain mode = HL

Time Evolution

FieldWhat it is / used forAllowed valuesDefaultMaps to method parameterVisible when
Time fieldtime_field
textShown when Analysis mode = time_evolution
Time evolution permutationstime_permutations
integer100Shown when Analysis mode = time_evolution
Parse time as numerictime_as_numeric
Yes / NoYesShown when Analysis mode = time_evolution

Conditional fields & behaviour

Fields that appear or change based on other inputs
  • Raw FASTA is not accepted — Dowser expects sequences already processed through AIRR / Change-O / IgBLAST / IMGT.
  • The Discrete Trait Analysis fields appear only in that analysis mode; the IgPhyML partition options appear only when the tree builder is IgPhyML; the paired heavy/light options appear only in HL chain mode.