Galtier & Lobry (1997) JME 44:632
This page allows for the on-line reproduction of the figures
in the paper:
Galtier, N. ,
Lobry, J.R.
(1997)
Relationships between genomic G+C content, RNA secondary structures, and optimal growth temperature in prokaryotes.
Journal of Molecular Evolution , 44 :632-636.
[DATASET ]
[
PDF ]
Abstract: G:C pairs are more stable than A:T pairs because they have an additional hydrogen bond. This has led to many studies on the correlation between the guanine+cytosine (G+C) content of nucleic acids and temperature over the last 20 years. We collected the optimal growth temperatures (Topt) and the G+C contents of genomic DNA; 23S, 16S, and 5S ribosomal RNAs; and transfer RNAs for 764 prokaryotic species. No correlation was found between genomic G+C content and Topt, but there were striking correlations between the G+C content of ribosomal and transfer RNA stems and Topt. Two explanations have been proposed-neutral evolution and selection pressure-for the approximate equalities of G and C (respectively, A and T) contents within each strand of DNA molecules. Our results do not support the notion that selection pressure induces complementary oligonucleotides in close proximity and therefore numerous secondary structures in prokaryotic DNA, as the genomic G+C content does not behave in the same way as that of folded RNA with respect to optimal growth temperature.
#
# Figure 1b
#
path <- "/ftp/ftpdir/pub/datasets/JME97"
data <- read.table( paste(path, "tRNA.txt", sep = "/"),
col.names = c("genus", "Topt", "GC"))
plot(data$Topt, 100*data$GC,
xlab = "Optimal growth temperature °C",
xlim = c(10, 110),
xaxs = "i",
xaxt = "n",
ylab = "tRNA G+C content %",
ylim = c(50, 75),
yaxs = "i",
yaxt = "n",
main = "Figure 1b from Galtier & Lobry (1997)\nJ. Mol. Evol. 44:632-636")
axis( side = 1, at = seq(10, 110, by = 10), tck = 0.01 )
axis( side = 3, at = seq(10, 110, by = 10), labels = FALSE, tck = 0.01 )
axis( side = 2, at = seq(50, 75, by = 5), tck = 0.01, las = 1 )
axis( side = 2, at = seq(50, 75, by = 2.5), tck = 0.01, labels = FALSE )
axis( side = 4, at = seq(50, 75, by = 2.5), tck = 0.01, labels = FALSE )
text(x = 10, y = 74,
labels = paste("n=", nrow(data), "genera"),
pos = 4 )
#
# Figure 1c
#
path <- "/ftp/ftpdir/pub/datasets/JME97"
data <- read.table( paste(path, "23S.txt", sep = "/"),
col.names = c("genus", "Topt", "GC"))
plot(data$Topt, 100*data$GC,
xlab = "Optimal growth temperature °C",
xlim = c(10, 110),
xaxs = "i",
xaxt = "n",
ylab = "23S rRNA stems G+C content %",
ylim = c(50, 90),
yaxs = "i",
yaxt = "n",
main = "Figure 1c from Galtier & Lobry (1997)\nJ. Mol. Evol. 44:632-636")
axis( side = 1, at = seq(10, 110, by = 10), tck = 0.01 )
axis( side = 3, at = seq(10, 110, by = 10), labels = FALSE, tck = 0.01 )
axis( side = 2, at = seq(50, 90, by = 10), tck = 0.01, las = 1 )
axis( side = 2, at = seq(50, 90, by = 5), tck = 0.01, labels = FALSE )
axis( side = 4, at = seq(50, 90, by = 5), tck = 0.01, labels = FALSE )
text(x = 10, y = 88,
labels = paste("n=", nrow(data), "genera"),
pos = 4 )
#
# Figure 1d
#
path <- "/ftp/ftpdir/pub/datasets/JME97"
data <- read.table( paste(path, "5S.txt", sep = "/"),
col.names = c("genus", "Topt", "GC"))
plot(data$Topt, 100*data$GC,
xlab = "Optimal growth temperature °C",
xlim = c(10, 110),
xaxs = "i",
xaxt = "n",
ylab = "5S RNA G+C content %",
ylim = c(40, 80),
yaxs = "i",
yaxt = "n",
main = "Figure 1d from Galtier & Lobry (1997)\nJ. Mol. Evol. 44:632-636")
axis( side = 1, at = seq(10, 110, by = 10), tck = 0.01 )
axis( side = 3, at = seq(10, 110, by = 10), labels = FALSE, tck = 0.01 )
axis( side = 2, at = seq(40, 80, by = 10), tck = 0.01, las = 1 )
axis( side = 2, at = seq(40, 80, by = 5), tck = 0.01, labels = FALSE )
axis( side = 4, at = seq(40, 80, by = 5), tck = 0.01, labels = FALSE )
text(x = 10, y = 78,
labels = paste("n=", nrow(data), "genera"),
pos = 4 )
#
# Figure 2
#
path <- "/ftp/ftpdir/pub/datasets/JME97"
data <- read.table( paste(path, "genus", sep = "/"),
col.names = c("genus", "GC", "Topt", "nsp"))
plot(data$Topt, data$GC,
xlab = "Optimal growth temperature °C",
xlim = c(10, 110),
xaxs = "i",
xaxt = "n",
ylab = "Genomic G+C content %",
ylim = c(20, 80),
yaxs = "i",
yaxt = "n",
main = "Figure 2 from Galtier & Lobry (1997)\nJ. Mol. Evol. 44:632-636")
axis( side = 1, at = seq(10, 110, by = 10), tck = 0.01 )
axis( side = 3, at = seq(10, 110, by = 10), labels = FALSE, tck = 0.01 )
axis( side = 2, at = seq(20, 80, by = 10), tck = 0.01, las = 1 )
axis( side = 4, at = seq(20, 80, by = 5), tck = 0.01, labels = FALSE )
text(x = 80, y = 75,
labels = paste("n=", nrow(data), "genera"),
pos = 4 )
#
# Figure 3
#
path <- "/ftp/ftpdir/pub/datasets/JME97"
data1 <- read.table( paste(path, "genus", sep = "/"), as.is = TRUE,
col.names = c("genus", "GC", "Topt", "nsp"))
data2 <- read.table( paste(path, "16S.txt", sep = "/"), as.is = TRUE,
col.names = c("genus", "Topt", "GC"))
data <- data.frame(matrix(nrow = nrow(data2), ncol = 3))
names(data) <- c("genomic", "rRNA", "Topt")
for( i in 1:nrow(data) )
{
data[i, 1] <- data1[ which(data1$genus == data2$genus[i]), 2]
data[i, 2] <- 100*data2$GC[i]
data[i, 3] <- data2$Topt[i]
}
plot(data$genomic[ data$Topt < 45 ], data$rRNA [ data$Topt < 45 ],
pch = 19,
xlab = "Genomic G+C content %",
xlim = c(20, 80),
xaxs = "i",
xaxt = "n",
ylab = "16S rRNA stems G+C content %",
ylim = c(50, 85),
yaxs = "i",
yaxt = "n",
main = "Figure 3 from Galtier & Lobry (1997)\nJ. Mol. Evol. 44:632-636")
points(data$genomic[ data$Topt >= 45 ], data$rRNA [ data$Topt >= 45 ])
axis( side = 1, at = seq(20, 80, by = 10), tck = 0.01 )
axis( side = 3, at = seq(20, 80, by = 10), labels = FALSE, tck = 0.01 )
axis( side = 2, at = seq(20, 80, by = 10), tck = 0.01, las = 1 )
axis( side = 2, at = seq(20, 80, by = 5), tck = 0.01, labels = FALSE )
axis( side = 4, at = seq(20, 80, by = 5), tck = 0.01, labels = FALSE )
text(x = 65, y = 51,
labels = paste("n=", nrow(data), "genera"),
pos = 4 )
If you have any problems or comments, please contact
Jean Lobry .