combineBCR() assigning the same group.by value to all cells instead of per-barcode values.clonalCluster() failing when group.by produces a single group by correcting the condition for adding the group column to the edge list.chain = "IGH" behavior in combineBCR().clonalBin() function to bin clones by frequency or proportion without requiring a single-cell object. Adds clonalFrequency, clonalProportion, and cloneSize columns to the output of combineTCR(), combineBCR(), or combineExpression(). Supports custom bin thresholds, optional grouping by metadata variable, and chain filtering.vizCirclize() function for quick chord diagram visualization without manual circlize code. Supports directional arrows, custom colors, and sector annotations.getCirclize() major enhancements:
group.by accepting a vector of columnsmethod parameter: "unique", "abundance", "jaccard", "overlap"symmetric parameter for directional flow analysisinclude.metadata parameter returning sector statisticsmin.shared, top.links, filter.sectorspalette parameteralluvialClones() major enhancements:
top.clones, min.freq, highlight.clones, and highlight.color parametersstratum.width, flow.alpha, show.labels, label.sizeorder.strata parameter for controlling level ordering within each stratumexport.table output now includes freq, prop, and rank columnscombineBCR() defaults the clustering call to "IGH" instead of "both"cloneCall to clone.call, exportTable to export.table, cloneSize to clone.size, filterNA to filter.na, addLabel to add.label, clonalSplit to clonal.split). All deprecated arguments will continue to work with a deprecation warning until version 3.0.0.combineExpression() failing with "undefined columns selected" when input data already contained clonalFrequency/clonalProportion columns from a prior clonalBin() call.combineBCR() and clonalCluster():
chains = "IGL", "IGK", or "Light" to get all light chains in downstream quantification.combineBCR(), specifically in formatting CTstrict.Update to match Bioconductor Release 3.22 on 2025/10/30.
order.by issue in positionalProperty().combineExpression().percentKmer().percentGeneUsage() and propagated to wrappers: percentGenes(), percentVJ(), and vizGenes().group.by for combineBCR().clonalProportion calculation to use grouping properly during combineExpression().exportClones() TRA/Light chain column handling.quietBCRgenes() and quietTCRgenes().StartracDiversity().clonalSizeDistribution() - removed cubature, truncdist, and VGAM from dependencies.clonalSizeDistribution().loadContigs()."tcrpheno" and "immunarch" to exportClones().exportClones() to base R to reduce dependencies.percentAA() refactored to minimize dependencies and use immApex calculateFrequency().positionalEntropy() refactored to minimize dependencies and use immApex calculateEntropy().clonalDiversity() refactored for performance - now calculates a single diversity metric at a time and includes new estimators like "gini", "d50", and supports hill numbers.percentKmer() refactored to use immApex calculateMotif() for both aa and nt sequences. No longer calculates all possible motifs, but only motifs present.clonalCluster() now allows for dual-chain clustering, V/J filtering, normalized or straight edit distance calculations, and return of clusters, igraph objects, or adjacency matrix.combineBCR() offers single/dual chain clustering, aa or nt sequences, adaptive filtering of V and J genes, and normalized or straight edit distance calculations.percentGeneUsage() is now the underlying function for percentGenes(), percentVJ(), and vizGenes() and allows for percent, proportion, and raw count quantification..themeRepertoire()) to all plots and allow users to pass arguments to it.clonalCompare() issue with plotting a 0 row data frame now errors with message.clonalScatter() group.by/axes call now works for non-single-cell objects.group.by in combineExpression().x.axis and group.by in clonalDiversity()..parseContigs() to function with more complex groupings.annotateInvariant() functionality for mouse and human TCRs.quietTCRgenes(), quietBCRgenes(), quietVDJgenes().clonalCompare() assertthat statements.getCirclize().clonalCompare() - expanded assertthat statement.Update for Bioconductor version 3.20.
quietBCRgenes(), quietTCRgenes(), and quietVDJgenes() for filtering out known TCR and/or BCR gene signatures.Seurat to the Suggests field in the DESCRIPTION file.getContigDoublets() experimental function to identify TCR and BCR doublets as a preprocessing step to combineExpression().proportion argument to clonalCompare() so that when set to FALSE, the comparison will be based on frequency normalized by per-sample repertoire diversity.clonalLength().clonalLength().percentVJ().positionalProperty() and exportTable.loadContigs() edge case when TRUST4 data only has 1 row.lifecycle, purrr, withr.clonalCluster() and exportGraph = TRUE.combineBCR() by a constant factor with C++.exportTable before plotting.group.by in clonalOverlap().group.by in clonalCompare().constructConDFAndparseTCR.cpp.clonalQuant() and factor-based group.by variable.getCirclize() refactored to prevent assumptions and added include.self argument..count.clones() internal function for getCirclize() and clonalNetwork().order.by parameter to visualizations to specifically call order of plotting using a vector or "alphanumeric".clonalLength() and NA handling.clonalCompare() now retains the original clonal info if using relabel.clones.loadContigs() and testthat.positionalProperty() assumption that clones will all have 20 amino acids.positionalProperty() and removing non-amino acids.vizGenes().clonalCluster() with export.graph = TRUE.combineExpression() when using 1 chain.loadContigs() and testthat.loadContigs() for BD, Omniscope, and Immcantation formats.loadContigs().combineBCR() and combineTCR() now allow for unproductive contig inclusions with new filterNonproductive parameter.combineBCR() will now prompt user if samples is not included instead of erroring..lvCompare()..lvCompare() only looks at first set of sequences in multi-sequence chain.clonalCluster().clonalOccupy() rewrite counting and NA handling.clonalOverlay() arguments now cutpoint and use cut.category to select either clonalProportion or clonalFrequency.percentAA(), percentGenes(), percentVJ(), percentKmer(), exportClones(), positionalEntropy(), positionalProperty().compareClonotypes to clonalCompare(), clonotypeSizeDistribution to clonalSizeDistribution(), scatterClonotypes to clonalScatter(), quantContig to clonalQuant(), highlightClonotypes to highlightClones(), lengthContigs to clonalLength(), occupiedscRepertoire to clonalOccupy(), abundanceContig to clonalAbundance(), alluvialClonotypes to alluvialClones().clonalCompare() to allow for highlighting sequences and relabeling clonotypes..quiet() function..theCall() now allows for a custom header/variable and checks the colnames.df to input.data, dir to input, sc to sc.data.StartracDiversity() metric re-implemented to remove startrac-class object intermediary.group.by and split.by consolidated into single group.by parameter.loadContigs().clonalQuant() for instance of scale = FALSE and group.by being set.clonalDiversity() no longer automatically orders samples.order parameter from clonalQuant(), clonalLength(), and clonalAbundance().x.axis parameter in clonalDiversity() separated from group.by parameter.stripBarcodes().expression2List() (now only an internal function).checkContigs().combineBCR() to allow for non-related sequences.checkContigs() function to quantify the percentages of NA values by genes or sequences.exportClones to clonalNetwork() to isolate clones shared across identities.clonalDiversity() and skipping boots.clonalBias().parseAIRR.combineExpression().lapply() for combineBCR() and clusterTCR() - no more pairwise distance matrix calculation.loadContigs() support for data.frames or lists of contigs.loadContigs().combineBCR() to chunk nucleotide edit distance calculations by V gene and give option to skip edit distance calculation with call.related.clones = FALSE.clusterTCR() to use lvCompare() and base edit distances on V gene usage.loadContigs().combineTRUST4 - superseded by loadContigs().combineBCR().loadContigs().loadContigs() TRUST4 parsing allows for all NA values in a chain.combineExpression() group.by = NULL will now collapse the whole list.clonalDiversity() now has skip.boots to stop bootstrapping and downsampling.vizGenes().filteringMulti in combineTCR now checks to remove list elements with 0 cells.top_n() call (deprecated), using slice_max() without ties.arrange() call during parseTCR() to organize the chains.clonalNetwork() that was leading to errors.combineBCR().group.by variable to all applicable visualizations.return.boots to clonalDiversity() to allow export of all bootstrapped values.grabMeta() internal function to no longer assume the active identity is clusters.checkBlanks() now checks if a blank was detected before trying to remove it.clonalNetwork() automatically resulted in default error message - bug now removed.clonalBias() now adds z-score of bias when matrix is exported. exportTable parameter is now fixed.loadContigs() for non-10X formatted single-cell data.combineTRUST4, superseded by loadContigs().combineTCR() now allows for > 3 recovered TCRs per barcode.combineTCR(), will detect if data is from 10X and automatically remove nonproductive or multi chains.parseTCR() to include evaluation for gamma/delta chains.highlightClones() now returns the specific clones instead of clonotype 1, etc.clonalCompare() numbers parameter now for group-wide numbers and not overall top X numbers.clonalDiversity() that caused errors when group.by parameter was used.parseBCR() to reduce complexity and assume lambda >> kappa.clonalCluster() function broken with Seurat Objects.checkContigs now ensures data frames and that "" are converted into NAs.makeGenes() internal function changing na.omit to str_replace_na() and separating the BCR calls by chain to prevent combination errors.parseBCR() to check for contents of the chains. Resolved issue with placing light chain into heavy chain slots when 2 contigs are present.checkBlanks() to include NA evaluation and placed the check in all viz functions.clonalNetwork() function.clonalOverlay() to use new internal getCoord() function like clonalNetwork().threshold parameter to clonalSizeDistribution().clonalCluster().clonalCluster() and combineBCR() to speed up comparison and use less memory.filteringMulti now isolates the top contig by chain, then for barcodes with chains > 2, isolates the top expressing chains.makeGenes() internal function to use str_c().threshold parameter to combineTRUST4 for B cell manipulation.combineTCR function to prevent cell type mix up.vizGenes() can now look at other component genes of the receptor and separate parameter replaced by y.axis.clonalBias() function for inter-cluster comparison.clonalCluster() and combineBCR() assumption that you will have unrelated clones.combineBCR() auto naming function updated to actually name the list elements.createHTOContigList() function to create contig list of multiplexed experiments. Fixed issue with groupBy variable.include.na and split.by to clonalOccupy() and changed labeling depending on frequency vs proportion.split.by variable.group and groupBy parameters are now group.by.dot.size parameter to clonalScatter().filteringMulti now subsets clonotypes with contigs >= 2, to prevent 2 of the same chains.dot.size as a variable on the x or y axis.regressClonotype function - too many dependencies required.chain option to visualizations and combineExpression() to allow users to facilitate single chains - removed chain option from combineTCR/combineBCR/combineTRUST4.combineTCR/combineBCR/combineTRUST4 for cell barcodes with only NA values.expression2List() for cells with NA clonotypes.vizGenes() to order genes automatically by highest to lowest variance.vizGenes() to pull the correct genes based on selection.clonalDiversity() to allow for more options in organizing plot and box plots.combineExpression() adds the groupBy variable to Frequency, allowing for multiple calculations to be saved in the meta data.StartracDiversity().SingleCellExperiment format.combineSeurat in favor of combineExpression().seurat2List in favor of expression2List().proportion to combineExpression() function.clonalCluster() and clonalOverlay() functions.hammingCompare with lvCompare to enable superior clonotype calling in combineBCR().checkBlanks() function to remove list elements without clonotypes.clonalSizeDistribution() now returns a plot() function.getCirclize(), exportTable to visualization functions.screp_example data to package.vizGenes() function and support for monocle in combineExpression().