A Computational Pipeline for Entropy-Informed Detection of Emerging Viral Variants
Overview
Implements an entropy-informed pipeline for detecting emerging variants in viral amino acid sequence data, extending prior clustering-based approaches including hemagglutinin clustering methods (Li et al., 2015) doi:10.1142/9789814667944_0018. Provides a fully vectorized FASTA preprocessing toolkit covering header parsing, two-pass date and country extraction, ambiguous-residue filtering, and integer encoding under a 25-symbol amino acid alphabet. Computes per-site Shannon entropy across user-defined cumulative, sliding, or disjoint temporal partitions and clusters per-site entropy values using Gaussian mixture models via 'mclust' (Scrucca et al., 2016) doi:10.32614/RJ-2016-021. Quantifies temporal distributional shifts between partitions using the Hellinger distance (van der Vaart, 1998) doi:10.1017/CBO9780511802256, and detects temporal change points non-parametrically using energy statistics (Matteson and James, 2014) doi:10.1080/01621459.2013.849605 via 'ecp' or wild binary segmentation (Fryzlewicz, 2014) doi:10.1214/14-AOS1245 via 'HDcpDetect'. Per-site amino-acid frequency tables and entropy trajectory plots characterize sequence composition and evolutionary dynamics across time. A configurable multi-variant simulation engine generates synthetic sequence time series with known ground truth for benchmarking detection pipelines. A curated dataset of SARS-CoV-2 Variants of Concern and Variants of Interest with associated lineage and surveillance metadata is included, along with a bundled National Center for Biotechnology Information (NCBI) Spike protein sample and vignettes demonstrating the full workflow.
- Additional CRAN feedback addressed in resubmission:
- The
\dontrun{}block in thesarscov2_variantsdataset example that callsReferences$display()(which requiresDT, in Suggests) was missed in the prior audit. The block is now wrapped inif (interactive() && requireNamespace("DT", quietly = TRUE)), the CRAN-recommended pattern for examples that depend on Suggests packages and are intended for interactive use.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK5 OK2026-05-31
Documentation
- Help pages
- 23 (4 internal)includes a package overview page
- Examples that run
- 79%15 run in a plain check · 4 only when donttest examples are enabled (R CMD check --as-cran)
- Exported functions with examples
- 100%
- Documented parameters
- 95%
- Return-value docs
- 100%
- Help pages citing references
- 4% with a bibliography file
- Entropy Clustering, Hellinger Distance, and Change Point Analysis for Emerging Viral Variant Detection: A Simulation Study HTML
- NCBI SARS-CoV-2 Spike Protein Sequence Preprocessing: From Raw FASTA to an Analysis-Ready Integer-Encoded Matrix HTML
- Unsupervised Recovery of SARS-CoV-2 Variant Structure via Entropy-Driven Site Selection and PAM Clustering: Precision, Recall, and F1 Evaluation Across Wild-Type and Delta-Dominated Surveillance Periods HTML
Downloads
Repository
11 development-tooling and community-health practices detected across 7 families in the upstream repository
Checks run against github.com/vadimtyuryaev/viralentropr on 2026-10-18.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-05-31 · The repository has a site deploy workflow
pkgdown site last built 2026-05-31
Show all practicesHide 3 practices
Dependencies
Installing ViralEntropR adds 55 packages (32 with compiled code, 54 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, bslib 5.6 MB.
CRAN will archive these unless their check problems are fixed by the date shown. This package needs each one to install.
- HDcpDetectdeadline passed Oct 12
Code & Tests
Datasets
People & History
- 0.6.2Latest2026-05-30 · current release
- RR 4.6.0 released · 2026-04-24
Package metadata
- First published
- 2026-05-30
- Total releases
- 1 / 1 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 3.5.0
- Bundled data
- 46 KB / 1 file
- Download size
- 1.8 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("ViralEntropR")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
The repository also keeps a CITATION.cff.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-20, which the citation names so these numbers can be found later. More on citing and the projects behind them.