out_type <- knitr::opts_knit$get("rmarkdown.pandoc.to") r = getOption("repos") r["CRAN"] = "https://cran.rstudio.com/" #r["CRAN"] = "https://cloud.r-project.org/" #r["CRAN"] = "https://ftp.iitm.ac.in/cran/" options(repos = r)
switch(out_type, html = {cat("<p>1. Division of Germplasm Conservation, ICAR-National Bureau of Plant Genetic Resources, New Delhi.</p> <p>2. Division of Genetics, ICAR-Indian Agricultural Research Institute, New Delhi.</p>")}, latex = cat("\\begin{center} 1. Division of Germplasm Conservation, ICAR-National Bureau of Plant Genetic Resources, New Delhi. 2. Division of Crop Physiology, ICAR-Indian Agricultural Research Institute, New Delhi. \\end{center}" ) )
\begin{center} \vspace{6pt} \hrule \end{center}
knitr::opts_chunk$set(echo = TRUE) library(readxl) # x <- read_excel("vignettes/Tables.xlsx", sheet = "Approx.methods", col_names = TRUE) rmeltingtables <- function(file, sheet, def="default", code="Formula", ref = "Reference") { if (requireNamespace("readxl", quietly = TRUE)) { x <- read_excel(path = file, sheet = sheet, col_names = TRUE) x[,code] <- paste0("`", unlist(x[,code]), "`", sep = "") if (!is.null(def)) { ind <- which(is.na(x[,def]) %in% FALSE) x[ind,code] <- paste0(unlist(x[ind,code]), unlist(x[ind,def]), sep = "") rm(ind) } x[, def] <- NULL x[, ref] <- gsub("\\[|\\]", "", unlist(x[, ref])) x[, ref] <- gsub(";", ",", unlist(x[, ref])) x[, "Limits/Remarks"] <- gsub("(\\\\code\\{)(.+)(\\})", "`\\2`", unlist(x[, "Limits/Remarks"])) # x <- data.frame(x) pander::pander(x, style = 'multiline', split.cell = c(13, 10, 20, 20), justify = c('left'), split.table = Inf, keep.line.breaks = FALSE, use.hyphening = FALSE, missing = "") } else { print("Package 'readxl' is required to generate this table.") } }
\tableofcontents
\begin{wrapfigure}{r}{0.35\textwidth}
\vspace{-10pt}
\begin{center}
\includegraphics[width=0.33\textwidth]{r system.file("extdata", "rmelting.png", package = "rmelting")
}
\end{center}
\vspace{-10pt}
\end{wrapfigure}
The R
package rmelting
is an interface to the MELTING 5 program [@le_novere_melting_2001; @dumousseau_melting_2012] to compute melting temperatures of nucleic acid duplexes (DNA/DNA, DNA/RNA, RNA/RNA or 2'-O-MeRNA/RNA) along with other thermodynamic parameters such as hybridisation enthalpy and entropy.
Melting temperatures are computed by Nearest-neighbour methods for short sequences or approximative estimation formulae for long sequences. Apart from these, multiple corrections are available to take into account the presence of Cations (Na, Tris, K and Mg) or denaturing agents (DMSO and formamide).
The package can be installed from Bioconductor as follows.
if (!"BiocManager" %in% rownames(installed.packages())) install.packages("BiocManager") BiocManager::install("rmelting")
The development version can be installed from github as follows.
if (!require('devtools')) install.packages('devtools') devtools::install_github("aravind-j/rmelting")
Then the package can be loaded as follows.
library(rmelting)
Melting temperatures are computed in rmelting
through the core function melting
which takes a number of arguments (see ?melting
). The following are the essential arguments which are mandatory for computation.
sequence
Table 1: Recognized sequences
if (requireNamespace("readxl", quietly = TRUE)) { ntides <- read_excel("Tables.xlsx", sheet = "MELTING", col_names = TRUE) knitr::kable(ntides) } else { print("Package 'readxl' is required to generate this table.") }
Comp.sequence
sequence
. Self-complementarity in sequence
is detected even though there may be (are) dangling end(s) and comp.sequence
is computed.nucleic.acid.conc
Na.conc, Mg.conc, Tris.conc, K.conc
hybridisation.type
Table 2: Hybridisation type options
if (requireNamespace("readxl", quietly = TRUE)) { hybtype <- read_excel("Tables.xlsx", sheet = "HybType", col_names = TRUE) hybtype$Option <- paste("`", hybtype$Option, "`", "") knitr::kable(hybtype) } else { print("Package 'readxl' is required to generate this table.") }
With these arguments, the melting temperature can be computed as follows.
melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1)
Only the melting temperature is given as a console output. However, the output can be assigned to an object which contains the details of the environment, options and the thermodynamics results as a list.
# Get output as list out <- melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1) # Environment output out$Environment # Options used out$Options # Thermodynamics results out$Results
The command for the MELTING 5 java version is saved as an attribute in the list out
and can be retrieved as follows.
# Command for MELTING 5 attributes(out)$command
Melting temperature is computed by either approximative or nearest neighbour methods according to the length of the oligonucleotide sequences. For longer sequences (longer than the threshold value, the threshold value set by size.threshold
with the default value 60) approximative method is used, while for others, nearest neighbour method is used.
The approximative method for computation can be specified by the argument method.approx
. The available methods are given in Table 3.
Table 3: Details of approximative methods
rmeltingtables(file = "Tables.xlsx", sheet = "Approx.methods", def = "default", code = "Formula", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:TCTAATGTGCTGTTAGATGTATCCAGAGATAGCCGAGCATAAACTTCAACACACGAGACGTTGATTGGATTTAACCATAG |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| DNA:AGATTACACGACAATCTACATAGGTCTCTATCGGCTCGTATTTGAAGTTGTGTGCTCTGCAACTAACCTAAATTGGTATC RNA:UUAAUCUCCGUCAUCUUUAAGCCGUGGAGAGACUGUAGACUUGAACAGGGGUAAGCGGAGGCACGUAGGAUUCACAUCAU |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| RNA:AAUUAGAGGCAGUAGAAAUUCGGCACCUCUCUGACAUCUGAACUUGUCCCCAUUCGCCUCCGUGCAUCCUAAGUGUAGUA DNA:TCTAATGTGCTGTTAGATGTATCCAGAGATAGCCGAGCATAAACTTCAACACACGAGACGTTGATTGGATTTAACCATAG |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| RNA:AGAUUACACGACAAUCUACAUAGGUCUCUAUCGGCUCGUAUUUGAAGUUGUGUGCUCUGCAACUAACCUAAAUUGGUAUC
# Long Nucleotide sequence DNAseq <- c("TCTAATGTGCTGTTAGATGTATCCAGAGATAGCCGAGCATAAACTTCAACACACGAGACGTTGATTGGATTTAACCATAG") RNAseq <- c("UUAAUCUCCGUCAUCUUUAAGCCGUGGAGAGACUGUAGACUUGAACAGGGGUAAGCGGAGGCACGUAGGAUUCACAUCAU") # Approximative method - default (DNA/DNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1) # Approximative method - wetdna91 (DNA/DNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.approx = "wetdna91") # Approximative method - ahs01 (DNA/DNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.approx = "ahs01") # Approximative method - che93 (DNA/DNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.approx = "che93") # Approximative method - che93corr (DNA/DNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.approx = "che93corr") # Approximative method - schdot (DNA/DNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.approx = "schdot") # Approximative method - owe69 (DNA/DNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.approx = "owe69") # Approximative method - san98 (DNA/DNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.approx = "san98") # Approximative method - default (RNA/RNA) melting(sequence = RNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "rnarna", Na.conc = 1) # Approximative method - wetrna91 (RNA/RNA) melting(sequence = RNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "rnarna", Na.conc = 1, method.approx = "wetrna91") # Approximative method - wetdnarna91 (DNA/RNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnarna", Na.conc = 1) # Approximative method - wetdnarna91 (DNA/RNA) melting(sequence = DNAseq, nucleic.acid.conc = 2e-06, hybridisation.type = "dnarna", Na.conc = 1, method.approx = "wetdnarna91")
The nearest neighbour model for computation in case of perfectly matching sequences can be specified by the argument method.nn
. The available methods are given in Table 4.
Table 4: Details of nearest neighbour methods for perfectly matching sequences
rmeltingtables(file = "Tables.xlsx", sheet = "NN.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:CAGTGAGACAGCAATGGTCG |||||||||||||||||||| DNA:GTCACTCTGTCGTTACCAGC RNA:CAGUGAGACAGCAAUGGUCG |||||||||||||||||||| RNA:GUCACUCUGUCGUUACCAGC DNA:CAGTGAGACAGCAATGGTCG |||||||||||||||||||| RNA:GUCACUCUGUCGUUACCAGC
# Nearest neighbour method - default (DNA/DNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1) # Nearest neighbour method - all97 (DNA/DNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "all97") # Nearest neighbour method - bre86 (DNA/DNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "bre86") # Nearest neighbour method - san04 (DNA/DNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "san04") # Nearest neighbour method - san96 (DNA/DNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "san96") # Nearest neighbour method - sug96 (DNA/DNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "sug96") # Nearest neighbour method - tan04 (DNA/DNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "tan04") # Nearest neighbour method - default (RNA/RNA: No Self-Complimentarity) melting(sequence = "CAGUGAGACAGCAAUGGUCG", nucleic.acid.conc = 2e-06, hybridisation.type = "rnarna", Na.conc = 1) # Nearest neighbour method - xia98 (RNA/RNA: No Self-Complimentarity) melting(sequence = "CAGUGAGACAGCAAUGGUCG", nucleic.acid.conc = 2e-06, hybridisation.type = "rnarna", Na.conc = 1, method.nn = "xia98") # Nearest neighbour method - fre86 (RNA/RNA: No Self-Complimentarity) melting(sequence = "CAGUGAGACAGCAAUGGUCG", nucleic.acid.conc = 2e-06, hybridisation.type = "rnarna", Na.conc = 1, method.nn = "fre86") # Nearest neighbour method - default (mRNA/RNA: No Self-Complimentarity) melting(sequence = "CAGUGAGACAGCAAUGGUCG", nucleic.acid.conc = 2e-06, hybridisation.type = "mrnarna", Na.conc = 1) # Nearest neighbour method - tur06 (mRNA/RNA: No Self-Complimentarity) melting(sequence = "CAGUGAGACAGCAAUGGUCG", nucleic.acid.conc = 2e-06, hybridisation.type = "mrnarna", Na.conc = 1, method.nn = "tur06") # Nearest neighbour method - default (DNA/RNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnarna", Na.conc = 1) # Nearest neighbour method - sug95 (DNA/RNA: No Self-Complimentarity) melting(sequence = "CAGTGAGACAGCAATGGTCG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnarna", Na.conc = 1, method.nn = "sug95")
Self complementarity for perfect matching sequences or sequences with dangling ends is detected automatically. However it can be enforced by the argument force.self = TRUE
.
Examples
DNA:CATATGGCCATATG |||||||||||||| DNA:GTATACCGGTATAC RNA:AUGUACAU |||||||| RNA:UACAUGUA
# Nearest neighbour method - default (DNA/DNA: Self-Complimentarity) melting(sequence = "CATATGGCCATATG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1) # Nearest neighbour method - all97 (DNA/DNA: Self-Complimentarity) melting(sequence = "CATATGGCCATATG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "all97") # Nearest neighbour method - bre86 (DNA/DNA: Self-Complimentarity) melting(sequence = "CATATGGCCATATG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "bre86") # Nearest neighbour method - san04 (DNA/DNA: Self-Complimentarity) melting(sequence = "CATATGGCCATATG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "san04") # Nearest neighbour method - san96 (DNA/DNA: Self-Complimentarity) melting(sequence = "CATATGGCCATATG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "san96") # Nearest neighbour method - sug96 (DNA/DNA: Self-Complimentarity) melting(sequence = "CATATGGCCATATG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "sug96") # Nearest neighbour method - tan04 (DNA/DNA: Self-Complimentarity) melting(sequence = "CATATGGCCATATG", nucleic.acid.conc = 2e-06, hybridisation.type = "dnadna", Na.conc = 1, method.nn = "tan04") # Nearest neighbour method - default (RNA/RNA: Self-Complimentarity) melting(sequence = "AUGUACAU", nucleic.acid.conc = 2e-06, hybridisation.type = "rnarna", Na.conc = 1) # Nearest neighbour method - xia98 (RNA/RNA: Self-Complimentarity) melting(sequence = "AUGUACAU", nucleic.acid.conc = 2e-06, hybridisation.type = "rnarna", Na.conc = 1, method.nn = "xia98") # Nearest neighbour method - fre86 (RNA/RNA: Self-Complimentarity) melting(sequence = "AUGUACAU", nucleic.acid.conc = 2e-06, hybridisation.type = "rnarna", Na.conc = 1, method.nn = "fre86")
The nearest neighbour model for computation in case of sequences with GU wobble base pairs can be specified by the argument method.GU
. The available methods are given in Table 5.
Table 5: Details of methods for sequences with GU wobble base pairs
rmeltingtables(file = "Tables.xlsx", sheet = "GU.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
RNA:CCAGCGUCCU |||||||||| RNA:GGTCGCAGGA
# GU wobble base pairs effect - default (RNA/RNA) melting(sequence = "CCAGCGUCCU", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # GU wobble base pairs effect - ser12 (RNA/RNA) melting(sequence = "CCAGCGUCCU", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.GU = "ser12") # GU wobble base pairs effect - tur99 (RNA/RNA) melting(sequence = "CCAGCGUCCU", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.GU = "tur99")
The nearest neighbour model for computation in case of sequences with a single mismatch can be specified by the argument method.singleMM
. The available methods are given in Table 6.
Table 6: Details of methods for sequences with single mismatch
rmeltingtables(file = "Tables.xlsx", sheet = "singleMM.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:CAACTTGATATTAATA |||||||| ||||||| DNA:GTTGAACTCTAATTAT RNA:GACAGGCUG |||| |||| RNA:CUGUGCGAC DNA:CCATAACTACC |||| |||||| RNA:GGUAAUGAUGG
# Single mismatch effect - default (DNA/DNA) melting(sequence = "CAACTTGATATTAATA", comp.sequence = "GTTGAACTCTAATTAT", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1) # Single mismatch effect - allsanpey (DNA/DNA) melting(sequence = "CAACTTGATATTAATA", comp.sequence = "GTTGAACTCTAATTAT", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1, method.singleMM = "allsanpey") # Single mismatch effect - default (RNA/RNA) melting(sequence = "GACAGGCUG", comp.sequence = "CUGUGCGAC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Single mismatch effect - zno07 (RNA/RNA) melting(sequence = "GACAGGCUG", comp.sequence = "CUGUGCGAC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.singleMM = "zno07") # Single mismatch effect - zno08 (RNA/RNA) melting(sequence = "CAGUACGUC", comp.sequence = "GUCGGGCAG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.singleMM = "zno08") # Single mismatch effect - tur06 (RNA/RNA) melting(sequence = "GACAGGCUG", comp.sequence = "CUGUGCGAC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.singleMM = "tur06") # Single mismatch effect - default (DNA/RNA) melting(sequence = "CCATAACTACC", comp.sequence = "GGUAAUGAUGG", nucleic.acid.conc = 0.0001, hybridisation.type = "dnarna", Na.conc = 1) # Single mismatch effect - wat11 (DNA/RNA) melting(sequence = "CCATAACTACC", comp.sequence = "GGUAAUGAUGG", nucleic.acid.conc = 0.0001, hybridisation.type = "dnarna", Na.conc = 1, method.singleMM = "wat11")
The nearest neighbour model for computation in case of sequences with tandem mismatches can be specified by the argument method.tandemMM
. The available methods are given in Table 7.
Table 7: Details of methods for sequences with tandem mismatches
rmeltingtables(file = "Tables.xlsx", sheet = "tandemMM.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:GACGTTGGAC |||| |||| DNA:CTGCGGCCTG RNA:GAGCGGAG ||| ||| RNA:CUCCACUC
# Tandem mismatches effect - default (DNA/DNA) melting(sequence = "GACGTTGGAC", comp.sequence = "CTGCGGCCTG", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1) # Tandem mismatches effect - allsanpey (DNA/DNA) melting(sequence = "GACGTTGGAC", comp.sequence = "CTGCGGCCTG", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1, method.tandemMM = "allsanpey") # Tandem mismatches effect - default (RNA/RNA) melting(sequence = "GAGCGGAG", comp.sequence = "CUCCACUC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Tandem mismatches effect - tur06 (RNA/RNA) melting(sequence = "GAGCGGAG", comp.sequence = "CUCCACUC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.tandemMM = "tur99")
The nearest neighbour model for computation in case of sequences with a single dangling end can be specified by the argument method.single.dangle
. The available methods are given in Table 8.
Table 8: Details of methods for sequences with single dangling end
rmeltingtables(file = "Tables.xlsx", sheet = "single.dangle.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:-GTAGCTACA |||||||| DNA:ACATCGATG- RNA:-GGCGCUG ||||||| RNA: CCGCGAC DNA:-GGCGCUG ||||||| RNA: CCGCGAC
# Single dangling end effect - default (DNA/DNA) melting(sequence = "-GTAGCTACA", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1) # Single dangling end effect - bom00 (DNA/DNA) melting(sequence = "-GTAGCTACA", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1, method.single.dangle = "bom00") # Single dangling end effect - sugdna02 (DNA/DNA) melting(sequence = "-GTAGCTACA", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1, method.single.dangle = "sugdna02") # Single dangling end effect - default (RNA/RNA) melting(sequence = "-GGCGCUG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Single dangling end effect - ser08 (RNA/RNA) melting(sequence = "-GGCGCUG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.single.dangle = "ser08") # Single dangling end effect - sugrna02 (RNA/RNA) melting(sequence = "-GGCGCUG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.single.dangle = "sugrna02")
The nearest neighbour model for computation in case of sequences with a double or secondary dangling ends can be specified by the argument method.double.dangle
. The available methods are given in Table 9.
Table 9: Details of methods for sequences with double dangling ends
rmeltingtables(file = "Tables.xlsx", sheet = "double.dangle.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:--ATGCATAA |||||| DNA:AATACGTA-- RNA:--AUGCAUAA |||||| RNA:AAUACGUA--
# Double dangling end effect - default (DNA/DNA) melting(sequence = "--ATGCATAA", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1) # Double dangling end effect - sugdna02 (DNA/DNA) melting(sequence = "--ATGCATAA", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1, method.double.dangle = "sugdna02") # Double dangling end effect - default (RNA/RNA) melting(sequence = "--AUGCAUAA", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Double dangling end effect - ser06 (RNA/RNA) melting(sequence = "--AUGCAUAA", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.double.dangle = "ser06") # Double dangling end effect - sugrna02 (RNA/RNA) melting(sequence = "--AUGCAUAA", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.double.dangle = "sugrna02") # Double dangling end effect - ser05 (RNA/RNA) melting(sequence = "--AUGCAUAA", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.double.dangle = "ser05")
The nearest neighbour model for computation in case of sequences with a double or secondary dangling ends can be specified by the argument method.long.dangle
. The available methods are given in Table 10.
Table 10: Details of methods for sequences with long dangling ends
rmeltingtables(file = "Tables.xlsx", sheet = "long.dangle.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:----GCATATGCAAAA |||||||| DNA:AAAACGTATACG---- RNA:AAAAGCAUAUGC---- |||||||| RNA:----CGUAUACGAAAA
# Long dangling end effect - default (DNA/DNA) melting(sequence = "----GCATATGCAAAA", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1) # Long dangling end effect - sugdna02 (DNA/DNA) melting(sequence = "----GCATATGCAAAA", nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1, method.long.dangle = "sugdna02") # Long dangling end effect - default (RNA/RNA) melting(sequence = "AAAAGCAUAUGC----", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Long dangling end effect - sugrna02 (RNA/RNA) melting(sequence = "AAAAGCAUAUGC----", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.long.dangle = "sugrna02")
The nearest neighbour model for computation in case of sequences with an internal loop (more than two adjacent mismatches) can be specified by the argument method.internal.loop
. The available methods are given in Table 11.
Table 11: Details of methods for sequences with internal loops
rmeltingtables(file = "Tables.xlsx", sheet = "internal.loop.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:GCGATTGGCACTTTGGTGAAC ||||| |||||||||||| DNA:CGCTACATATGAAACCACTTG RNA:GACAC-GCUG |||| |||| RNA:CUGUAUCGAC
# Internal loop effect - default (DNA/DNA) melting(sequence = "GCGATTGGCACTTTGGTGAAC", comp.sequence = "CGCTACATATGAAACCACTTG", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1) # Internal loop effect - san04 (DNA/DNA) melting(sequence = "GCGATTGGCACTTTGGTGAAC", comp.sequence = "CGCTACATATGAAACCACTTG", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1, method.internal.loop = "san04") # Internal loop effect - default (RNA/RNA) melting(sequence = "GACAC-GCUG", comp.sequence = "CUGUAUCGAC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Internal loop effect - zno07 (RNA/RNA) melting(sequence = "GACAC-GCUG", comp.sequence = "CUGUAUCGAC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.internal.loop = "zno07") # Internal loop effect - tur06 (RNA/RNA) melting(sequence = "GACAC-GCUG", comp.sequence = "CUGUAUCGAC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.internal.loop = "tur06")
The nearest neighbour model for computation in case of sequences with a single bulge loop can be specified by the argument method.single.bulge.loop
. The available methods are given in Table 12.
Table 12: Details of methods for sequences with single bulge loop
rmeltingtables(file = "Tables.xlsx", sheet = "single.bulge.loop.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:TCGATTAGCGACACAGG |||||||| |||||||| DNA:AGCTAATC-CTGTGTCC RNA:GACUCUGUC |||| |||| RNA:CUGA-ACAG
# Single bulge loop effect - default (DNA/DNA) melting(sequence = "TCGATTAGCGACACAGG", comp.sequence = "AGCTAATC-CTGTGTCC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1) # Single bulge loop effect - tan04 (DNA/DNA) melting(sequence = "TCGATTAGCGACACAGG", comp.sequence = "AGCTAATC-CTGTGTCC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1, method.single.bulge.loop = "tan04") # Single bulge loop effect - san04 (DNA/DNA) melting(sequence = "TCGATTAGCGACACAGG", comp.sequence = "AGCTAATC-CTGTGTCC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1, method.single.bulge.loop = "san04") # Single bulge loop effect - default (RNA/RNA) melting(sequence = "GACUCUGUC", comp.sequence = "CUGA-ACAG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Single bulge loop effect - tur06 (RNA/RNA) melting(sequence = "GACUCUGUC", comp.sequence = "CUGA-ACAG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.single.bulge.loop = "tur06") # Single bulge loop effect - ser07 (RNA/RNA) melting(sequence = "GACUCUGUC", comp.sequence = "CUGA-ACAG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.single.bulge.loop = "ser07")
The nearest neighbour model for computation in case of sequences with long bulge loop can be specified by the argument method.long.bulge.loop
. The available methods are given in Table 13.
Table 13: Details of methods for sequences with long bulge loop
rmeltingtables(file = "Tables.xlsx", sheet = "long.bulge.loop.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:ATATGACGCCACAGCG ||||| |||||||| DNA:TATAC---GGTGTCGC RNA:AUAUGACGCCACAGCG ||||| |||||||| RNA:UAUAC---GGUGUCGC
# Long bulge loop effect - default (DNA/DNA) melting(sequence = "ATATGACGCCACAGCG", comp.sequence = "TATAC---GGTGTCGC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1) # Long bulge loop effect - san04 (DNA/DNA) melting(sequence = "ATATGACGCCACAGCG", comp.sequence = "TATAC---GGTGTCGC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1, method.long.bulge.loop = "san04") # Long bulge loop effect - default (RNA/RNA) melting(sequence = "AUAUGACGCCACAGCG", comp.sequence = "UAUAC---GGUGUCGC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Long bulge loop effect - tur06 (RNA/RNA) melting(sequence = "AUAUGACGCCACAGCG", comp.sequence = "UAUAC---GGUGUCGC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.long.bulge.loop = "tur06")
The nearest neighbour model for computation in case of sequences with CNG repeats can be specified by the argument method.CNG
. The available methods are given in Table 14.
Table 14: Details of methods for sequences with CNG repeats
rmeltingtables(file = "Tables.xlsx", sheet = "CNG.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
RNA:GCGGCGGCGGC ||||||||||| RNA:CGCCGCCGCCG
# CNG repeats effect - default (RNA/RNA) melting(sequence = "GCGGCGGCGGC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # CNG repeats effect - bro05 (RNA/RNA) melting(sequence = "GCGGCGGCGGC", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.CNG = "bro05")
The nearest neighbour model for computation in case of sequences with inosine bases (I) can be specified by the argument method.inosine
. The available methods are given in Table 15.
Table 15: Details of methods for sequences with inosine bases
rmeltingtables(file = "Tables.xlsx", sheet = "inosine.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
DNA:CCGICTGTIGCG ||| |||| ||| DNA:GGCCGACACCGC RNA:GCAICGC ||| ||| RNA:CGUUGCG
# Inosine bases effect - default (DNA/DNA) melting(sequence = "CCGICTGTIGCG", comp.sequence = "GGCCGACACCGC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1) # Inosine bases effect - san05 (DNA/DNA) melting(sequence = "CCGICTGTIGCG", comp.sequence = "GGCCGACACCGC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1, method.inosine = "san05") # Inosine bases effect - default (RNA/RNA) melting(sequence = "GCAICGC", comp.sequence = "CGUUGCG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1) # Inosine bases effect - zno07 (RNA/RNA) melting(sequence = "GCAICGC", comp.sequence = "CGUUGCG", nucleic.acid.conc = 0.0001, hybridisation.type = "rnarna", Na.conc = 1, method.inosine = "zno07")
The nearest neighbour model for computation in case of sequences with hydroxyadenine bases can be specified by the argument method.hydroxyadenine
. The available methods are given in Table 16.
Table 16: Details of methods for sequences with hydroxyadenine bases
rmeltingtables(file = "Tables.xlsx", sheet = "hydroxyadenine.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
* DNA:AGAAATGACACGGTG ||||||||||||||| DNA:TCTTTACCGTGCCAC
# Hydroxyadenine bases effect - default (DNA/DNA) melting(sequence = "AGAAATGA*CACGGTG", comp.sequence = "TCTTTACCGTGCCAC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1) # Hydroxyadenine bases effect - sug01 (DNA/DNA) melting(sequence = "AGAAATGA*CACGGTG", comp.sequence = "TCTTTACCGTGCCAC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1, method.hydroxyadenine = "sug01")
The nearest neighbour model for computation in case of sequences with azobenzenes (X_T for trans azobenzenes and X_C for cis azobenzenes) can be specified by the argument method.azobenzenes
. The available methods are given in Table 17.
Table 17: Details of methods for sequences with azobenzenes
rmeltingtables(file = "Tables.xlsx", sheet = "azobenzenes.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
C C C C C DNA:CTXTTAAXGAAGXGAGAXTATAXCC || |||| |||| |||| |||| || DNA:GA AATT CTTC CTCT ATAT GG
# Azobenzenes effect - default (DNA/DNA) melting(sequence = "CTX_CTTAAX_CGAAGX_CGAGAX_CTATAX_CCC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1) # Azobenzenes effect - asa05 (DNA/DNA) melting(sequence = "CTX_CTTAAX_CGAAGX_CGAGAX_CTATAX_CCC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1, method.azobenzenes = "asa05")
The nearest neighbour model for computation in case of sequences with locked nucleic acids can be specified by the argument method.locked
. The available methods are given in Table 18.
Table 18: Details of methods for sequences with locked nucleic acids
rmeltingtables(file = "Tables.xlsx", sheet = "locked.methods", def = "default", code = "Model", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
Examples
L DNA:CCATTGCTACC ||||||||||| DNA:GGTAACGATGG
# Locked nucleic acids effect - default (DNA/DNA) melting(sequence = "CCATTLGCTACC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1) # Locked nucleic acids effect - sug01 (DNA/DNA) melting(sequence = "CCATTLGCTACC", nucleic.acid.conc = 0.0001, hybridisation.type = "dnadna", Na.conc = 1, method.locked = "mct04")
Once the melting temperature is computed, a correction is applied to it according to the concentration of nucleic acids, cations and/or denaturing agents.
For self complementary sequences (auto detected or specified by force.self
) it is 1. Otherwise it is 4 if the both strands are present in equivalent amount and 1 if one strand is in excess.
Melting temperature is computed initially for $[\textrm{Na}^{+}]$ = 1 M, after which a correction for the presence of cations ($[\textrm{Na}^{+}]$, $[\textrm{K}^{+}]$, $[\textrm{Tris}^{+}]$ and $[\textrm{Mg}^{+}]$) is applied either directly on the computed melting temperature or on the computed entropy.
Th correction methods for cation concentration can be specified by the argument correction.ion
.
The available correction methods for sodium concentration are given in Table 19.
Table 19: Details of the corrections for sodium concentration
rmeltingtables(file = "Tables.xlsx", sheet = "na.correction", def = "default", code = "Correction", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
# Na correction - default (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069) # Na correction - owc2204 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "owc2204") # Na correction - ahs01 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "ahs01") # Na correction - kam71 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "kam71") # Na correction - marschdot (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "marschdot") # Na correction - owc1904 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "owc1904") # Na correction - owc2004 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "owc2004") # Na correction - owc2104 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "owc2104") # Na correction - san96 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "san96") # Na correction - san04 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "san04") # Na correction - schlif (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "schlif") # Na correction - tanna06 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "tanna06") # Na correction - wet91 (DNA/DNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, correction.ion = "wet91") # Na correction - default (RNA/RNA) melting(sequence = "CCAGCCAGUCUCUCC", nucleic.acid.conc = 0.000002, hybridisation.type = "rnarna", Na.conc = 0.069) # Na correction - tanna07 (RNA/RNA) melting(sequence = "CCAGCCAGUCUCUCC", nucleic.acid.conc = 0.000002, hybridisation.type = "rnarna", Na.conc = 0.069, correction.ion = "tanna07") # Na correction - wet91 (RNA/RNA) melting(sequence = "CCAGCCAGUCUCUCC", nucleic.acid.conc = 0.000002, hybridisation.type = "rnarna", Na.conc = 0.069, correction.ion = "wet91") # Na correction - default (mRNA/RNA) melting(sequence = "UACGCGUCAAUAACGCUA", nucleic.acid.conc = 0.000002, hybridisation.type = "mrnarna", Na.conc = 0.069) # Na correction - tanna07 (mRNA/RNA) melting(sequence = "UACGCGUCAAUAACGCUA", nucleic.acid.conc = 0.000002, hybridisation.type = "mrnarna", Na.conc = 0.069, correction.ion = "tanna07") # Na correction - default (DNA/RNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnarna", Na.conc = 0.069) # Na correction - wet91 (DNA/RNA) melting(sequence = "CCAGCCAGTCTCTCC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnarna", Na.conc = 0.069, correction.ion = "wet91")
The available correction methods for magnesium concentration are given in Table 20.
Table 20: Details of the corrections for magnesium concentration
rmeltingtables(file = "Tables.xlsx", sheet = "mg.correction", def = "default", code = "Correction", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
# Mg correction - default (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Mg.conc = 0.0015) # Mg correction - owcmg08 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Mg.conc = 0.0015, correction.ion = "owcmg08") # Mg correction - tanmg06 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Mg.conc = 0.0015, correction.ion = "tanmg06") # Mg correction - default (RNA/RNA) melting(sequence = "CAGCCUCGUCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "rnarna", Mg.conc = 0.0015) # Mg correction - tanmg07 (RNA/RNA) melting(sequence = "CAGCCUCGUCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "rnarna", Mg.conc = 0.0015, correction.ion = "tanmg07") # Mg correction - default (mRNA/RNA) melting(sequence = "UACGCGUCAAUAACGCUA", nucleic.acid.conc = 0.000002, hybridisation.type = "mrnarna", Mg.conc = 0.0015) # Mg correction - tanmg07 (mRNA/RNA) melting(sequence = "UACGCGUCAAUAACGCUA", nucleic.acid.conc = 0.000002, hybridisation.type = "mrnarna", Mg.conc = 0.0015, correction.ion = "tanmg07")
The available correction methods for mixed sodium magnesium concentration are given in Table 21.
Table 21: Details of the corrections for mixed sodium and magnesium concentration
rmeltingtables(file = "Tables.xlsx", sheet = "NaMg.correction", def = "default", code = "Correction", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
# Mixed Na & Mg correction - default (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, Mg.conc = 0.0015) # Mixed Na & Mg correction - owcmix08 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, Mg.conc = 0.0015, correction.ion = "owcmix08") # Mixed Na & Mg correction - tanmix07 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, Mg.conc = 0.0015, correction.ion = "tanmix07") # Mixed Na & Mg correction - default (RNA/RNA) melting(sequence = "CAGCCUCGUCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "rnarna", Na.conc = 0.069, Mg.conc = 0.0015) # Mixed Na & Mg correction - tanmix07 (RNA/RNA) melting(sequence = "CAGCCUCGUCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "rnarna", Na.conc = 0.069, Mg.conc = 0.0015, correction.ion = "tanmix07") # Mixed Na & Mg correction - default (mRNA/RNA) melting(sequence = "UACGCGUCAAUAACGCUA", nucleic.acid.conc = 0.000002, hybridisation.type = "mrnarna", Na.conc = 0.069, Mg.conc = 0.0015) # Mixed Na & Mg correction - tanmix07 (mRNA/RNA) melting(sequence = "UACGCGUCAAUAACGCUA", nucleic.acid.conc = 0.000002, hybridisation.type = "mrnarna", Na.conc = 0.069, Mg.conc = 0.0015, correction.ion = "tanmix07")
The ion correction by @owczarzy_predicting_2008 is used by default according to the $\frac{[\textrm{Mg}^{2+}]^{0.5}}{[\textrm{Mon}^{+}]}$ ratio, where $[\textrm{Mon}^{+}] = \textrm{Na}^{+}]+[\textrm{Tris}^{+}]+[\textrm{K}^{+}]$.
If,
Note that $[\textrm{Tris}^{+}]$ is about half of the total tris buffer concentration.
The available correction methods for mixed sodium magnesium concentration are given in Table 22.
Table 22: Details of the methods for computation of sodium equivalent concentration in the presence of other ions
rmeltingtables(file = "Tables.xlsx", sheet = "Naeq.methods", def = "default", code = "Correction", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
# Na equivalent concentration method - default (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, Mg.conc = 0.0015) # Na equivalent concentration method - ahs01 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, Mg.conc = 0.0015, method.Naeq = "ahs01") # Na equivalent concentration method - mit96 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, Mg.conc = 0.0015, method.Naeq = "mit96") # Na equivalent concentration method - pey00 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 0.069, Mg.conc = 0.0015, method.Naeq = "pey00")
These include melting temperature corrections for concentration of formamide and DMSO.
The available correction methods for DMSO concentration are given in Table 23.
Table 23: Details of the corrections for DMSO concentration
rmeltingtables(file = "Tables.xlsx", sheet = "DMSO.methods", def = "default", code = "Correction", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
# DMSO correction - default (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 1, DMSO.conc = 10) # DMSO correction - ahs01 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 1, DMSO.conc = 10, correction.DMSO = "ahs01") # DMSO correction - cul76 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 1, DMSO.conc = 10, correction.DMSO = "cul76") # DMSO correction - esc80 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 1, DMSO.conc = 10, correction.DMSO = "esc80") # DMSO correction - mus80 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 1, DMSO.conc = 10, correction.DMSO = "mus81")
The available correction methods for formamide concentration are given in Table 24.
Table 24: Details of the corrections for formamide concentration
rmeltingtables(file = "Tables.xlsx", sheet = "formamide.methods", def = "default", code = "Correction", ref = "Reference")
* Default method for computation. \begin{center} \vspace{2pt} \end{center}
# Formamide correction - default (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 1, formamide.conc = 0.06) # Formamide correction - bla96 (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 1, formamide.conc = 0.06, correction.formamide = "bla96") # Formamide correction - lincorr (DNA/DNA) melting(sequence = "CAGCCTCGTCGCAGC", nucleic.acid.conc = 0.000002, hybridisation.type = "dnadna", Na.conc = 1, formamide.conc = 10, correction.formamide = "lincorr")
The options in MELTING 5 command line equivalent to the arguments in rmelting
are given in Table 25.
Table 24: Arguments in rmelting
and their equivalent options in MELTING 5 command line.
options <- read_excel("Tables.xlsx", sheet = "commands", col_names = TRUE)[1:34, c(2,1)] options$`MELTING 5` <- paste("-", options$`MELTING 5`, sep = "") options$rmelting <- paste("`", options$rmelting, "`", sep = "") colnames(options) <- c("`rmelting`", "MELTING 5 (command line)") knitr::kable(options)
Melting temperature for multiple nucleic acid duplexes can be computed using the meltingBatch
function.
sequence <- c("CAAAAAG", "CAAAAAAG", "TTTTATAATAAA", "CCATCGCTACC", "CAAACAAAG", "CCATTGCTACC", "CAAAAAAAG", "GTGAAC", "AAAAAAAA", "CAACTTGATATTATTA", "CAAATAAAG", "GCGAGC", "GGGACC", "CAAAGAAAG", "CTGACAAGTGTC", "GCGAAAAGCG") meltingBatch(sequence, nucleic.acid.conc = 0.0004, hybridisation.type = "dnadna", Na.conc = 1)
Complementary sequences are computed by default, but need to be specified in case of mismatches, inosine(s) or hydroxyadenine(s) between the two strands.
seq <- c("GCAUACG", "CAGUAGGUC", "CGCUCGC", "GAGUGGAG", "GACAGGCUG", "CAGUACGUC", "GACAUCCUG", "GACCACCUG", "CAGAAUGUC", "GCGUCGC", "CGUCCGG", "GACUCUCUG", "CAGCUGGUC", "GACUAGCUG", "CUCUGCUC", "GCGUCCG", "GUCCGCG", "CGAUCAC", "GACUACCUG", "GACGAUCUG") comp.seq <- c("CGUUUGC", "GUCGGCCAG", "GCGUGCG", "CUCUUCUC", "CUGUGCGAC", "GUCGGGCAG", "CUGUUGGAC", "CUGGGGGAC", "GUCUGGCAG", "CGCUGCG", "GCUGGCC", "CUGAUAGAC", "GUCGUUCAG", "CUGAGCGAC", "GAGUUGAG", "CGCUGGC", "CUGGCGC", "GCUUGUG", "CUGAGGGAC", "CUGCCAGAC") meltingBatch(sequence = seq, comp.seq = comp.seq, nucleic.acid.conc = 0.0004, hybridisation.type = "rnarna", Na.conc = 1, method.singleMM = "tur06")
Further details about algorithm, formulae and methods are available in the MELTING 5 documentation.
rmelting
detach("package:rmelting", unload = TRUE) suppressPackageStartupMessages(library(rmelting)) cit <- citation("rmelting") # yr <- format(Sys.Date(), "%Y") # cit[1]$year <- yr # oc <- class(cit) # # cit <- unclass(cit) # attr(cit[[1]],"textVersion") <- gsub("\\(\\)", # paste("\\(", yr, "\\)", sep = ""), # attr(cit[[1]],"textVersion")) # class(cit) <- oc cit
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.