Spectral Clustering-Based Method for Identifying B Cell Clones
Overview
Provides a computational framework for identification of B cell clones from Adaptive Immune Receptor Repertoire sequencing (AIRR-Seq) data. Three main functions are included (identicalClones, hierarchicalClones, and spectralClones) that perform clustering among sequences of BCRs/IGs (B cell receptors/immunoglobulins) which share the same V gene, J gene and junction length. Nouri N and Kleinstein SH (2018) <doi: 10.1093/bioinformatics/bty235>. Nouri N and Kleinstein SH (2019) <doi: 10.1101/788620>. Gupta NT, et al. (2017) <doi: 10.4049/jimmunol.1601850>.
General:
- Increased required version of alakazam to >= 1.5.0.
hierarchicalClonesnow uses alakazam's C++ Hamming distance implementations (fastDist,fastDistAA) and passes theirdistoutput directly tohclust, reducing memory usage for large VJL groups whenIUPAC=FALSE.
Clonal analysis:
hierarchicalClonesandidenticalClonesnow allow amino acid junction sequences ifmethod="aa". Previously, thejunctioncolumn was always assumed to hold nucleotide sequences and translated before clustering.- Added a
junction_typeargument ("auto","nt","aa") toidenticalClones,hierarchicalClones, anddefineClonesScoper. It lets users declare whetherjunctionholds nucleotide or amino acid content whenmethod="aa", instead of relying on auto detection, which cannot reliably tell apart short amino acid junctions made only of letters shared with the nucleotide alphabet (e.g."CARDST").
Show all changes in 1.6.0Hide the rest of the changes in 1.6.0
- Expanded the
IUPACparameter inhierarchicalClonesto bothmethod="nt"andmethod="aa". - Improved clonal clustering speed with a new Alakazam C++ Hamming distance implementation for amino acid sequences (
fastDistAA) ifmethod="aa"andIUPAC=FALSE(default).
Bug fixes:
- Fixed
identicalCloneswithmethod="aa": translated amino acid junctions were computed but never used for grouping, so clustering was actually based on the untranslated nucleotide sequences, incorrectly splitting synonymous junctions into separate clones. - Fixed
identicalClones,hierarchicalClones, andspectralClonesin single-cell mode withsummarize_clones=TRUE:vjl_groupsandinter_intracould referenceclone_idvalues no longer matching those indb, due to clone ids being renumbered again after merging light chain data without updating those summaries. (Issue #52) - Updated how scoper decides whether the junction/cdr3 column holds nucleotide or amino acid sequences. The decision is now made once per dataset.
mod3=TRUEis now ignored (with a warning) for amino acid junctions, since length says nothing about reading frame for amino acids. A warning is also issued whenmethod="aa"is set but no sequence in the data can be confirmed as amino acid.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
- ERROR12 OK, 1 ERROR2026-06-08
- OK13 OK2026-05-10
Show 4 earlier changesHide 4 earlier changes
- ERROR12 OK, 1 ERROR2026-05-03
- OK12 OK2026-04-25
- ERROR13 OK, 1 ERROR2026-03-30
- OK14 OK2026-03-10
Documentation
- Help pages
- 8 (1 internal)includes a package overview page
- Examples that run
- 100%4 run in a plain check
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 25%
Downloads
Repository
- PRs merged (all time)
- 85%
- Median days to close, 50 most recently updated closed issues
- 14
- Median days to close, 50 most recently updated closed PRs
- 2
Issues over time
PRs over time
Commits over time
7 development-tooling and community-health practices detected across 3 families in the upstream repository
Checks run against github.com/immcantation/scoper on 2026-10-18.
The R CMD check workflow runs on Linux
Dependencies
Installing scoper adds 61 packages (35 with compiled code, 62 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB. 3 more not on CRAN are not measured.
Code & Tests
Datasets
People & History
Previously maintained by Jason Vander Heiden (1.0.0 to 1.2.0) and Nima Nouri (0.1.0 to 0.2.0).
Pick two releases to compare their code metrics.
- 1.6.0Latest2026-10-04 · current release · diff ↗ ·
listed once in CRAN's queue
Seen in one reading of CRAN's incoming queue, at 2026-10-04 20:43 UTC, so it stayed less than the time between readings. - 1.5.02026-05-05 · diff ↗
- RR 4.6.0 released · 2026-04-24
- 1.4.02026-01-08 · diff ↗
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- 1.3.02023-10-06 · diff ↗
- RR 4.3.0 released · 2023-04-21
- 1.2.12022-09-22 · diff ↗
- RR 4.2.0 released · 2022-04-22
- 1.2.02021-11-02 · diff ↗
- RR 4.1.0 released · 2021-05-18
- 1.1.02020-08-10 · diff ↗
- 1.0.12020-05-25 · diff ↗
- 1.0.02020-05-17 · diff ↗ ·
removed 1 export
defineClonesScoperadded 4 exports
hierarchicalClones, identicalClones, plotCloneSummary, spectralClones - RR 4.0.0 released · 2020-04-24
Package metadata
- First published
- 2018-10-14
- Total releases
- 11 / 8 yrs
- License
- AGPL-3 OSI · relicensed from CC BY-SA 4.0 in 1.0.0
- Minimum R
- ≥ 4.0
- Bundled data
- 96 KB / 1 file
- Download size
- 397 KB
Cite
Cite this package
Run in R for the authors' entry:
citation("scoper")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.1093/bioinformatics/bty235, 10.1371/journal.pcbi.1007977, 10.4049/jimmunol.1601850.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-21, which the citation names so these numbers can be found later. More on citing and the projects behind them.