Changes in version 1.5.0 (2026-05-05) Clonal analysis performance: - Added IUPAC parameter to hierarchicalClones. When IUPAC=TRUE, sequences containing IUPAC ambiguity codes are retained and distances are computed using an IUPAC-aware substitution matrix (via alakazam::pairwiseDist). This was the default behavior of previous versions of hierarchicalClones. - Improved clonal clustering speed in hierarchicalClones with a new C++ Hamming distance implementation (fastDist_rcpp), used when IUPAC=FALSE (default) and method="nt". With IUPAC=FALSE, sequences containing IUPAC ambiguity codes (e.g., R, Y, W, S, M, K) are rejected; only standard bases (A, T, C, G), N, and ? are allowed. Bug fixes: - Fixed a floating point precision error in hierarchicalClones with average linkage that caused hclust to fail. Distances are now rounded before retrying if the initial call fails. Changes in version 1.4.0 (2026-01-08) General: - Development of scoper has moved to GitHub: https://github.com/immcantation/scoper. - Updated dependencies alakazam >= 1.4.1, shazam >= 1.3.0, fastcluster. - Scoper now uses the hclust function from the fastcluster package instead of the one from stats to perform hierarchical clustering on large vjl groups (greater than 65,536 unique sequences). Clonal analysis: - Clonal identification methods now have deprecated only_heavy and split_light. All clonal identification methods now cluster by heavy chain only. To split clones by light chain groups use dowser::resolveLightChains. - In hierarchicalClones, the default value of summarize_clones is now FALSE for improved performance. Users can set summarize_clones=TRUE when needed. Changes in version 1.3.1 Documentation: - This is a documentation-only update to address changes in Read the Docs. Changes in version 1.3.0 (2023-10-06) General: - Updated dependencies alakazam >= 1.3.0, shazam >= 1.2.0, ggplot2 >= 3.4.0. - Added a locus column to the package's example data, to satisfy alakazam >= 1.3.0 requirements. Changes in version 1.2.1 (2022-09-22) Bug fixes: - Fixed a bug defineClonesScoper where the bulk clonal clustering was using light chain sequences. Now, light chain sequences are removed based on the locus information. If the column locus does not exist, it is created with alakazam::getLocus(v_call). - Fixed a bug in defineClonesScoper where the split_light part of the algorithm was reanalyzing heavy chain v_calls and using this information to sometimes split clone_id groups into subgroups. Only light chain v_calls should be used for this. The bug could be observed in situations where first=FALSE and the 'linker' ambiguous heavy chain v_calls were left out of the same clone_id group because of the junction distance threshold. - Fixed parallelization setup for defineClonesScoper. General: - Improved hierachical clustering performance. Changes in version 1.2.0 (2021-11-02) General: - Updated dependencies to R >= 4.0, ggplot2 >= 3.3.4, dplyr >= 1.0, alakazam >= 1.2.0, and shazam >= 1.1.0. - Changed the internal definition of degenerate characters from N to any characters except [ATCG]. Cloning: - Added fields argument to identicalClones, hierarchicalClones and spectralClones to allow for data partitioning prior to clonal assignment. - Fixed a bug in the cloning functions causing an error in single-cell mode when the input data contains only heavy chains. Changes in version 1.1.0 (2020-08-10) - Fixed a bug in the clonal clustering methods causing TCR data to fail. - Added support for single-cell data in the clonal clustering methods, which are enabled by defining the optional cell_id column. Changes in version 1.0.1 (2020-05-25) - Fixed a fatal error in identicalClones, hierarchicalClones and spectralClones when specifying nproc > 1. Changes in version 1.0.0 (2020-05-16) Backwards Incompatible Changes: - Changed default expected data format from the Change-O data format to the AIRR Rearrangement standard. For example: where functions used the column name V_CALL (Change-O) as the default to identify the field that stored the V gene calls, they now use v_call (AIRR). That means, scripts that relied on default values (previously, v_call="V_CALL"), will now fail if calls to the functions are not updated to reflect the correct value for the data. If data are in the Change-O format, the current default value v_call="v_call" will fail to identify the column with the V gene calls as the column v_call doesn't exist. In this case, v_call="V_CALL" needs to be specified in the function call. - ExampleDb converted to the AIRR Rearrangement standard and examples updated accordingly. - Split defineClonesScoper function to three functions: identicalClones, hierarchicalClones, and spectralClones. General: - License changed to AGPL-3. Cloning: - Fixed a platform precision incompatibility bug which caused spectral cloning results to be non-reproducible across platforms. - Added largest distance-to-nearest filter to clustering process. Changes in version 0.2.0 (2019-08-05) Deprecated: - function analyzeClones is deprecated. The clonal analysis has been added to the main function defineClonesScoper as an argument analyze_clones. - the out put class is deprecated. Results would be reported as a list if argument analyze_clones set to be true, otherwise a single dataframe is returned. - plot_neighborhoods from clonal analysis has been deprecated. - neighborhoods from clonal analysis has been deprecated. General: - New models, hierarchical for hierarchical-clustering based, and identical for clustering among identical junction sequences are added. - New method for spectral-clustering based model has been added through the vj in argument method. Clonal analysis: - Switched the meaning of the "inter" and "intra" labels in calculateInterVsIntra function. Now, "inter" is the label used to form distances that mean between clones, and "intra" is the label used to form distances that mean on the inside, within each clone. - Changed the plotInterVsIntra output from a density plot to a histogram. - Changed the way to calculate the effective threshold. Now, desntiy approach is used. Changes in version 0.1.0 (2018-10-14) Initial public release.