Changes in version 2.2.1                        

#VERSION BUMP FOR BIOCONDUCTOR

                        Changes in version 2.0.8                        

NEW FEATURES

  - Added getContigDoublets() experimental function to identify TCR and
    BCR doublets as a preprocessing step to combineExpression()
  - Added proportion argument to clonalCompare() so that when set to
    FALSE, the comparison will be based on frequency normalized by
    per-sample repertoire diversity.

UNDERLYING CHANGES

  - 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() and exportTable
  - Fixed issue with loadContigs() edge case when TRUST4 data only has 1
    row.
  - convert documentation to use markdown (roxygen2md)
  - import lifecycle, purrr, withr
  - suppressed "using discrete variable for alpha is not recommended"
    warning in alluvialClones unit tests.
  - Fixed issue with clonalCluster() and exportGraph = TRUE
  - improve performance of combineBCR() by a constant factor with C++
  - Restructured functions to exportTable before plotting

                        Changes in version 2.0.7                        

UNDERLYING CHANGES

  - Fixed issue with "group.by" in clonalOverlap()
  - Fixed issue with "group.by" in clonalCompare()

                        Changes in version 2.0.6                        

UNDERLYING CHANGES

  - Fixed issue with custom column headers for clones

                        Changes in version 2.0.5                        

UNDERLYING CHANGES

  - added type checks using assertthat
  - updated conditional statements in constructConDFAndparseTCR.cpp
  - Fixed issue in clonalQuant() and factor-based group.by variable

                        Changes in version 2.0.4                        

UNDERLYING CHANGES

  - getCirclize() refactored to prevent assumptions and added
    include.self argument
  - Added .count.clones() internal function for getCirclize() and
    clonalNetwork()
  - Added order.by parameter to visualizations to specifically call
    order of plotting using a vector or can use "alphanumeric" to plot
    things in order
  - Fix issue with clonalLength() and NA handling
  - clonalCompare() now retains the original clonal info if using
    relabel.clones
  - Add Dandelion support in to loadContigs() and testthat
  - Fixed issue with positionalProperty() assumption that the 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()
  - Add error message for NULL results in clonalCluster() with
    export.graph = TRUE
  - Fixed issue with "full.clones" missing in combineExpression() when
    using 1 chain

                        Changes in version 2.0.3                        

UNDERLYING CHANGES

  - Modified support for Omniscope format to allow for dual chains
  - Added ParseBio support in to loadContigs() and testthat
  - Added support for productive variable to loadContigs() for BD,
    Omniscope, and Immcantation formats
  - Replace numerical indexing with name indexing for loadContigs()
  - combineBCR() and combineTCR() no allow for unproductive contig
    inclusions with new filterNonproductive parameter.
  - combineBCR() will now prompt user if samples is 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 clonaCluster()
  - Fixed conflict in functions between igraph and dplyr packages

                        Changes in version 2.0.2                        

UNDERLYING CHANGES

  - clonalOccupy() rewrite counting and NA handling

                        Changes in version 2.0.1                        

UNDERLYING CHANGES

  - clonalOverlay() arguments now cutpoint and use cut.category to
    select either clonalProportion or clonalFrequency

                 Changes in version 2.0.0 (2024-01-10)                  

NEW FEATURES

  - Added percentAA()
  - Added percentGenes()
  - Added percentVJ()
  - Added percentKmer()
  - Added exportClones()
  - Added positionalEntropy()
  - Added positionalProperty()
  - Changed compareClonotypes to clonalCompare()
  - Changed clonotypeSizeDistribution to clonalSizeDistribution()
  - Changed scatterClonotypes to clonalScatter()
  - Changed quantContig to clonalQuant()
  - Changed highlightClonotypes to highlightClones()
  - Changed lengthContigs to clonalLength()
  - Changed occupiedscRepertoire to clonalOccupy()
  - Changed abundanceContig to clonalAbundance()
  - Changed alluvialClonotypes to alluvialClones()
  - Added features to clonalCompare() to allow for highlighting
    sequences, relabeling clonotypes.

