Package: dowser 2.4.2.999

Kenneth Hoehn

dowser: B Cell Receptor Phylogenetics Toolkit

Provides a set of functions for inferring, visualizing, and analyzing B cell phylogenetic trees. Provides methods to 1) reconstruct unmutated ancestral sequences, 2) build B cell phylogenetic trees using multiple methods, 3) visualize trees with metadata at the tips, 4) reconstruct intermediate sequences, 5) detect biased ancestor-descendant relationships among metadata types Workflow examples available at documentation site (see URL). Citations: Hoehn et al (2022) <doi:10.1371/journal.pcbi.1009885>, Hoehn et al (2021) <doi:10.1101/2021.01.06.425648>.

Authors:Kenneth Hoehn [aut, cre], Cole Jensen [aut], Jessie Fielding [aut], Hunter Melton [aut], Susanna Marquez [ctb], Jason Vander Heiden [ctb], Erick Matsen [ctb], Steven Kleinstein [aut, cph]

dowser_2.4.2.999.tar.gz
dowser_2.4.2.999.zip(r-4.7)dowser_2.4.2.999.zip(r-4.6)dowser_2.4.2.999.zip(r-4.5)
dowser_2.4.2.999.tgz(r-4.6-any)dowser_2.4.2.999.tgz(r-4.5-any)
dowser_2.4.2.999.tar.gz(r-4.7-any)dowser_2.4.2.999.tar.gz(r-4.6-any)
dowser_2.4.2.999.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
dowser/json (API)

