Genome-Wide Nucleic Acid Melting Temperature Profiling and Multi-Omics Integration

Accurate calculation of nucleic acid melting temperature (Tm) is fundamental to many molecular biology applications, and this software scales Tm analysis from individual sequences to genome‑wide thermodynamic profiling. This package extends Tm analysis from simple sequence level computation to comprehensive genome-wide thermodynamic profiling. It takes four input sources: sequence strings, a FASTA file, an installed 'BSgenome' package named by string, or a 'GRanges' carrying sequences. A 'regions' argument selects what to cover and 'window' and 'slide' set the resolution at which it is tiled. The implementation provides three Tm calculation methods: the Wallace rule (Thein & Wallace, 1986), empirical GC‑content formulas (Marmur, 1962; Schildkraut, 2010; Wetmur, 1991; Untergasser, 2012; von Ahsen, 2001), and nearest‑neighbor thermodynamics (Breslauer, 1986; Sugimoto, 1996; Allawi, 1998; SantaLucia, 2004; Freier, 1986; Xia, 1998; Chen, 2012; Bommarito, 2000; Turner, 2010; Sugimoto, 1995; Allawi, 1997; SantaLucia, 2005; Zuber, 2022; Ghosh, 2020, 2023). Nearest-neighbor parameter sets are provided for DNA, RNA and RNA/DNA hybrid duplexes. These include sets obtained by melting-temperature optimization that are fitted directly at a stated sodium concentration (Weber, 2015; Ferreira, 2019; Basilio Barbosa, 2019; Banerjee, 2020), which replace salt correction rather than being corrected; salt correction is skipped automatically when the requested condition matches the one a set was fitted at. The Zuber (2022) set additionally replaces the single terminal-AU penalty with end terms that depend on the penultimate base pair, applied automatically at both duplex ends. Parameter sets measured under molecular crowding (Ghosh, 2020, 2023) are also provided for DNA and RNA duplexes, so that duplex stability can be evaluated under cell-like rather than dilute-solution conditions. Corrections are otherwise supported for salt ions (SantaLucia, 1996, 1998; Owczarzy, 2004, 2008) and for chemical conditions such as dimethyl sulfoxide and formamide. A compiled C++ core, and task partitioning by region across 'BiocParallel' workers through a 'BPPARAM' argument, profile the human genome in 3 minutes on a six-core laptop. This package returns result as a GRanges object for interoperability with Bioconductor workflows and downstream multi-omics analyses. Data-level integration reconciles Tm windows with external multi-omics GRanges objects through overlap, nearest-feature, windowed-count, and binned-average strategies, returning a single unified GRanges object ready for downstream analysis. Visualization-level integration renders multiple feature layers as independent concentric tracks on a shared genomic axis, each retaining its native coordinate resolution. Group comparison supports Wilcoxon rank-sum and Student's t-tests with multiple available correction methods for contrasting Tm and other features across region classes.


TmCalculator

v1.1.1

Genome-wide nucleic acid melting temperature (Tm) profiling and multi-omics integration. Results are returned as GRanges objects, so Tm can be used directly as a quantitative genomic feature alongside ATAC-seq, RNA-seq, ChIP-seq and other assays.

1. install

install.packages("TmCalculator")

install dev version from github

pak::pkg_install("JunhuiLi1017/TmCalculator@dev")

2. usage and examples

Please see the vignetts for the details.

library(TmCalculator)

seqs <- to_genomic_ranges("AAAATTTTTTTCCCCCCCCCCCCCCGGGGGGGGGGGGTGTGCGCTGC")
tm_calculate(seqs, method = "tm_nn", nn_table = "DNA_NN_SantaLucia_2004", Na = 50)

3. thermodynamic parameter sets

Twenty-seven nearest-neighbor parameter sets are available, in two families.

Reference-salt sets were fitted at a single reference sodium concentration. Other conditions are reached through the salt_method correction formulas.

Duplex Sets
DNA/DNA DNA_NN_Breslauer_1986, DNA_NN_Sugimoto_1996, DNA_NN_Allawi_1998, DNA_NN_SantaLucia_2004 (default)
RNA/RNA RNA_NN_Freier_1986, RNA_NN_Xia_1998, RNA_NN_Chen_2012
RNA/DNA RNA_DNA_NN_Sugimoto_1995

Condition-specific sets were fitted directly at the sodium concentration shown, by melting-temperature optimization. They are intended to replace salt correction rather than be corrected. When the requested Na matches the concentration a set was fitted at, salt correction is skipped automatically; when it does not, the correction is applied with a warning.

Duplex Sets Fitted at
DNA/DNA DNA_NN_Weber_2015 1020 mM
DNA/DNA DNA_NN_Weber_OW04_69 / _119 / _220 / _621 / _1020 69–1020 mM
RNA/RNA RNA_NN_Weber_VIF_71 / _121 / _221 / _621 / _1021 71–1021 mM
RNA/RNA RNA_NN_Weber_FIF_71 / _121 / _221 / _621 / _1021 71–1021 mM
RNA/DNA RNA_DNA_NN_Weber_2019_FT, RNA_DNA_NN_Weber_2019_VH 1000 mM
RNA/DNA RNA_DNA_NN_Weber_2019_LS 100 mM

For RNA, the VIF (variable initiation factors) sets gave better cross-validation than FIF. For RNA/DNA hybrids at high salt, ..._FT was the best-performing set in the source study.

# Fitted at 100 mM, so no salt correction is applied on top of it
res <- tm_calculate(seqs, method = "tm_nn",
                    nn_table = "RNA_DNA_NN_Weber_2019_LS", Na = 100)
res$options[["Salt correction applied"]]                    # FALSE
res$options[["Parameter set fitted at [Na+] (mM)"]]         # 100

Pick the set whose fitted salt is closest to your experimental condition rather than correcting a distant one. See ?tm_nn for the full list and citations.

4. launch an R shiny application

using R function TmCalculatorShiny::TmCalculator_shiny()

5. citation

If you use the melting-temperature-optimized parameter sets, please also cite the source studies:

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("TmCalculator")

1.1.1 by Junhui Li, 13 days ago


Report a bug at https://github.com/JunhuiLi1017/TmCalculator/issues


Browse source code at https://github.com/cran/TmCalculator


Authors: Junhui Li [cre, aut] , Lihua Julie Zhu [aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports BiocGenerics, Biostrings, GenomeInfoDb, GenomicRanges, BiocParallel, IRanges, Rcpp, S4Vectors, graphics, grDevices, methods

Suggests BSgenome, testthat, knitr, rmarkdown, remotes, BiocManager, BSgenomeForge, karyoploteR, ggplot2, ggridges, ggforce, ps

Linking to Rcpp


Imported by ProbeDeveloper.


See at CRAN