UNDERLYING CHANGES

  - Removed internal .quiet() function.
  - .theCall() now allows for a custom header/variable and checks the
    colnames.
  - Replaced data arguments to be more descriptive: df is now
    input.data, dir is now input, and sc is now sc.data
  - Deep clean on the documentation for each function 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.by and split.by have been consolidated into single group.by
    parameter
  - Added support for Immcantation pipeline, .json, Omniscope, and MiXCR
    formats for loadContigs()
  - Made GitHub.io website for support/vignettes/FAQ
  - Restructured NEWS Tracking
  - Added testthat for all exported and internal functions
  - Fixed issue with clonalQuant() for instance of scale = FALSE and
    group.by being set.
  - clonalDiversity() no longer automatically orders samples.
  - Remove order parameter from clonalQuant(), clonalLength(), and
    clonalAbundance()
  - x.axis parameter in clonalDiversity() separated from group.by
    parameter
  - filtering chains will not eliminate none matching chains.

DEPRECATED AND DEFUNCT

  - Deprecate stripBarcodes()
  - Deprecate expression2List() (now only an internal function).
  - Deprecate checkContigs()

                       Changes in version 1.11.0                        

  - Rebasing for the purposes of bioconductor version

                        Changes in version 1.7.5                        

  - Fixed combineBCR() to allow for non-related sequences

                        Changes in version 1.7.4                        

NEW FEATURES

  - checkContigs() function to quantify the percentages of NA values by
    genes or sequences
  - exportClones to clonalNetwork() to isolate clones shared across
    identities.