# Install 'dowser' in R:
install.packages('dowser', repos = c('https://immcantation.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/immcantation/dowser/issues

Datasets:

On CRAN:

Conda:

8.31 score 1 stars 227 scripts 946 downloads 64 exports 135 dependencies

Last updated from:6513fbf56a. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64OK377
source / vignettesOK374
linux-release-x86_64OK383
macos-release-arm64OK226
macos-oldrel-arm64OK200
windows-develOK329
windows-releaseOK323
windows-oldrelOK300
wasm-releaseOK171

Exports:bootstrapTreesbuildAllClonalGermlinesbuildBeastbuildIgphymlbuildPhylobuildPMLbuildPratchetbuildRAxMLcalcRFcheckDivergencecollapseNodescolorTreescondenseTreescorrelationTestcreateAllGermlinescreateGermlinesdfToFastadownsampleClonedowserObjectEquivalentexportTreesfilterPartialSeqsfindSwitchesformatClonesgetAllSeqsgetBootstrapsgetDiffPointsgetDivergencegetNodeSeqgetPalettegetSeqgetSkylinesgetSubclonesgetSubTaxagetTimeTreesgetTimeTreesIterategetTreesgetTreesAndUCAsmakeAirrClonemakeModelFilemakeSkylinemaskCodonsmaskSequencesplotSkylinesplotTreesreadBEASTreadFastareadIMGTreadLineagesreadModelFilereadTreesJSONreconIgPhyMLrerootTreeresolveLightChainsresolvePolytomiessampleClonesscaleBranchestestPStestSCtestSPtreesToPDFwriteCloneSequenceswriteFastawriteLineageFilewriteTreesJSON

Dependencies:abindade4airralakazamapeaplotbase64encBHBiobaseBiocGenericsBiocParallelBiostringsbitbit64bitopsbslibcachemcigarilloclicliprcodetoolscommonmarkcpp11crayonDelayedArraydigestdiptestdoParalleldplyrevaluatefarverfastmapfastmatchfontawesomefontBitstreamVerafontLiberationfontquiverforeachformatRfsfutile.loggerfutile.optionsgdtoolsgenericsGenomicAlignmentsGenomicRangesggfunggiraphggplot2ggplotifyggtreegluegridExtragridGraphicsgtablehighrhmshtmltoolshtmlwidgetsigraphIRangesisobanditeratorsjquerylibjsonliteKernSmoothknitrlabelinglambda.rlatticelazyevallifecyclelitedownmagrittrmarkdownMASSMatrixMatrixGenericsmatrixStatsmemoisemimenlmepatchworkphangornphylotatepillarpixmappkgconfigprettyunitsprogresspurrrpwalignquadprogR6rappdirsRColorBrewerRcppRcppArmadilloreadrRhtslibrlangrmarkdownRsamtoolsS4ArraysS4VectorsS7sassscalessegmentedSeqinfoseqinrshazamsnowspSparseArraystringistringrSummarizedExperimentsystemfontstibbletidyrtidyselecttidytreetinytextreeiotzdbutf8vctrsviridisLitevroomwithrxfunXVectoryamlyulab.utils

Building trees with paired heavy and light chain data
Resolve light chains | Reconstruct germlines | Format clones | Building trees

Last update: 2026-03-26
Started: 2023-07-11

Build B cell lineage trees
Format clones | Build maximum parsimony trees | Build maximum likelihood trees | Build IgPhyML B cell trees | Building maximum likelihood trees with multiple partitions

Last update: 2026-03-26
Started: 2021-07-14

Detect ongoing B cell evolution
Date randomization test | Set up data structures and trees | Perform date randomization test | Plot trees

Last update: 2026-03-26
Started: 2022-07-14

Build Time Trees Using TyCHE and BEAST
Building Time Trees | Requirements | For Mac and Windows machines, we recommend: | For Linux machines, we recommend running: | Download and set up XML templates | Setting up data | Estimating the GC clock rate | Run getTimeTreesIterate with a TyCHE template | Visualize the results

Last update: 2026-01-06
Started: 2025-10-13

Using data from non-B cells

Last update: 2025-10-13
Started: 2025-10-13

Reconstruct clonal germline sequences
Identify clonal clusters | Obtain IMGT-gapped sequences | Construct clonal germlines

Last update: 2025-07-23
Started: 2021-07-14

Discrete trait analysis
Discrete trait statistics | Caveats and interpreting results | Setting up IgPhyML | Set up data structures and trees | Visualize maximum parsimony trait reconstruction | Discrete trait analysis with fixed trees | Accounting for uncertainty in tree topology | Within and between lineage permutations | Controlling false positive rate through downsampling | Incorporating switching constraints

Last update: 2024-11-05
Started: 2022-03-26

Reconstruct intermediate sequences
Saving sequences to a file

Last update: 2024-10-18
Started: 2021-07-14

Plot B cell lineage trees
Basic plotting | Plotting metadata | Using ggtree and ggplot functions | Editing all trees at once | Saving trees to a file

Last update: 2023-12-21
Started: 2021-07-14

Dowser: Simple lineage tree construction

Last update: 2023-10-25
Started: 2020-04-30

Readme and manuals

Help Manual

Help pageTopics
S4 class defining a clone in DowserairrClone airrClone-class
Example Ig lineage trees with biopsy reconstructions.BiopsyTrees
Deprecated! Please use findSwitches instead.bootstrapTrees
buildAllClonalGermlines Determines and builds all possible germlines for a clonebuildAllClonalGermlines
Read in a directory from a BEAST run. Runs treeannotator and loganalyser.buildBeast
'buildClonalGermline' Determine consensus clone sequence and create germline for clonebuildClonalGermline
'buildGermline' reconstruct germline segments from alignment databuildGermline
Wrapper to build IgPhyML trees and infer intermediate nodesbuildIgphyml
Wrapper for alakazam::buildPhylipLineagebuildPhylo
Wrapper for phangorn::optim.pmlbuildPML
Wrapper for phangorn::pratchetbuildPratchet
Wrapper to build RAxML-ng trees and infer intermediate nodesbuildRAxML
Finds the Robinson-Fould's cluster distance between phylogenies.calcRF
Compare divergence along a tree in terms of mutations (sum of branches) for each tip and reconstructed internal node to its Hamming distance from the germline. Divergence should never be less than Hamming distance. A threshold of -1 is used to represent 1 full mutation difference. The function will throw a warning if any trees cross this thresholdcheckDivergence
Collapse internal nodes with the same predicted sequencecollapseNodes
Get a color palette for a predefined set of trait valuescolorTrees
Condense a set of equally parsimonious node labels into a single treecondenseTrees
Run date randomization test for temporal signal on a set of trees.correlationTest
Takes an airr clone object and returns BEAST2 Alignment xml of the sequencescreate_alignment
Takes an airr clone object and returns BEAST2 XML to set a height priorcreate_height_prior
Takes an airr clone object and returns BEAST2 XML to set a maximum height priorcreate_max_height_prior
Takes an airr clone object and returns BEAST2 XML for MRCA prior of the germline sequencecreate_MRCA_prior_germline
Takes an airr clone object and returns BEAST2 XML for MRCA prior of the observed sequencescreate_MRCA_prior_observed
Takes an airr clone object and returns BEAST2 rootfreqs xml of the germlinecreate_root_freqs
Takes an airr clone object and tree and returns BEAST2 XML for setting the starting treecreate_starting_tree
Takes an airr clone object and returns BEAST2 XML for a trait/traitSet from a columncreate_traitset
createAllGermlines Creates all possible germlines for a clonecreateAllGermlines
createGermlines Determine consensus clone sequence and create germline for clonecreateGermlines
Write a fasta file of sequences 'readFasta' reads a fasta filedfToFasta
'downsampleClone' Down-sample clone to maximum tip/switch ratiodownsampleClone
The dowser packagedowser
'dowserObjectEquivalent' Experimental. Check if two Dowser objects are equivalentdowserObjectEquivalent
Example AIRR databaseExampleAirr
Example AIRR database for TyCHEExampleAirrTyCHE
Example Ig lineage treesExampleClones
Example Change-O databaseExampleDbChangeo
Example Multiple Partition TreesExampleMixedClones
Example Change-O databaseExampleMixedDb
Exports the phylogenetic trees from the airrClone objectexportTrees
'filterPartialSeqs'filterPartialSeqs
Create a bootstrap distribution for clone sequence alignments, and estimate trees for each bootstrap replicate.findSwitches
Generate an ordered list of airrClone objects for lineage constructionformatClones
Return all tip and internal node sequencesgetAllSeqs
Creates a bootstrap distribution for clone sequence alignments, and returns estimated trees for each bootstrap replicate as a nested list as a new input tibble column.getBootstraps
Recurse up to tree to find most recent node with different state, or the rootgetDiffPoint
For each tree, recurse up to tree to find most recent node with a different state, or the rootgetDiffPoints
Get divergence from root of tree for each tipgetDivergence
getGermline get germline segment from specified receptor and segmentgetGermline
Return IMGT gapped sequence of specified tree nodegetNodeSeq
Get a color palette for a predefined set of trait values. 'Germline' defaults to black unless specified.getPalette
Deprecated! Use getNodeSeqgetSeq
Make data frames for Bayesian skyline plotsgetSkylines
#' Deprecated! Use resolveLightChainsgetSubclones
Get the tip labels as part of a clade defined by an internal nodegetSubTaxa
Estimate time trees by running BEAST on each clone Applies XML 'template' to each clonegetTimeTrees
Iteratively resume getTimeTrees until convergence, as defined by all parameters (except those in 'ignore' vector) having ESS greater than or equal to the specified ess_cutoffgetTimeTreesIterate
Estimate lineage tree topologies, branch lengths, and internal node states if desiredgetTrees
getTreesAndUCAs Construct trees and infer the UCAgetTreesAndUCAs
Example Ig lineage trees with isotype reconstructions.IsotypeTrees
Generate a airrClone object for lineage constructionmakeAirrClone
Make a parsimony model filemakeModelFile
get values for Bayesian Skyline plotmakeSkyline
'maskCodons' Masks codons split by insertionsmaskCodons
'maskSequences' Mask codons split by insertions in V genemaskSequences
Simple function for plotting Bayesian skyline plotsplotSkylines
Plot a tree with colored internal node labels using ggtreeplotTrees
Reads in a BEAST output directoryreadBEAST
Read a fasta file into a list of sequences 'readFasta' reads a fasta filereadFasta
'readIMGT' read in IMGT databasereadIMGT
Read in all trees from a lineages filereadLineages
Read in a parsimony model filereadModelFile
'readTreesJSON' Experimental. Read trees from JSON/AIRR format from DowserreadTreesJSON
Do IgPhyML maximum parsimony reconstructionreconIgPhyML
Reroot phylogenetic tree to have its germline sequence at a zero-length branch to a node which is the direct ancestor of the tree's UCA. Assigns 'uca' to be the ancestral node to the tree's germline sequence, as 'germid' as the tree's germline sequence ID.rerootTree
Define subgroups within clones based on light chain rearrangementsresolveLightChains
Resolve polytomies to have the minimum number of single timepoint cladesresolvePolytomies
Run correlationTest, based on https://doi.org/10.1111/2041-210X.12466runCorrelationTest
'sampleCloneMultiGroup' Down-sample clone to specified size with one or multiple groups to sample evenlysampleCloneMultiGroup
'sampleClones' Down-sample clones to specified sizesampleClones
Scale branch lengths to represent either mutations or mutations per site.scaleBranches
stitchRegions Similar to stitchVDJ but with segment IDs instead of nucleotidesstitchRegions
stitchVDJ combines germline gene segments to a single stringstitchVDJ
Check whether sequences have in-frame premature stop codons (PTCs)stopCodonCheck
Performs PS (parsimony score) test on switch datatestPS
Performs SC (switch count) test on switch datatestSC
Performs SP (switch proportion) test on switch datatestSP
Example Ig lineage trees sampled over time.TimeTrees
Simple function for plotting a lot of trees into a pdftreesToPDF
Takes an airr clone object and template and writes a BEAST2 XML filewrite_clone_to_xml
Wrapper to write multiple clones to XML fileswrite_clones_to_xmls
Write the sequences used in tree building to a fasta format. If there are more than one tree in airrClone output the sequence id will be followed by "|clone_id".writeCloneSequences
'writeFasta' Write a fasta file of sequences given a named list of sequenceswriteFasta
Write lineage file for IgPhyML usewriteLineageFile
'writeTreesJSON' Experimental. Write trees in AIRR formatwriteTreesJSON