- Fixed
combineBCR()assigning the samegroup.byvalue to all cells instead of per-barcode values. - Fixed
clonalCluster()failing whengroup.byproduces a single group by correcting the condition for adding the group column to the edge list. - Fixed test for CTstrict clustering pattern to match the new default
chain = "IGH"behavior incombineBCR().
- New
clonalBin()function to bin clones by frequency or proportion without requiring a single-cell object. AddsclonalFrequency,clonalProportion, andcloneSizecolumns to the output ofcombineTCR(),combineBCR(), orcombineExpression(). Supports custom bin thresholds, optional grouping by metadata variable, and chain filtering. - New
vizCirclize()function for quick chord diagram visualization without manual circlize code. Supports directional arrows, custom colors, and sector annotations. getCirclize()major enhancements:- Multi-level hierarchical grouping via
group.byaccepting a vector of columns - New
methodparameter:"unique","abundance","jaccard","overlap" - New
symmetricparameter for directional flow analysis - New
include.metadataparameter returning sector statistics - New filtering options:
min.shared,top.links,filter.sectors - Built-in color palette generation with
paletteparameter
- Multi-level hierarchical grouping via
alluvialClones()major enhancements:- New
top.clones,min.freq,highlight.clones, andhighlight.colorparameters - Visual customization:
stratum.width,flow.alpha,show.labels,label.size - New
order.strataparameter for controlling level ordering within each stratum - Enhanced
export.tableoutput now includesfreq,prop, andrankcolumns
- New
combineBCR()defaults the clustering call to "IGH" instead of "both"
- Soft-deprecated camelCase arguments across all exported functions in favor of dot.notation (e.g.,
cloneCalltoclone.call,exportTabletoexport.table,cloneSizetoclone.size,filterNAtofilter.na,addLabeltoadd.label,clonalSplittoclonal.split). All deprecated arguments will continue to work with a deprecation warning until version 3.0.0.
- Fixed
combineExpression()failing with "undefined columns selected" when input data already containedclonalFrequency/clonalProportioncolumns from a priorclonalBin()call.
- Expanded functionality in
combineBCR()andclonalCluster():- New metrics beyond normalized Levenshtein edit distances
- Support for raw and normalized-based calculations
- Support for distance matrices to allow for alignment
- Added support for declaring
chains = "IGL","IGK", or"Light"to get all light chains in downstream quantification.
- Fixed handling of multiple chains in
combineBCR(), specifically in formatting CTstrict.
Update to match Bioconductor Release 3.22 on 2025/10/30.
- Fixed
order.byissue inpositionalProperty(). - Fixed individual chain call for
combineExpression(). - Fixed issue with removing kmer with ";" in
percentKmer().
- Fixed chain handling for BCR genes in
percentGeneUsage()and propagated to wrappers:percentGenes(),percentVJ(), andvizGenes().
- Fixed passing
group.byforcombineBCR().
- Updated unit tests for ggplot2 v4.
- Fixed
clonalProportioncalculation to use grouping properly duringcombineExpression(). - Fixed immunarch support for
exportClones()TRA/Light chain column handling.
- Added support for mouse genes in
quietBCRgenes()andquietTCRgenes().
- Introduced pairwise calculations to
StartracDiversity(). - Internal function conversion for
clonalSizeDistribution()- removed cubature, truncdist, and VGAM from dependencies. - Increased speed of
clonalSizeDistribution().
- Updated and improved code for
loadContigs(). - Consolidated support for discrete AIRR formats under the umbrella of AIRR.
- Added
"tcrpheno"and"immunarch"toexportClones(). - Converted
exportClones()to base R to reduce dependencies. - Added dandelionR and tcrpheno vignettes to pkgdown site.
percentAA()refactored to minimize dependencies and use immApexcalculateFrequency().positionalEntropy()refactored to minimize dependencies and use immApexcalculateEntropy().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 immApexcalculateMotif()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 forpercentGenes(),percentVJ(), andvizGenes()and allows for percent, proportion, and raw count quantification.- Added common theme (internal
.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.- Fixed issue with NULL and "none"
group.byincombineExpression(). - Allowing multi groupings via
x.axisandgroup.byinclonalDiversity().
- Updated internal
.parseContigs()to function with more complex groupings. - Added
annotateInvariant()functionality for mouse and human TCRs. - Added
quietTCRgenes(),quietBCRgenes(),quietVDJgenes(). - Fixed issue with
clonalCompare()assertthat statements. - Started integration with immApex API package.
- Fixed issue with denominator in
getCirclize(). - Fixed chain issue with
clonalCompare()- expanded assertthat statement.
Update for Bioconductor version 3.20.
- Added support for BCRs for loading ParseBio sequences.
- Added
quietBCRgenes(),quietTCRgenes(), andquietVDJgenes()for filtering out known TCR and/or BCR gene signatures.
- Added
Seuratto theSuggestsfield in the DESCRIPTION file.
- Added
getContigDoublets()experimental function to identify TCR and BCR doublets as a preprocessing step tocombineExpression(). - Added
proportionargument toclonalCompare()so that when set to FALSE, the comparison will be based on frequency normalized by per-sample repertoire diversity.
- Fixed issue with single chain output for
clonalLength(). - Removed unnecessary code remnant in
clonalLength(). - Allow one sample to be plotted by
percentVJ(). - Fixed issue with
positionalProperty()andexportTable. - Fixed issue with
loadContigs()edge case when TRUST4 data only has 1 row. - Converted documentation to use markdown (roxygen2md).
- Imported
lifecycle,purrr,withr. - Fixed issue with
clonalCluster()andexportGraph = TRUE. - Improved performance of
combineBCR()by a constant factor with C++. - Restructured functions to
exportTablebefore plotting.
- Fixed issue with
group.byinclonalOverlap(). - Fixed issue with
group.byinclonalCompare().
- Fixed issue with custom column headers for clones.
- Added type checks using assertthat.
- Updated conditional statements in
constructConDFAndparseTCR.cpp. - Fixed issue in
clonalQuant()and factor-basedgroup.byvariable.
getCirclize()refactored to prevent assumptions and addedinclude.selfargument.- Added
.count.clones()internal function forgetCirclize()andclonalNetwork(). - Added
order.byparameter to visualizations to specifically call order of plotting using a vector or"alphanumeric". - Fixed issue with
clonalLength()and NA handling. clonalCompare()now retains the original clonal info if usingrelabel.clones.- Added Dandelion support to
loadContigs()and testthat. - Fixed issue with
positionalProperty()assumption that clones will all have 20 amino acids. - Fixed issue with
positionalProperty()and removing non-amino acids. - Fixed IGH/K/L mistaking gene issue in
vizGenes(). - Added error message for NULL results in
clonalCluster()withexport.graph = TRUE. - Fixed issue with "full.clones" missing in
combineExpression()when using 1 chain.
- Modified support for Omniscope format to allow for dual chains.
- Added ParseBio support to
loadContigs()and testthat. - Added support for productive variable to
loadContigs()for BD, Omniscope, and Immcantation formats. - Replaced numerical indexing with name indexing for
loadContigs(). combineBCR()andcombineTCR()now allow for unproductive contig inclusions with newfilterNonproductiveparameter.combineBCR()will now prompt user ifsamplesis not included instead of erroring.- Added base threshold by length for internal
.lvCompare(). - Ensured internal
.lvCompare()only looks at first set of sequences in multi-sequence chain. - Fixed bug in exporting graph for
clonalCluster(). - Fixed conflict in functions between igraph and dplyr packages.
clonalOccupy()rewrite counting and NA handling.
clonalOverlay()arguments nowcutpointand usecut.categoryto select eitherclonalProportionorclonalFrequency.
- Added
percentAA(),percentGenes(),percentVJ(),percentKmer(),exportClones(),positionalEntropy(),positionalProperty(). - Renamed functions:
compareClonotypestoclonalCompare(),clonotypeSizeDistributiontoclonalSizeDistribution(),scatterClonotypestoclonalScatter(),quantContigtoclonalQuant(),highlightClonotypestohighlightClones(),lengthContigstoclonalLength(),occupiedscRepertoiretoclonalOccupy(),abundanceContigtoclonalAbundance(),alluvialClonotypestoalluvialClones(). - Added features to
clonalCompare()to allow for highlighting sequences and relabeling clonotypes.
- Removed internal
.quiet()function. .theCall()now allows for a custom header/variable and checks the colnames.- Replaced data arguments to be more descriptive:
dftoinput.data,dirtoinput,sctosc.data. - Deep clean on documentation for increased consistency and explainability.
StartracDiversity()metric re-implemented to remove startrac-class object intermediary.- Implemented powerTCR locally to reduce dependencies and continue support.
- Universalized underlying function language and intermediate variables.
- License change to MIT.
group.byandsplit.byconsolidated into singlegroup.byparameter.- Added support for Immcantation pipeline, .json, Omniscope, and MiXCR formats for
loadContigs(). - Made GitHub.io website for support/vignettes/FAQ.
- Added testthat for all exported and internal functions.
- Fixed issue with
clonalQuant()for instance ofscale = FALSEandgroup.bybeing set. clonalDiversity()no longer automatically orders samples.- Removed
orderparameter fromclonalQuant(),clonalLength(), andclonalAbundance(). x.axisparameter inclonalDiversity()separated fromgroup.byparameter.- Filtering chains will not eliminate non-matching chains.
- Deprecated
stripBarcodes(). - Deprecated
expression2List()(now only an internal function). - Deprecated
checkContigs().
- Rebasing for Bioconductor version.
- Fixed
combineBCR()to allow for non-related sequences.
checkContigs()function to quantify the percentages of NA values by genes or sequences.exportClonestoclonalNetwork()to isolate clones shared across identities.
- Fixed issue with
clonalDiversity()and skipping boots. - Fixed underlying assumptions with
clonalBias(). - Added reads variable to
parseAIRR. - Fixed handling of samples parameter in combine functions.
- Removed need to relevel the cloneType factor after
combineExpression(). - Set up
lapply()forcombineBCR()andclusterTCR()- no more pairwise distance matrix calculation. loadContigs()support for data.frames or lists of contigs.- Added examples for
loadContigs(). - Removed requirement for T cell type designation - will combine A/B and G/D simultaneously.
- Updated
combineBCR()to chunk nucleotide edit distance calculations by V gene and give option to skip edit distance calculation withcall.related.clones = FALSE. - Updated
clusterTCR()to uselvCompare()and base edit distances on V gene usage.
- Fixed misspellings for parse functions.
- Optimized WAT3R and 10x
loadContigs(). - Removed
combineTRUST4- superseded byloadContigs(). - Added support of TRUST4 for
combineBCR(). - Added support for BD in
loadContigs(). loadContigs()TRUST4 parsing allows for all NA values in a chain.combineExpression()group.by = NULLwill now collapse the whole list.
clonalDiversity()now hasskip.bootsto stop bootstrapping and downsampling.
- Rebumping the version change with new release of Bioconductor.
- Added mean call to the heatmap of
vizGenes(). filteringMultiincombineTCRnow checks to remove list elements with 0 cells.- Removed
top_n()call (deprecated), usingslice_max()without ties. - Added
arrange()call duringparseTCR()to organize the chains. - Corrected the gd flip in combine functions.
- Removed viridis call in
clonalNetwork()that was leading to errors. - Matched syntax for strict clonotype in
combineBCR(). - Added
group.byvariable to all applicable visualizations. - Added
return.bootstoclonalDiversity()to allow export of all bootstrapped values.
- Modified
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.exportTableparameter is now fixed.
- Added
loadContigs()for non-10X formatted single-cell data. - Removed
combineTRUST4, superseded byloadContigs(). combineTCR()now allows for > 3 recovered TCRs per barcode.- Re-added filtering steps to
combineTCR(), will detect if data is from 10X and automatically remove nonproductive or multi chains. - Updated
parseTCR()to include evaluation for gamma/delta chains.
highlightClones()now returns the specific clones instead of clonotype 1, etc.clonalCompare()numbersparameter now for group-wide numbers and not overall top X numbers.- Fixed issue with
clonalDiversity()that caused errors whengroup.byparameter was used. - Modified
parseBCR()to reduce complexity and assume lambda >> kappa. - Fixed
clonalCluster()function broken with Seurat Objects. checkContigsnow ensures data frames and that "" are converted into NAs.- Modified
makeGenes()internal function changingna.omittostr_replace_na()and separating the BCR calls by chain to prevent combination errors.
- Modified
parseBCR()to check for contents of the chains. Resolved issue with placing light chain into heavy chain slots when 2 contigs are present. - Updated
checkBlanks()to include NA evaluation and placed the check in all viz functions. - Added
clonalNetwork()function. - Modified diversity visualization to remove outliers and place graphs on a single line.
- Modified
clonalOverlay()to use new internalgetCoord()function likeclonalNetwork(). - Added
thresholdparameter toclonalSizeDistribution(). - Added support for single-cell objects to
clonalCluster().
- Modified
clonalCluster()andcombineBCR()to speed up comparison and use less memory. filteringMultinow isolates the top contig by chain, then for barcodes with chains > 2, isolates the top expressing chains.- Modified
makeGenes()internal function to usestr_c(). - Added
thresholdparameter tocombineTRUST4for B cell manipulation. - Changed
combineTCRfunction to prevent cell type mix up. vizGenes()can now look at other component genes of the receptor andseparateparameter replaced byy.axis.- Added
clonalBias()function for inter-cluster comparison. - Fixed
clonalCluster()andcombineBCR()assumption that you will have unrelated clones.
combineBCR()auto naming function updated to actually name the list elements.- Added
createHTOContigList()function to create contig list of multiplexed experiments. Fixed issue withgroupByvariable. - Added Inverse Pielou metric to diversity call.
- Added
include.naandsplit.bytoclonalOccupy()and changed labeling depending on frequency vs proportion. - Added support for single-cell objects for most visualizations, list organizing by single-cell object can be called using
split.byvariable. - All
groupandgroupByparameters are nowgroup.by.
- Added
dot.sizeparameter toclonalScatter(). filteringMultinow subsets clonotypes with contigs >= 2, to prevent 2 of the same chains.- Changed how coldata is added to SCE objects using merge instead of union.
- Can now add BCR and TCR simultaneously by making large list.
- Scatter plotting code allows for user to select
dot.sizeas a variable on the x or y axis. - Removed
regressClonotypefunction - too many dependencies required. - Added
chainoption to visualizations andcombineExpression()to allow users to facilitate single chains - removedchainoption fromcombineTCR/combineBCR/combineTRUST4. - Added NA filter to
combineTCR/combineBCR/combineTRUST4for cell barcodes with only NA values. - Added NA filter to
expression2List()for cells with NA clonotypes. - Updated
vizGenes()to order genes automatically by highest to lowest variance. - Updated
vizGenes()to pull the correct genes based on selection. - Updated parse method for V/J/D placement in TRB/Heavy chains.
- Simplified
clonalDiversity()to allow for more options in organizing plot and box plots. combineExpression()adds thegroupByvariable to Frequency, allowing for multiple calculations to be saved in the meta data.
- Changed the access of the sample data to github.io repo.
- Removed Startrac-based functions to pass build on Bioconductor.
- Deprecated
StartracDiversity().
- Added support for
SingleCellExperimentformat.
- Deprecated
combineSeuratin favor ofcombineExpression(). - Deprecated
seurat2Listin favor ofexpression2List().
- Added
proportiontocombineExpression()function. - Added
clonalCluster()andclonalOverlay()functions.
- Replaced
hammingComparewithlvCompareto enable superior clonotype calling incombineBCR(). - Added downsampling to diversity calculations.
- Fixed Clonal Overlap Coefficient issue - was comparing unique barcodes and not clonotypes.
- Added
checkBlanks()function to remove list elements without clonotypes. - Re-added Startrac metrics by stripping down the package.
- Heavily modified dependencies to reduce total number.
- Removed dependencies ggfittext and ggdendrogram.
clonalSizeDistribution()now returns aplot()function.
- Initial Bioconductor submission.
- Added
getCirclize(),exportTableto visualization functions. - Added
screp_exampledata to package. - Added
vizGenes()function and support for monocle incombineExpression().