UNDERLYING CHANGES

  - Fix issue with clonalDiversity() and skipping boots
  - Fixing underlying assumptions with clonalBias()
  - Adding reads variable to parseAIRR
  - Fixing handling of samples parameter in combine contain functions
  - removed need to relevel the cloneType factor after
    combineExpression()
  - set up lapply() for combineBCR() and clusterTCR() - no more pairwise
    distance matrix calculation
  - loadContigs() support for data.frames or lists of contigs
  - Added examples for loadContigs() to test function
  - 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 with
    call.related.clones = FALSE
  - Updated clusterTCR() to use lvcompare() function and base edit
    distances of V gene usage.

                        Changes in version 1.7.3                        

  - Fix misspellings for parse contains functions
  - Optimize WAT3R and 10x loadContigs()
  - Remove combineTRUST4 - superseded by loadContigs()
  - 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 = NULL will now collapse the whole
    list.

                        Changes in version 1.7.2                        

  - ClonalDiversity() now has skip.boots to stop bootstrapping and
    downsampling

                        Changes in version 1.7.0                        

  - Rebumping the version change with new release of Bioconductor
  - Added mean call to the heatmap of vizGenes()
  - To combineTCR, filteringMulti now checks to remove list elements
    with 0 cells.
  - Removed top_n() call as it is now deprecated, using slice_max()
    without ties.
  - Add arrange() call during parseTCR() to organize the chains
  - Correct the gd flip in the combineContig and subsequent functions
  - Removed viridis call in the clonalNetwork() function that was
    leading to errors
  - Matched syntax for strict clonotype in combineBCR()
  - Added group.by variable to all applicable visualizations
  - Added return.boots to clonalDiversity(), allow for export of all
    bootstrapped values

                        Changes in version 1.5.4                        

  - 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.
  - clonotypeBias now adds z-score of bias when matrix is exported.
    exportTable parameter is now fixed.

                        Changes in version 1.5.3                        

  - Added loadContigs for non-10X formatted single-cell data
  - removed combineTRUST4, superseded by loadContigs
  - combineTCR() now allows for > 3 recovered TCRs per barcode
  - Readded the 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.

                        Changes in version 1.5.2                        

  - Arbitrarily numbering system to match new bio conductor dev version
  - highlightClonotypes() now returns the specific clones instead of
    clonotype 1, ...
  - compareClonotypes numbers parameter now for group-wide numbers and
    not overall top X numbers
  - Fixed issue with clonalDiversity that cause errors when group.by
    parameter was used.
  - modified parseBCR() to reduce complexity and assume lambda >> kappa
  - fixed clusterTCR() function broken with Seurat Objects
  - checkContigs no ensures data frames and that "" are converted into
    NAs
  - modified makeGenes() internal function changing na.omit to
    str_replace_na() and separating the BCR calls by chain to prevent
    combination errors.

                        Changes in version 1.3.5                        

  - Modified parseBCR() to check for contents of the chains. Resolve
    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 internal getCoord() function
    like clonalNetwork()
  - Added threshold parameter to clonesizeDistribution()
  - Added support for single-cell objects to clusterTCR()

                        Changes in version 1.3.4                        

  - Modification in clusterTCR() and combineBCR() to speed up the
    comparison and use less memory
  - FilteringMulti, now isolates the top contig by chain, then for
    barcodes with chains > 2, isolates the top expressing chains. This
    substantially increases the speed of the filtering step.
  - Modified makeGenes() internal function to use strings str_c()
  - Added threshold parameter to combineTRUST4 for B cell manipulation
  - Changed combineTCR function to prevent cell type mix up and
    clarified in function documentation.
  - vizGenes can now be used to look at other component genes of the
    receptor and "separate" parameter was replaced by "y.axis"
    parameter.
  - Added clonotypeBias() function for inter-cluster comparison.
  - Fixed clusterTCR() and combineBCR() assumption that you will have
    unrelated clones.

                        Changes in version 1.3.3                        

  - CombineBCR() auto naming function updated to actually name the list
    elements.
  - Added createHTOContigList() function to create contain list of
    multiplexed experiments. Fixed issue with groupBy variable
  - Added Inv.Pielou matric to diversity call - this is
    essentially 1-shannon/ln(length). Due to the bootstrapping the
    length with be constant.
  - Added include.na and split.by to occupiedscRepertoire 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.by
    variable
  - All group and groupBy parameters are now group.by.

                        Changes in version 1.3.2                        

  - This is the new numbering scheme apologies - we are all up-to-date
    now and now cell ranger >= 5 will # work on bioconductor, so let's
    all just take that as a win.
  - added dot.size parameter to scatterClonotype
  - filteringMulti now subsets clonotypes with contains >=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 is not so ugly and allows for user to select
    dot.size as a variable on the x or y axis
  - Removed regressClonotype function - too many dependencies required,
    adding an additional vignette to go through the process
  - Added chain option to visualizations and combineExpression to allow
    users to facilitate single chains - removed chain option from
    combineTCR/BCR/TRUST4 (the combined object will have both chains no
    matter what)
  - Added NA filter to combineTCR/BCR/TRUST4 for cell barcodes with only
    NA values
  - Added NA filter to expression2List() for cells with NA clonotypes.
  - Updated VizGene to order the genes automatically by highest to
    lowest variance
  - Updated VizGene to pull the correct genes based on selection
  - Updated parse method - old version had issue with place V-->J-->D in
    the TRB/Heavy chains
  - Simplified the 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.
  - Default color scheme now uses viridis plasma, because it I am on
    transfusion medicine.

                        Changes in version 1.2.3                        

  - Changed the access of the sample data to github.io repo:
    readRDS(url("https://ncborcherding.github.io/vignettes/scRepertoire_example.rds"))

                        Changes in version 1.2.2                        

  - added the combineTRUST4 function to parse contigs from TUST4
    pipeline
  - added the filter of contigs by chain in the combineTCR, combineBCR,
    and combineTRUST4 functions
  - no longer require the ID in the combineTCR/BCR/TRUST4 functions
  - added jaccard index for overlap analysis
  - replaced vizVgene with vizGene - allowing users to look at any gene
    in the combinedContig object
  - Fixed coloring scale on the overlap analysis
  - Added regressClonotype function using harmony to remove the
    clonotype effect on feature space
  - allowed occupiedRepertoire to use proportion.
  - added scatterClonotype function to Viz.R

  - Removed Startrac-based functions in order to pass build on
    Bioconductor.

