Skip to content

TmCalculator

1.1.3Package record

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

1packages depend
9.1Kdownloads / year
–test coverage
9/13flavors OK

Overview

About

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, 1965; Wetmur, 1991; Untergasser, 2012; von Ahsen, 2001), and nearest-neighbor thermodynamics (Breslauer, 1986; Sugimoto, 1996; Allawi, 1997, 1998; SantaLucia, 2004; Freier, 1986; Xia, 1998; Chen, 2012; Bommarito, 2000; Turner, 2010; Sugimoto, 1995; Peyret, 1999; SantaLucia & Peyret, 2001; Watkins & 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. Salt corrections are otherwise applied to the nearest-neighbor model (SantaLucia, 1996, 1998; Owczarzy, 2004, 2008), while each empirical GC-content formula carries the salt term it was published with; corrections for chemical conditions such as dimethyl sulfoxide and formamide apply to both. 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.

Changes in 1.1.3

The paper describing the package is published

  • **citation("TmCalculator") now returns the article rather than a generated entry.** Li J & Zhu LJ (2026), *Applied Sciences* **16**(20), 10400, <doi:10.3390/app162010400>. The DOI has also been added to URL in DESCRIPTION, so it appears on the CRAN landing page. The parameter sets taken from other studies still carry their own citations; citation() says so in its footer, and ?tm_nn lists the sources per set.

Two parameter sets renamed, old names still accepted

  • **DNA_NN_Allawi_1998 is now DNA_NN_Allawi_1997, and DNA_TMM_Bommarito_2000 is now DNA_TMM_SantaLucia_2001.** The 1.1.2 audit found both names credited the wrong paper. The Watson-Crick set is Allawi & SantaLucia (1997) Biochemistry 36:10581 Table 1, together with SantaLucia (1998) PNAS 95:1460 Table 2; the 1998 paper the old name pointed at reports internal C·T mismatches. The terminal-mismatch set is SantaLucia & Peyret (2001), WO 01/94611, Tables 2–3; Bommarito et al. (2000) is the dangling-end paper, and DNA_DE_Bommarito_2000, which does come from it, is unchanged. 1.1.2 corrected the citations but kept the names, marked as legacy identifiers. On reflection that left the misleading part in the place people actually read, since a parameter-set name is the first thing anyone cites. **No values changed.** The tables are byte-identical to 1.1.2, so no melting temperature moves. The old spellings still work and resolve to the new sets, with a warning naming the replacement and the reason. They are not listed among the accepted values, so help pages and completion show only the current names. They will be removed in a later release. ```r
Show all changes in 1.1.3Hide the rest of the changes in 1.1.3

both give the same answer; the first warns

tm_nn(seq, nn_table = "DNA_NN_Allawi_1998")

tm_nn(seq, nn_table = "DNA_NN_Allawi_1997")

```

Vignettes no longer require a suggested package

  • **Three vignette chunks called plot_genome_track() in its linear layout without checking for karyoploteR first.** That package is in Suggests, and plot_genome_track() raises an error rather than returning quietly when it is missing, so on any platform where karyoploteR is unavailable the error propagated out of knitr and failed the vignette build. This is what produced the four re-building of vignette outputs ERRORs that 1.1.1 and 1.1.2 show on the macOS check flavors, where Bioconductor has no binary for it. The Windows and Linux flavors have one, so the vignettes built there and the incoming-submission pretest, which covers only Windows and Debian, never saw it. The affected chunks are linear-full and zoom-single in genome_wide_tm_ecoli.Rmd and sensitivity-zoom in window_size_sensitivity.Rmd. Each is now conditional on requireNamespace("karyoploteR"), and prints a short note in place of the figure when it is skipped. The five circular chunks are unchanged, since the circular layout does not use karyoploteR. No package code changed, and no melting temperature changes.

From NEWS.md in the release

Install

Health

CRAN checks
3ERROR1NOTE9OK
Check messages
ERRORre-building of vignette outputsr-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-release-macos-arm64

r-oldrel-macos-arm64

Error(s) in re-building vignettes:
--- re-building ‘genome_wide_tm_ecoli.Rmd’ using rmarkdown
trying URL 'https://bioconductor.org/packages/3.22/bioc/bin/macosx/big-sur-arm64/contrib/4.5/BSgenomeForge_1.10.2.tgz'
Content type 'application/x-compressed-tar' length 832361 bytes (812 KB)
==================================================
downloaded 812 KB

trying URL 'https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/005/845/GCF_000005845.2_ASM584v2/GCF_000005845.2_ASM584v2_genomic.fna.gz'
Content type 'application/x-gzip' length 1379902 bytes (1.3 MB)
==================================================
downloaded 1.3 MB

2026-10-22 05:26:40.690 R[16136:178827] XType: Using static font registry.

Quitting from genome_wide_tm_ecoli.Rmd:358-364 [linear-full]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error:
! Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
---
Backtrace:
 
...[truncated]...
e_parallel.Rmd’

--- re-building ‘window_size_sensitivity.Rmd’ using rmarkdown
2026-10-22 05:27:00.411 R[48103:230403] XType: Using static font registry.

Quitting from window_size_sensitivity.Rmd:394-428 [sensitivity-zoom]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error:
! Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
---
Backtrace:
    ▆
 1. └─TmCalculator::plot_genome_track(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: processing vignette 'window_size_sensitivity.Rmd' failed with diagnostics:
Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
--- failed re-building ‘window_size_sensitivity.Rmd’

SUMMARY: processing the following files failed:
  ‘genome_wide_tm_ecoli.Rmd’ ‘window_size_sensitivity.Rmd’

Error: Vignette re-building failed.
Execution halted

r-oldrel-macos-x86_64

Error(s) in re-building vignettes:
--- re-building ‘genome_wide_tm_ecoli.Rmd’ using rmarkdown
trying URL 'https://bioconductor.org/packages/3.21/bioc/bin/macosx/big-sur-x86_64/contrib/4.5/BSgenomeForge_1.8.1.tgz'
Content type 'application/x-compressed-tar' length 827147 bytes (807 KB)
==================================================
downloaded 807 KB

trying URL 'https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/005/845/GCF_000005845.2_ASM584v2/GCF_000005845.2_ASM584v2_genomic.fna.gz'
Content type 'application/x-gzip' length 1379902 bytes (1.3 MB)
==================================================
downloaded 1.3 MB


Quitting from genome_wide_tm_ecoli.Rmd:358-364 [linear-full]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error:
! Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
---
Backtrace:
    ▆
 1. └─TmCalculator::plot_genome_track(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
...[truncated]...
nce_parallel.Rmd’ using rmarkdown
--- finished re-building ‘hg38_performance_parallel.Rmd’

--- re-building ‘window_size_sensitivity.Rmd’ using rmarkdown

Quitting from window_size_sensitivity.Rmd:394-428 [sensitivity-zoom]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error:
! Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
---
Backtrace:
    ▆
 1. └─TmCalculator::plot_genome_track(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: processing vignette 'window_size_sensitivity.Rmd' failed with diagnostics:
Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
--- failed re-building ‘window_size_sensitivity.Rmd’

SUMMARY: processing the following files failed:
  ‘genome_wide_tm_ecoli.Rmd’ ‘window_size_sensitivity.Rmd’

Error: Vignette re-building failed.
Execution halted

r-release-macos-arm64

Error(s) in re-building vignettes:
--- re-building ‘genome_wide_tm_ecoli.Rmd’ using rmarkdown
trying URL 'https://bioconductor.org/packages/3.23/bioc/bin/macosx/sonoma-arm64/contrib/4.6/BSgenomeForge_1.12.0.tgz'
Content type 'application/x-compressed-tar' length 833586 bytes (814 KB)
==================================================
downloaded 814 KB

trying URL 'https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/005/845/GCF_000005845.2_ASM584v2/GCF_000005845.2_ASM584v2_genomic.fna.gz'
Content type 'application/x-gzip' length 1379902 bytes (1.3 MB)
==================================================
downloaded 1.3 MB


Quitting from genome_wide_tm_ecoli.Rmd:358-364 [linear-full]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error:
! Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
---
Backtrace:
    ▆
 1. └─TmCalculator::plot_genome_track(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...[truncated]...
nce_parallel.Rmd’ using rmarkdown
--- finished re-building ‘hg38_performance_parallel.Rmd’

--- re-building ‘window_size_sensitivity.Rmd’ using rmarkdown

Quitting from window_size_sensitivity.Rmd:394-428 [sensitivity-zoom]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error:
! Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
---
Backtrace:
    ▆
 1. └─TmCalculator::plot_genome_track(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: processing vignette 'window_size_sensitivity.Rmd' failed with diagnostics:
Package 'karyoploteR' is required for linear genome plots. Install it with: BiocManager::install("karyoploteR")
--- failed re-building ‘window_size_sensitivity.Rmd’

SUMMARY: processing the following files failed:
  ‘genome_wide_tm_ecoli.Rmd’ ‘window_size_sensitivity.Rmd’

Error: Vignette re-building failed.
Execution halted
NOTEfor non-standard things in the check directoryr-devel-linux-x86_64-fedora-gcc
Found the following files/directories:
  ‘BSgenome.Ecoli.NCBI.ASM584v2’ ‘BSgenomeForge’

CRAN check page ↗

Slowest check: 12.8 min · r-devel-windows-x86_64
Status changes
  • ERROR9 OK, 1 NOTE, 3 ERRORNow
  • ERROR7 OK, 2 NOTE, 5 ERROR2026-03-21
  • NOTE12 OK, 2 NOTE2026-03-10
Advisories

none known

Documentation

In release 1.1.3
READMEYes · 467 wordsVignettesYes · 3 · dynamicNEWSYes · 100% structured · mentions 1.1.3Citation fileYes · cites a publicationWebsitenot declared in DESCRIPTION
Help pages
51 (27 internal)includes a package overview page
Examples that run
68%13 run in a plain check · 6 never run
Exported functions with examples
94%
Documented parameters
92%
Return-value docs
89%
Help pages citing references
18%

Downloads

9.1K
CRAN downloads in the past year
Rank #3,115 · ~25/day · ~761/mo
Daily download trend is not available in this view yet.
1.9K30 days
4K90 days
9.1K1 year
Compare downloads with other packages →
Also on156 r2u1 autocran

Repository

3Stars
1Forks
0Open issues
1Open PRs
0Releases
101Commits
2Commit identities
101 commits · Last activity 2026-10-05 · -25% stars, 30d
Responsiveness
How these are sampled
PRs merged (all time)
80%
Median days to close, 50 most recently updated closed issues
2
Median days to close, 50 most recently updated closed PRs
0

Stars over time

2024-04-24 · 42026-09-24 · 3
PracticesBeta

4 development-tooling and community-health practices detected across 3 families in the upstream repository

Checks run against github.com/junhuili1017/tmcalculator on 2026-10-18.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Reproducibility and dev environment (1)
data-raw/
Lint, format, editor (1)
RStudio project
How this is detected·Detection ruleset v3 (2026-09-26)

Dependencies

Declared dependencies
21 external dependencies (excludes base and recommended)

Installing TmCalculator adds 1 package (1 with compiled code, 1.8 MB of source tarballs). Heaviest: Rcpp 1.8 MB. 7 more not on CRAN are not measured.

Depends (1)
R >= 3.5
LinkingTo (1)
Enhances (0)
none
Reverse dependencies
1direct
0indirect
Imports 1
Depends, Imports or LinkingTo, most downloaded first

Datasets

People & History

People (2)
Maintainer since 1.0.0 (2019), Author
Author · added in 1.0.5
Releases (14)

Pick two releases to compare their code metrics.

  • 1.1.3Latest
    record
    2026-10-21 · current release · diff ↗ ·
    22 hours in CRAN's queue
    Listed in CRAN's incoming queue from 2026-10-20 17:40 to 2026-10-21 15:47 UTC, in 6 readings.
  • 1.1.2
    record
    2026-10-05 · diff ↗
  • 1.1.1
    record
    2026-09-21 · diff ↗
  • 1.1.0
    record
    2026-08-28 · diff ↗ ·
    removed 1 export
    gc
    added 1 export
    gc_content
  • 1.0.9
    record
    2026-08-28 · diff ↗
  • 1.0.8
    record
    2026-07-29 · diff ↗
  • 1.0.7
    record
    2026-06-25 · diff ↗ ·
    removed 1 export
    salt_correction
    added 1 export
    salt_correct
  • 1.0.6
    record
    2026-06-13 · diff ↗ ·
    removed 9 exports
    plot_circos_genome, plot_karyotype_genome, plot_linear_genome, plot_tm_genome_tracks, plot_tm_genome_tracks_interactive, plot_tm_heatmap, plot_tm_heatmap_interactive, plot_tm_karyotype_interactive, plot_tm_linear
    added 2 exports
    plot_genome_track, plot_tm
  • 1.0.5
    record
    2026-06-04 · diff ↗ ·
    removed 1 export
    plot_tm_karyotype
    added 9 exports
    compare_groups, complement_fast, integrate_granges, make_genomiccoord, plot_circos_genome, plot_karyotype_genome, plot_linear_genome, plot_tm_linear, to_genomic_ranges_fast
  • R
    R 4.6.0 released · 2026-04-24
  • 1.0.4
    record
    2026-03-20 · diff ↗ ·
    removed 10 exports
    GC, Tm_GC, Tm_NN, Tm_Wallace, c2s, check_filter, chem_correction, complement, print.TmCalculator, s2c
    added 17 exports
    chem_correct, coor_to_genomic_ranges, fa_to_genomic_ranges, gc, generate_complement, plot_tm_genome_tracks, plot_tm_genome_tracks_interactive, plot_tm_heatmap, plot_tm_heatmap_interactive, plot_tm_karyotype, plot_tm_karyotype_interactive, tm_calculate, tm_gc, tm_nn, tm_wallace, to_genomic_ranges, vec_to_genomic_ranges
  • R
    R 4.5.0 released · 2025-04-11
  • R
    R 4.4.0 released · 2024-04-24
  • R
    R 4.3.0 released · 2023-04-21
  • R
    R 4.2.0 released · 2022-04-22
  • 1.0.3
    record
    2022-02-21 · diff ↗
Show 7 earlier eventsHide 7 earlier events
  • 1.0.2
    record
    2022-01-21 · diff ↗ ·
    removed 1 export
    pattern:^[[:alpha:]]+
    added 11 exports
    GC, Tm_GC, Tm_NN, Tm_Wallace, c2s, check_filter, chem_correction, complement, print.TmCalculator, s2c, salt_correction
  • R
    R 4.1.0 released · 2021-05-18
  • 1.0.1
    record
    2020-07-31 · diff ↗
  • R
    R 4.0.0 released · 2020-04-24
  • R
    R 3.6.0 released · 2019-04-26
  • 1.0.0
    record
    2019-02-11
  • R
    R 3.5.0 released · 2018-04-23
Across CRAN, the median accepted release of the past year spent 23 hours in the queue, 90% under 11 days.How queue time is measured

Package metadata

First published
2019-02-11
Total releases
14 / 7 yrs
License
MIT + file LICENSE OSI · relicensed from GPL (>= 2) in 1.0.4
Minimum R
≥ 3.5
Bundled data
37 KB / 3 files
Download size
2.5 MB

Cite

Cite this package

Run in R for the authors' entry:

citation("TmCalculator")

The package provides a citation file, so citation() returns the authors' own entry.

It points to 10.3390/app162010400.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for TmCalculator version 1.1.3 [Data set]. HJJB, LLC. Data release v2026-10-21. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-21, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy