tTEscanR, is a powerful and user-friendly R-based package designed to quantify translation efficiency from bulk and single-cell sequencing data. tTEscanR offers a comprehensive approach to integrate gene expression data and chromatin accessibility data. The modular design of tTEscanR ensures flexibility, allowing users to either run independent components or a complete pipeline based on their research needs. tTEscanR has a user-friendly R-based interface that simplifies the analysis of complex data, even for researchers with minimal computational experience.
Additionally, tTEscanR includes an advanced visualization module that generates high-quality plots, aiding in interpretation of results and enhancing the ability to communicate findings effectively. Applicable to both bulk and single-cell sequencing data, tTEscanR provides a versatile tool for a wide range of experimental setups and biological contexts, enabling deeper exploration of translation efficiency and its role in cellular processes, disease mechanisms, and therapeutic development.
Key features:
The tTEscanR source code is entirely written in R. The latest full distribution release can be downloaded from GitHub:
if (!requireNamespace("BiocManager", quietly = TRUE)) {
install.packages("BiocManager")
}
BiocManager::install("tTEscanR")
library(tTEscanR)
The input data for tTEscanR should be preprocessed according to the steps described in Gao et al., 2022 or any custom pipeline to obtain feature expression count matrices. Both mRNA and tRNA data must be provided as matrices with features (mRNA transcripts or tRNA genes) as rows and conditions (e.g., model and replicate in bulk datasets or tissue and cell type in single-cell datasets) as columns. Additionally, a metadata table should be provided for proper integration of the data. Some functions are integrated into the preprocessing module for convenience.
The tTEscanR package provides a structured framework for analyzing codon-anticodon pools in the context of translation efficiency.
| Category | Function | Description |
|---|---|---|
| tTEscanR object definition | createObject() |
Initializes a tTEscanR object to store analysis data. |
updateObject() |
Modifies or extends an existing tTEscanR object. | |
| Codon-anticodon usage assessment | computeCodonUsage() |
Calculates codon usage by matrix multiplication of mRNA expression data with codon frequency tables. |
computeAnticodonUsage() |
Determines anticodon usage by aggregating tRNA expression data at the anticodon level. | |
| Amino acid level assessment | computeAAUsage() |
Computes amino acid demand (from codon usage) and supply (from anticodon usage), either separately or together. |
| tTE computation | computeTheoreticalTE() |
Calculates Theoretical Translation Efficiency (tTE) by correlating amino acid demand and supply across matched conditions. |
| Single execution | runPipeline() |
Uses all the functions listed above to compute the (i) codon-anticodon usage, (ii) amino acid supply-demand ratios, and (iii) theoretical translation efficiency. |
The tTEscanR package includes helper functions to support specific steps of the analysis. These functions are organized into modules and can be used independently or as part of the core functions described above.
| Module | Function | Description |
|---|---|---|
| General preprocessing | mergeMatrices() |
Effectively combines matrices. |
groupConditions() |
Aggregates the individual columns into conditions based on a reference metadata. | |
featuresToAA() |
Translates based on a specified genetic codes codons and/or anticodons to amino acids. | |
| tRNA preprocessing | tRNGetAMatrix() |
Extracts and structures tRNA expression data from various sources. |
tRNASetGenes() |
Translates the tRNA cut coordinates to their corresponding tRNA gene names. | |
tRNASetCutoff() |
Identifies a dataset-specific cutoff to select the low tRNA abundance cutoff. | |
tRNAFilterCuts() |
Filters out conditions with low tRNA abundance to ensure data quality. | |
| Codon frequency reference | getCodonFreq() |
Retrieves reference genomes and computes codon frequency per gene matrices. |
extractCodons() |
Analyzes codon composition from a given DNA sequence set. | |
| Additional metrics | computeMeanUsage() |
Computes the feature's usage across conditions. |
computeExonicBackground() |
Computes the baseline codon/anticodon usage regardless of the expression levels. | |
getCorrelationBackground() |
Correlates the mean usage against the background. | |
showPoolContribution() |
Examines the contribution of the top features to the overall codon usage. |
library(tTEscanR)
data(mRNA_data, tRNA_data, metadata)
# Adding the mRNA and tRNA datasets and the metadata to the object
tTEscanR_obj <- createObject(counts = list(mRNA_data, tRNA_data),
assay = list("mRNA", "tRNA"),
meta.data = list(metadata, "tissue"),
meta.data.ids = list("ConditionsLabels", "CorrectionFactor"))
# Adding extra information to the object
matching_celltypes <- union(colnames(mRNA_data), colnames(tRNA_data))
tTEscanR_obj <- updateObject(object = tTEscanR_obj,
meta.data = list(matching_celltypes),
meta.data.ids = list("matching_celltypes"),
overwrite = TRUE)
# Compute codon usage with default hg38 canonical codon frequency per gene table.
tTEscanR_obj <- computeCodonUsage(object = tTEscanR_obj,
codon_freq = NULL,
species = "hg38",
additional_metrics = TRUE)
tTEscanR_obj <- computeAnticodonUsage(object = tTEscanR_obj)
# The both parameter allows to perform at the same time the AA demand and supply assessment
tTEscanR_obj <- computeAAUsage(object = tTEscanR_obj, level = "both")
tTEscanR_obj <- computeTheoreticalTE(object = tTEscanR_obj, level = "both")
During the development of this package, generative AI tools (specifically ChatGPT and Gemini) were utilized to optimize specific code implementations and to assist in designing robust test cases for core functions. All AI-assisted code and unit tests were thoroughly reviewed, manually verified, and validated by the authors to ensure technical accuracy and compliance with Bioconductor standards.
Varas-Sánchez A, Gallardo-Dodd CJ, Li Q, Gao W, Ringnér M, Kutter C. tTEscanR: A user-friendly integrative R package for quantifying and visualizing translation efficiency from sequencing data in diverse biological systems. bioRxiv. 2026;2026.09.08.750101. doi:10.64898/2026.09.08.750101
Gao W, Gallardo-Dodd CJ, Kutter C. Cell type-specific analysis by single-cell profiling identifies a stable mammalian tRNA-mRNA interface and increased translation efficiency in neurons. Genome Res. 2022;32(1):97-110. doi:10.1101/gr.275944.121