Genomic Random Interval (GRIN)
Overview
Implements the Genomic Random Interval (GRIN) framework for identifying genomic loci affected by genomic lesions more frequently than expected by chance. Supports multiple lesion classes, lesion constellation analysis, exon-level target-size modeling, genomic lesion visualization, and gene-level association analyses linking genomic lesions or gene expression with binary and time-to-event clinical outcomes. Includes tools for retrieving versioned GRCh38 Ensembl gene, exon, and regulatory-element annotations. The statistical framework is described in Pounds et al. (2013) doi:10.1093/bioinformatics/btt372.
New features
- Added exon-level target-size modeling to
grin.stats()for user-selected lesion types through the newexons.annotation,exon.chrom.size, andexon_levelarguments. Lesion types not selected for exon-level modeling continue to use conventional gene- and chromosome-level target sizes, allowing both approaches to be used in the same analysis. - Added
grin.logRank()for gene-level association analyses between genomic lesion groups and time-to-event outcomes using gene-by-subject lesion-group matrices, such as those generated byprep.lsn.type.matrix(). This function complements the existinggrin.assoc.lsn.outcome()workflow for binary gene-lesion matrices generated byprep.binary.lsn.mtx()to evaluate associations with binary and time-to-event outcomes through logistic regression and Cox proportional hazards models, respectively. - Added
grin.assoc.expr.outcome()for gene-level association analyses between gene expression and clinical outcomes. The function fits Cox proportional hazards models for time-to-event outcomes and logistic regression models for binary outcomes, with optional covariate adjustment.
Improvements
- Updated the
grin.stats()pipeline so that selected lesion types can be modeled using the annotated exon target size of each gene together with the total annotated exonic target size of the corresponding chromosome. This approach is especially useful when analyses are restricted to protein-altering exonic variants, such as missense, nonsense, and coding frameshift variants, and for studies based on whole-exome sequencing. Other lesion types can continue to use conventional gene- and chromosome-level target sizes within the same analysis. - Updated
get.ensembl.annotation()to retrieve versioned, pre-generated GRCh38 Ensembl annotation bundles containing gene, exon, and regulatory-element annotations. Downloaded resources can be cached locally, are verified using MD5 checksums, and are reused when valid, reducing dependence on live Ensembl BioMart availability and improving reproducibility. - Updated
lsn.transcripts.plot()to support flexible gene-centered and user-defined regional plots, transcript selection and labeling, improved rendering of point-like and interval-like lesions, refined track layout and alignment, customizable lesion colors, and expanded plotting controls. - Updated
onco.print.props()to preserve user-specified color palettes. - Updated
grin.oncoprint.mtx()to use Ensembl gene IDs when gene symbols are unavailable, preserve user-specified gene order, and ensure unique gene labels in OncoPrint matrices. - Updated
write.grin.xlsx()to exclude thegene.lsn.dataworksheet, reducing workbook size and improving export performance. - Standardized and clarified the
expr.mtxdocumentation across expression-analysis functions, including the expected gene-by-subject orientation, identifier requirements, and numeric expression-value requirements.
Show all changes in 2.1.0Hide the rest of the changes in 2.1.0
Data and annotations
- Added the package data objects
grin.results,example_exon_annotation, andhg38_exon_chrom_sizeto support examples of transcript visualization and exon-level GRIN analysis.
Bug fixes
- Improved the constellation-analysis workflow by updating
p.order()to handle single-column inputs correctly, preventing errors when a lesion dataset contains only one lesion type.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK14 OK2026-03-10
Documentation
- Help pages
- 42
- Examples that run
- 97%32 run in a plain check · 1 never run
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 69%
Downloads
Repository
Stars over time
Checks run against github.com/abdel-elsayed87/grin2 on 2026-10-11.
No development-tooling practices detected in the upstream repository.
Dependencies
Installing GRIN2 adds 32 packages (15 with compiled code, 28 MB of source tarballs). Heaviest: ggplot2 6.0 MB, data.table 5.7 MB, circlize 2.4 MB.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- 2.1.0Latest
- RR 4.6.0 released · 2026-04-24
- 2.0.02025-06-17 · diff ↗
- RR 4.5.0 released · 2025-04-11
- 1.02024-11-19
- RR 4.4.0 released · 2024-04-24
Package metadata
- First published
- 2024-11-19
- Total releases
- 3 / 2 yrs
- License
- GPL (>= 3) OSI
- Minimum R
- ≥ 4.2.0
- Bundled data
- 444 KB / 10 files
- Download size
- 664 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("GRIN2")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
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.