Program for Inferring Immunoglobulin Allele Similarity Clusters and Genotypes
Overview
Improves genotype inference and downstream Adaptive Immune Receptor Repertoire Sequence data analysis. Inference of allele similarity clusters, an alternative naming scheme and genotype inference for immunoglobulin heavy chain repertoires. The main tools are allele similarity clusters, and allele based genotype. The first tool is designed to reduce the ambiguity within the immunoglobulin heavy chain V alleles. The ambiguity is caused by duplicated or similar alleles which are shared among different genes. The second tool is an allele based genotype, that determined the presence of an allele based on a threshold derived from a naive population. See Peres et al. (2023) doi:10.1093/nar/gkad603.
MAJOR CHANGES:
- Leiden Community Detection: Added support for Leiden algorithm as an alternative to hierarchical clustering. Use
clustering_method = "leiden"ininferAlleleClusters(). This is particularly useful for D and J segments with variable-length sequences. - Generalized Distance Functions: The new
igDistance()function supports multiple distance calculation methods: - "decipher": DECIPHER-based distance (default, best for aligned V segments)
- "hamming": Hamming distance (requires equal-length sequences)
- "lv": Levenshtein distance (handles variable-length sequences, good for D/J)
- Multi-locus Support:
inferAlleleClusters()now explicitly supports all V/D/J segments with thelocusparameter. - New Visualization Functions:
Show all changes in 1.2.0Hide the rest of the changes in 1.2.0
plotTruncatedTree(): Publication-quality circular tree with collapsed subgroupsplotCommunityNetwork(): Network visualization of cluster relationshipsplotSilhouetteOptimization(): Resolution parameter optimization plotplotClusterComparison(): Compare hierarchical and Leiden clustering results
CLASS SYSTEM CHANGES:
- S4 to S3 Migration:
GermlineClusteris now an S3 class instead of S4. - Access slots with
$instead of@(e.g.,result$alleleClusterTable) - Added
print(),summary(), andplot()S3 methods - New slots:
clusteringMethod,communityObject,graphObject,distanceMatrix,silhouetteScore,resolutionParameter,locus
API CHANGES:
ighvDistance()is deprecated in favor ofigDistance()(backward compatible wrapper provided)ighvClust()is deprecated in favor ofigClust()(backward compatible wrapper provided)inferAlleleClusters()has new parameters but maintains backward compatibility
DEPENDENCIES:
- Added:
igraph,stringdist,cluster,ape - Moved to Suggests:
ComplexHeatmap,dplyr,ggtree - Removed from Imports:
dplyr(replaced withdata.tableoperations)
MINOR CHANGES:
- Improved CRAN compliance with proper
AuthorandMaintainerfields - Added test suite using
testthat(edition 3) - Redesigned Shiny app with modular architecture
- Added Conda recipe for bioconda distribution
BUG FIXES:
- Fixed deprecated
dplyr::between()calls - Fixed deprecated
dplyr::bind_rows()calls - Replaced deprecated S4 slot access patterns
From NEWS.md in the release
Install
Health
ERRORpackage dependenciesr-oldrel-macos-arm64
Package required but not available: ‘DECIPHER’ See section ‘The DESCRIPTION file’ in the ‘Writing R Extensions’ manual.
- ERROR12 OK, 1 ERRORNow
- ERROR12 OK, 2 ERROR2026-03-10
Documentation
- Help pages
- 44 (6 internal)includes a package overview page
- Examples that run
- 63%12 run in a plain check · 7 only when donttest examples are enabled (R CMD check --as-cran)
- Exported functions with examples
- 66%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 11%
Downloads
Dependencies
Installing piglet adds 80 packages (46 with compiled code, 81 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB. 4 more not on CRAN are not measured.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- unarchivedReturned to CRAN2026-02-17
- 1.2.0Latest2026-02-17 · current release · diff ↗ ·
added 10 exports
detect_communities_leiden, distance_to_graph, igClust, igDistance, new_germline_cluster, optimize_resolution, plotClusterComparison, plotCommunityNetwork, plotSilhouetteOptimization, plotTruncatedTree - archivedRemoved from CRAN2025-04-23issues were not corrected in time Claims OpenMP is not available when it is
- RR 4.5.0 released · 2025-04-11
- unarchivedReturned to CRAN2025-04-09
- 1.0.72025-04-09 · diff ↗ ·
added 10 exports
alleleClusterNames, allele_diff, allele_diff_indices, allele_diff_indices_parallel, allele_diff_indices_parallel2, allele_diff_strings, ighvClust, ighvDistance, inferGenotypeAllele_asc, insert_gaps2_vec - RR 4.4.0 released · 2024-04-24
- archivedRemoved from CRAN2023-11-01check problems were not corrected in time
- unarchivedReturned to CRAN2023-08-16
- 1.0.12023-08-16 · diff ↗
- archivedRemoved from CRAN2023-06-27issues were not corrected in time Does not use suggested package 'ggmsa' conditionally Does not check Internet sites are accessible
- 1.0.02023-06-13
- RR 4.3.0 released · 2023-04-21
Package metadata
- First published
- 2023-06-13
- Total releases
- 4 / 3 yrs
- License
- CC BY-SA 4.0
- Minimum R
- ≥ 3.5.0
- Bundled data
- 38 KB / 4 files
- Download size
- 955 KB
Cite
Cite this package
Run in R for the authors' entry:
citation("piglet")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.1093/nar/gkad603.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-19, which the citation names so these numbers can be found later. More on citing and the projects behind them.