DEPRECATED AND DEFUNCT

  - Deprecate StartracDiversity()

                        Changes in version 1.2.1                        

  - number of changes to the parseTCR/BCR functions to limit assumptions
  - Changed grabMeta to include assessment of colnames
  - fixed lengthDF handling of single chains with multi chains stored -
    ;
  - Added labels to alluvialClonotype and occupiedClonotype plotting

                        Changes in version 1.2.0                        

SIGNIFICANT USER-VISIBLE CHANGES

  - Added support for SingleCellExperiment format.

DEPRECATED AND DEFUNCT

  - Deprecate combineSeurat in favor or combineExpression().
  - Deprecate seurat2List in favor of expression2List().

                        Changes in version 1.1.4                        

  - replaced hammingCompare with lvCompare to enable superior clonotype
    calling in combineBCR function.
  - added proportion to combineExpression() function so users no longer
    need to know absolute frequencies when combining the contiguous
    information.
  - added clusterTCR() and clonalOverlay() functions.
  - added downsampling to the diversity calculations
  - replaced hammingCompare with lvCompare to enable superior clonotype
    calling in combineBCR function.
  - added proportion to combineExpression() function so users no longer
    need to know absolute frequencies when combining the contiguous
    information.
  - added clusterTCR() and clonalOverlay() functions.
  - added downsampling to the diversity calculations
  - Clonal Overlap Coefficient issue fixed, was comparing unique
    barcodes and not clonotypes
  - Added function checkBlanks to remove list elements without
    clonotypes, this prevents errors for visualizations
  - Re-added Startrac metrics by stripping down the package and adding
    it piecemeal
  - Heavily modified dependencies to reduce total number

                        Changes in version 1.0.0                        

  - removed dependencies ggfittext and ggdendrogram
  - clonesizeDistribution now returns a plot() function

                       Changes in version 0.99.18                       

  - Updated author information in the vignette

                       Changes in version 0.99.17                       

  - Updated NEWS formatting
  - Edited DESCRIPTION to Single Cell Experiment R package
  - Updated information in the vignette

                       Changes in version 0.99.16                       

  - Added getCirclize()

                       Changes in version 0.99.15                       

  - Modified numerator for index function

                       Changes in version 0.99.14                       

  - Removed bracket from indexing function

                       Changes in version 0.99.13                       

  - Added exportTable to remaining viz functions
  - Modified morisita index to correct error

                       Changes in version 0.99.12                       

  - Reducing the size of the screp_example to fulfill < 5 mB
    requirement. Randomly samples 100 cells and removed RNA counts from
    Seurat object

                       Changes in version 0.99.11                       

  - Updated compareClonotype to allow for clonotype comparisons

                       Changes in version 0.99.10                       

  - Bioconductor did not detect the version update.

                       Changes in version 0.99.9                        

  - Bioconductor had no love - changed the Seurat package to imports
    instead of required, see if that will address the compiling issue
    that results in a killed: 9 error.

                       Changes in version 0.99.8                        

  - Passed checks on system, let's see how much bioconductor hates it

                       Changes in version 0.99.7                        

  - But really this time, changed the colData import

                       Changes in version 0.99.6                        

  - Changed colData import

                       Changes in version 0.99.5                        

  - Added screp_example data to package
  - Added visVgene function for visualizing the distribution of V genes
    in TCR
  - Added support for monocle to combineExpression function
  - Updated documentation for combineTCR() and combineBCR()
  - Updated documentation to utilize SingleCellExperiment formats
  - Updated Vignette to utilize SingleCellExperiment formats
  - Added Author information to vignette
  - Add intro and conclusion to vignette
  - Removed html knitted vignette
  - Removed descriptive code snippets

                       Changes in version 0.99.4                        

  - Modified expression2List() to allow for variables across meta data

                       Changes in version 0.99.1                        

  - Changed R (>= 3.6) to R (>= 4.0)

                       Changes in version 0.99.0                        

  - Changed DESCRIPTION version to 0.99.0
  - Removed file seurat_example.rda, accidentally committed
  - Deleted git attributes
  - reduced Seurat object size for alluvialClonotype in vignette
  - Changed the alluvialClonotype assessment to account for only 1
    condition