Flagging Genes (Probesets) Associated with RD in Both TCGA and Tothill
======================================================================
by Keith A. Baggerly
## 1 Executive Summary
### 1.1 Introduction
We want to identify genes whose expression shows
a strong and similarly directed association with
residual disease (RD) status in both the TCGA and Tothill datasets.
### 1.2 Methods
We load our previously assembled RData files for
tcgaExpression,
tcgaFilteredData,
tothillExpression,
tothillFilteredData,
and
tothillClinical.
We restrict our attention to probesets on both
the TCGA and Tothill array platforms.
Then, using just the filtered sets of samples,
we contrast RD and No RD samples within each
dataset using two sample t-tests. For each
probeset in each dataset, we identify the
associated gene and record the mean
expression level in the RD and No RD groups,
the t-statistic, the raw p-value, and the false discovery rate
(FDR) adjusted p-value.
We flag probsets that are significantly different
in both TCGA and Tothill using (a) a 5% FDR cutoff
and (b) a 10% FDR cutoff.
We plot the bivariate t-tests to look for
structure,
expression heatmaps for the selected probes
to look for patterns,
correlations between the probes chosen to
look for coordinated behavior, and
dot and density plots for individual
probesets to identify other features.
We write a convenience function to make
generation of the dot and density plots easier.
### 1.3 Results
There are 22277 probesets common to the two platforms.
We flag 8 probesets using a 5% FDR cutoff in both
datasets,
and 47 probesets using a 10% FDR cutoff.
The bivariate plot of the t-statistics found
is shown in
Figure [1](#bivarTVals); a zoomed version
highlighting the probesets overexpressed in RD samples
is shown in
Figure [2](#bivarTValsZoom).
The expression heatmaps for TCGA and Tothill
using the 5% FDR cutoffs are in
Figures [3](#tcgaHeatmap05pct) and
[4](#tothillHeatmap05pct), respectively.
The expression heatmaps for TCGA and Tothill
using the 10% FDR cutoffs are in
Figures [5](#tcgaHeatmap10pct) and
[6](#tothillHeatmap10pct), respectively.
Heatmaps of the pairwise 10% FDR probe correlations
for TCGA and Tothill are shown in Figures
[7](#tcgaProbesetCors) and [8](#tothillProbesetCors).
Dot and density plots for all 47 probesets passing
the 10% FDR filter are saved as
"plotsOfTop47Probesets.pdf" in the Reports folder.
Dot and density plots for 6 probesets, corresponding to
LUM, DCN, GADD45B, FABP4, ADH1B, and ADIPOQ are
shown in Figures
[9](#lum),
[10](#dcn),
[11](#gadd45b),
[12](#fabp4),
[13](#adh1b), and
[14](#adipoq), respectively.
We save
tcgaCommonUsed,
tothillCommonUsed,
keyProbesets05pct, keyGenes05pct,
keyProbesets10pct, keyGenes10pct,
nTCGANoRD, nTCGARD,
nTothillNoRD, nTothillRD,
plotProbesetResults, and
rdTTestResults
to the RData file "rdFlaggedGenes.RData".
### 1.4 Conclusions
In both sets of expression heatmaps, there is evidence
of a molecularly distinct subset of patients (about a third)
with a higher chance of having RD. Expression levels for most
of the genes identified are consistently higher in these patients.
For LUM, DCN, and GADD45B, which represent the bulk
of the probsets showing elevation, what we see is an
overall mean shift (values are trending higher) without
a clear division point (above here, something's changed).
For FABP4, ADH1B, and (to a lesser extent) ADIPOQ, we
see a *qualitative* shift in a smaller subset -- values for most samples
are very low (effectively "off""), but values for
a subset of patients are very high ("on"").
A qualitative difference strikes us as
more likely to survive a shift across assays
than a mean offset, so we preferentially
pursue FABP4 and ADH1B.
## 2 Libraries
We first load the libraries we will use
in this report.
```r
library(affy)
library(hthgu133a.db)
library(gplots)
```
## 3 Loading the Data
Here we simply load the previously assembled RData files.
clinical information
and expression matrices, and skim the first line of the clinical
information to see what variables exist for filtering the samples.
```r
load(file.path("RDataObjects", "tcgaExpression.RData"))
load(file.path("RDataObjects", "tcgaFilteredSamples.RData"))
load(file.path("RDataObjects", "tothillExpression.RData"))
load(file.path("RDataObjects", "tothillFilteredSamples.RData"))
load(file.path("RDataObjects", "tothillClinical.RData"))
```
## 4 Rearranging Data
### 4.1 Selecting Common Probesets
We only want to examine probesets evaluated in both
datasets.
```r
commonProbesets <- intersect(rownames(tcgaExpression), rownames(tothillExpression))
```
### 4.2 Extracting RD and No RD Samples
Given the common probesets, we next get matrices
of data for RD and No RD measurements for both
TCGA and Tothill.
We begin with TCGA
```r
tcgaCommonRD <- tcgaExpression[commonProbesets, names(tcgaSampleRD)[which((tcgaSampleRD ==
"RD") & (tcgaFilteredSamples[, "sampleUse"] == "Used"))]]
dim(tcgaCommonRD)
```
```
## [1] 22277 378
```
```r
tcgaCommonNoRD <- tcgaExpression[commonProbesets, names(tcgaSampleRD)[which((tcgaSampleRD ==
"No RD") & (tcgaFilteredSamples[, "sampleUse"] == "Used"))]]
dim(tcgaCommonNoRD)
```
```
## [1] 22277 113
```
Next, we repeat the process for Tothill.
```r
tothillCommonRD <- tothillExpression[commonProbesets, names(tothillRD)[which((tothillRD ==
"RD") & (tothillFilteredSamples[, "sampleUse"] == "Used"))]]
dim(tothillCommonRD)
```
```
## [1] 22277 139
```
```r
tothillCommonNoRD <- tothillExpression[commonProbesets, names(tothillRD)[which((tothillRD ==
"No RD") & (tothillFilteredSamples[, "sampleUse"] == "Used"))]]
dim(tothillCommonNoRD)
```
```
## [1] 22277 50
```
### 4.3 Bundling
For later plots, it can be easier to rearrange things
yet again.
```r
tcgaCommonUsed <- cbind(tcgaCommonNoRD, tcgaCommonRD)
tothillCommonUsed <- cbind(tothillCommonNoRD, tothillCommonRD)
```
## 5 Contrasting RD with No RD: T-Tests
### 5.1 Running T-Tests
Our first comparisons involve simple two-sample
t-tests. We perform these for TCGA first.
```r
d1 <- date()
tcgaTVals <- rep(0, length(commonProbesets))
names(tcgaTVals) <- commonProbesets
tcgaPVals <- tcgaTVals
for (i1 in 1:length(commonProbesets)) {
tempT <- t.test(tcgaCommonRD[i1, ], tcgaCommonNoRD[i1, ], var.equal = TRUE)
tcgaTVals[i1] <- tempT[["statistic"]]
tcgaPVals[i1] <- tempT[["p.value"]]
}
d2 <- date()
c(d1, d2)
```
```
## [1] "Wed Nov 20 11:29:41 2013" "Wed Nov 20 11:29:50 2013"
```
```r
tcgaPValsAdj <- p.adjust(tcgaPVals, method = "fdr")
names(tcgaPValsAdj) <- commonProbesets
```
Then we repeat the process with Tothill.
```r
d1 <- date()
tothillTVals <- rep(0, length(commonProbesets))
names(tothillTVals) <- commonProbesets
tothillPVals <- tothillTVals
for (i1 in 1:length(commonProbesets)) {
tempT <- t.test(tothillCommonRD[i1, ], tothillCommonNoRD[i1, ], var.equal = TRUE)
tothillTVals[i1] <- tempT[["statistic"]]
tothillPVals[i1] <- tempT[["p.value"]]
}
d2 <- date()
c(d1, d2)
```
```
## [1] "Wed Nov 20 11:29:50 2013" "Wed Nov 20 11:29:59 2013"
```
```r
tothillPValsAdj <- p.adjust(tothillPVals, method = "fdr")
names(tothillPValsAdj) <- commonProbesets
```
### 5.2 Checking for Overlap at an Extreme Cutoff
We now see which genes (if any) appear significant at
an FDR of 5% in both datasets.
```r
sum(tcgaPValsAdj < 0.05)
```
```
## [1] 149
```
```r
sum(tothillPValsAdj < 0.05)
```
```
## [1] 81
```
```r
sum((tothillPValsAdj < 0.05) & (tcgaPValsAdj < 0.05))
```
```
## [1] 8
```
```r
sum((tothillPValsAdj < 0.1) & (tcgaPValsAdj < 0.1))
```
```
## [1] 47
```
```r
keyProbesets05pct <- names(which((tothillPValsAdj < 0.05) & (tcgaPValsAdj <
0.05)))
keyProbesets10pct <- names(which((tothillPValsAdj < 0.1) & (tcgaPValsAdj < 0.1)))
keyGenes05pct <- unlist(mget(keyProbesets05pct, hthgu133aSYMBOL))
keyGenes10pct <- unlist(mget(keyProbesets10pct, hthgu133aSYMBOL))
keyGenes05pct
```
```
## 201744_s_at 203666_at 203980_at 207574_s_at 209335_at 209613_s_at
## "LUM" "CXCL12" "FABP4" "GADD45B" "DCN" "ADH1B"
## 209687_at 221541_at
## "CXCL12" "CRISPLD2"
```
There are 8 probesets flagged at a common FDR of 5% (listed
above), and 47 probesets flagged at a common FDR of 10%.
### 5.3 Building a Data Frame
Now we bundle our t-test results into a data
frame for later reference, sorting the entries
by mean fdr-adjusted p-value.
```r
tcgaMeanRD <- apply(tcgaCommonRD, 1, mean)
tcgaMeanNoRD <- apply(tcgaCommonNoRD, 1, mean)
tothillMeanRD <- apply(tothillCommonRD, 1, mean)
tothillMeanNoRD <- apply(tothillCommonNoRD, 1, mean)
commonGeneSymbols <- unlist(mget(commonProbesets, hthgu133aSYMBOL))
rdTTestResults <- data.frame(row.names = rownames(tcgaCommonUsed), geneSymbol = commonGeneSymbols,
tcgaMeanRD = tcgaMeanRD, tcgaMeanNoRD = tcgaMeanNoRD, tcgaTVals = tcgaTVals,
tcgaPVals = tcgaPVals, tcgaPValsAdj = tcgaPValsAdj, tothillMeanRD = tothillMeanRD,
tothillMeanNoRD = tothillMeanNoRD, tothillTVals = tothillTVals, tothillPVals = tothillPVals,
tothillPValsAdj = tothillPValsAdj)
rdTTestResults <- rdTTestResults[order(tcgaPValsAdj + tothillPValsAdj), ]
```
As a check, we look at the results for the top 10 probesets
by this ordering.
```r
rdTTestResults[1:10, ]
```
```
## geneSymbol tcgaMeanRD tcgaMeanNoRD tcgaTVals tcgaPVals
## 201744_s_at LUM 9.057 8.084 4.992 8.318e-07
## 203666_at CXCL12 4.400 3.921 4.134 4.202e-05
## 203980_at FABP4 4.278 3.463 3.863 1.272e-04
## 209335_at DCN 7.376 6.746 3.853 1.324e-04
## 209613_s_at ADH1B 3.514 2.944 3.681 2.586e-04
## 221541_at CRISPLD2 6.017 5.444 3.858 1.295e-04
## 209612_s_at ADH1B 3.694 3.196 3.507 4.947e-04
## 207574_s_at GADD45B 6.795 6.392 3.741 2.049e-04
## 209687_at CXCL12 6.885 6.228 3.928 9.811e-05
## 211813_x_at DCN 8.602 8.003 3.525 4.635e-04
## tcgaPValsAdj tothillMeanRD tothillMeanNoRD tothillTVals
## 201744_s_at 0.002885 10.325 9.036 4.536
## 203666_at 0.020107 7.778 6.950 4.160
## 203980_at 0.034264 6.422 4.371 4.533
## 209335_at 0.034609 8.687 7.527 4.560
## 209613_s_at 0.044321 4.912 3.091 5.045
## 221541_at 0.034340 7.523 6.433 4.344
## 209612_s_at 0.057726 5.556 3.781 4.968
## 207574_s_at 0.039855 8.276 7.580 4.155
## 209687_at 0.028758 8.178 7.162 3.986
## 211813_x_at 0.056505 10.921 9.857 4.509
## tothillPVals tothillPValsAdj
## 201744_s_at 1.024e-05 0.010629
## 203666_at 4.842e-05 0.022975
## 203980_at 1.036e-05 0.010629
## 209335_at 9.243e-06 0.010629
## 209613_s_at 1.067e-06 0.002970
## 221541_at 2.289e-05 0.016447
## 209612_s_at 1.521e-06 0.003765
## 207574_s_at 4.937e-05 0.022975
## 209687_at 9.644e-05 0.035837
## 211813_x_at 1.145e-05 0.010629
```
## 6 Plotting Data
Given the contrast results, we now plot the data in several
ways to see if this clarifies aspects of the structure.
### 6.1 Bivariate t-value Plot
Our first check involves plotting the TCGA and Tothill
t-statistics against each other, to see if there are
clear outliers or disagreement with respect to sign.
The initial plot,
Figure [1](#bivarTVals),
shows the vast majority of the probesets selected are
more strongly expressed in RD samples. A zoom on
the upper quadrant of this plot is shown in
Figure [2](#bivarTValsZoom).
![plot of chunk plotBivarTVals](figure/plotBivarTVals.png)
Figure 1: Bivariate plot of two-sample RD-No RD t-values for TCGA and
Tothill. The vast majority of the probesets selected show higher
expression in RD cases. Lumican (LUM) is the strongest overall.
![plot of chunk plotBivarTValsZoom](figure/plotBivarTValsZoom.png)
Figure 2: Zoom on the upper quadrant of the
bivariate plot of two-sample RD-No RD t-values for TCGA and
Tothill, to show the names more clearly.
### 6.2 Heatmaps of Probesets Flagged by 5% FDR
We want to see if the most clearly chosen probesets
are flagging the same samples, and how clearly they
divide RD from No RD cases. We check this first
for the 8 probesets passing the 5% FDR filters.
The TCGA heatmap is shown in
Figure [3](#tcgaHeatmap05pct), and
the Tothill heatmap is shown in
Figure [4](#tothillHeatmap05pct).
The general story is the same in both; we see
a clear cluster in which most of the probesets
are concurrently elevated, and the patients in
these clusters have much higher rates of RD.
Of the 8 probesets examined, those for FABP4 and
ADH1B stand out as telling the story most starkly,
though the enrichment rates may not be much higher.
We do not see a tight grouping of the No RD cases,
but this is to be expected since some cases of
RD will not be driven at the molecular level but
rather by spatial positioning in the abdomen.
![plot of chunk plotTCGA05pctHeatmap](figure/plotTCGA05pctHeatmap.png)
Figure 3: Heatmap of the TCGA Samples using just the 8 probesets passing the
5% FDR filter for both TCGA and Tothill. RD status (Red=RD, Blue=No
RD) is indicated in the colorbar at top. There is a clear cluster
at the left in which most of these genes are concurrently elevated;
the density of RD cases is much higher in this group. Of the probesets
shown, FABP4 and ADH1B stand out from the rest in that they show
a much more marked "on/off" pattern.
![plot of chunk plotTothill05pctHeatmap](figure/plotTothill05pctHeatmap.png)
Figure 4: Heatmap of the Tothill Samples using just the 8 probesets passing the
5% FDR filter for both TCGA and Tothill. RD status (Red=RD, Blue=No
RD) is indicated in the colorbar at top. The story essentially
parallels that for the TCGA data.
There is a clear cluster
at the right in which most of these genes are concurrently elevated;
the density of RD cases is much higher in this group. Of the probesets
shown, FABP4 and ADH1B stand out from the rest in that they show
a much more marked "on/off" pattern.
### 6.3 Heatmaps of Probesets Flagged by 10% FDR
Having examined the 5% FDR probesets, we now expand our
view to encompass probesets passing a 10% FDR filter in
both TCGA and Tothill.
The TCGA heatmap is shown in
Figure [5](#tcgaHeatmap10pct), and
the Tothill heatmap is shown in
Figure [6](#tothillHeatmap10pct).
One factor that becomes more apparent here is the
broadly parallel pattern of overexpression seen for
most of the probesets (FABP4 and ADH1B again stand out).
This suggests there may be a common driver for many of
them; possibly a "pathway" of some type.
![plot of chunk plotTCGA10pctHeatmap](figure/plotTCGA10pctHeatmap.png)
Figure 5: Heatmap of the TCGA Samples using the 47 probesets passing the
10% FDR filter for both TCGA and Tothill. RD status (Red=RD, Blue=No
RD) is indicated in the colorbar at top. While FABP4, ADH1B, and,
to a lesser extent ADIPOQ again stand out, the main visual impression
is one of parallel expression for most of the probesets,
suggesting some common underlying driving factor.
![plot of chunk plotTothill10pctHeatmap](figure/plotTothill10pctHeatmap.png)
Figure 6: Heatmap of the Tothill Samples using the 47 probesets passing the
10% FDR filter for both TCGA and Tothill. RD status (Red=RD, Blue=No
RD) is indicated in the colorbar at top. As with the TCGA data,
While FABP4, and ADH1B
again stand out, the main visual impression
is one of parallel expression for most of the probesets,
suggesting some common underlying driving factor.
### 6.4 Heatmaps of Correlation of Probesets Flagged by 10% FDR
Given the broad parallelism of expression seen in the heatmaps of
probesets passing the 10% FDR filters, we want to check the
correlation patterns between these probes.
The TCGA heatmap is shown in
Figure [7](#tcgaProbesetCors), and
the Tothill heatmap is shown in
Figure [8](#tothillProbesetCors).
![plot of chunk plotTCGAProbesetCors](figure/plotTCGAProbesetCors.png)
Figure 7: Correlations in the TCGA data between the
47 probesets selected by 10% FDR cutoffs. While
the three probesets where expression declines
drive the coloring most, the main story in terms
of commonality may be the grouping of 26
probesets in the upper right, including lumican (LUM)
and decorin (DCN). Cutting the probsets into three
clusters overall,
FABP4 and ADH1B reside in the second
grouping of probesets at the right.
![plot of chunk plotTothillProbesetCors](figure/plotTothillProbesetCors.png)
Figure 8: Correlations in the Tothill data between the
47 probesets selected by 10% FDR cutoffs. While
the three probesets where expression declines
drive the coloring most, the main story in terms
of commonality may be the tight grouping of 31
probesets in the upper right, including lumican (LUM)
and decorin (DCN). FABP4 and ADH1B reside in the second
grouping of probesets at the right.
### 6.5 Density Plots and Dotplots
We know some of the probesets are of interest.
Now we look at aspects of behavior of the individual
probesets, specifically dotplots and density plots
for each probeset by dataset.
First, we construct a generic function for plotting
these results for a given probeset.
```r
plotProbesetResults <- function(probesetID) {
par(mfrow = c(2, 2))
geneName <- unlist(mget(probesetID, hthgu133aSYMBOL))
plot(tcgaCommonUsed[probesetID, ], col = c(rep("blue", nTCGANoRD), rep("red",
nTCGARD)), xlab = "TCGA Samples", ylab = "Expression", main = paste("Expression of",
geneName, "in TCGA"))
abline(v = nTCGANoRD + 0.5)
plot(tothillCommonUsed[probesetID, ], col = c(rep("blue", nTothillNoRD),
rep("red", nTothillRD)), xlab = "Tothill Samples", ylab = "Expression",
main = paste("Expression of", geneName, "in Tothill"))
abline(v = nTothillNoRD + 0.5)
tempDensTCGA <- density(tcgaCommonUsed[probesetID, ])
tempDensTCGANoRD <- density(tcgaCommonNoRD[probesetID, ])
tempDensTCGARD <- density(tcgaCommonRD[probesetID, ])
plot(tempDensTCGA[["x"]], tempDensTCGA[["y"]], xlab = paste("Expression of",
probesetID, "in TCGA"), ylab = "Density", type = "l", main = paste("Density of",
probesetID, "in TCGA"))
lines(tempDensTCGANoRD[["x"]], (nTCGANoRD/(nTCGANoRD + nTCGARD)) * tempDensTCGANoRD[["y"]],
col = "blue")
lines(tempDensTCGARD[["x"]], (nTCGARD/(nTCGANoRD + nTCGARD)) * tempDensTCGARD[["y"]],
col = "red")
tempDensTothill <- density(tothillCommonUsed[probesetID, ])
tempDensTothillNoRD <- density(tothillCommonNoRD[probesetID, ])
tempDensTothillRD <- density(tothillCommonRD[probesetID, ])
plot(tempDensTothill[["x"]], tempDensTothill[["y"]], xlab = paste("Expression of",
probesetID, "in Tothill"), ylab = "Density", type = "l", main = paste("Density of",
probesetID, "in Tothill"))
lines(tempDensTothillNoRD[["x"]], (nTothillNoRD/(nTothillNoRD + nTothillRD)) *
tempDensTothillNoRD[["y"]], col = "blue")
lines(tempDensTothillRD[["x"]], (nTothillRD/(nTothillNoRD + nTothillRD)) *
tempDensTothillRD[["y"]], col = "red")
par(mfrow = c(1, 1))
}
```
For reference, we produce a pdf file containing the results
for all 47 probesets in our top list.
```r
pdf(file = file.path("Reports", "plotsOfTop47Probesets.pdf"))
for (i1 in 1:length(keyProbesets10pct)) {
plotProbesetResults(keyProbesets10pct[i1])
}
dev.off()
```
```
## pdf
## 2
```
We include results for a few selected genes here:
LUM (201744\_s\_at), Figure [9](#lum),
DCN (211896\_s\_at), Figure [10](#dcn),
GADD45B (207574\_s\_at), Figure [11](#gadd45b),
FABP4 (203980\_at), Figure [12](#fabp4),
ADH1B (209613\_s\_at), Figure [13](#adh1b), and
ADIPOQ (207175\_at), Figure [14](#adipoq).
For some of the genes (ADH1B, DCN), mutliple probesets
are available but the results appear qualitatively similar
to the representative ones chosen.
For LUM, DCN, and GADD45B, which represent the bulk
of the probsets showing elevation, what we see is an
overall mean shift (values are trending higher) without
a clear division point (above here, something's changed).
For FABP4, ADH1B, and (to a lesser extent) ADIPOQ, we
see a qualitative shift -- values for most samples
are very low (effectively "off""), but values for
a subset of patients are very high ("on"").
This type of qualitative difference strikes us as
more likely to survive a shift across assays
than a mean offset, so we will preferentially
pursue FABP4 and ADH1B.
![plot of chunk plotLUM](figure/plotLUM.png)
Figure 9: Dot and density plots for lumican (LUM) in TCGA
and Tothill. Cases with No RD are blue, RD are red.
While there is a clear mean shift (which drives the
t-test results), there is not a clearly defined
cutpoint.
![plot of chunk plotDCN](figure/plotDCN.png)
Figure 10: Dot and density plots for decorin (DCN) in TCGA
and Tothill. Cases with No RD are blue, RD are red.
While there is a clear mean shift (which drives the
t-test results), there is not a clearly defined
cutpoint.
![plot of chunk plotGADD45B](figure/plotGADD45B.png)
Figure 11: Dot and density plots for GADD45B in TCGA
and Tothill. Cases with No RD are blue, RD are red.
While there is a clear mean shift (which drives the
t-test results), there is not a clearly defined
cutpoint.
![plot of chunk plotFABP4](figure/plotFABP4.png)
Figure 12: Dot and density plots for FABP4 in TCGA
and Tothill. Cases with No RD are blue, RD are red.
There is a qualitative shift in a subset of the patients.
![plot of chunk plotADH1B](figure/plotADH1B.png)
Figure 13: Dot and density plots for ADH1B in TCGA
and Tothill. Cases with No RD are blue, RD are red.
There is a qualitative shift in a subset of the patients.
![plot of chunk plotADIPOQ](figure/plotADIPOQ.png)
Figure 14: Dot and density plots for ADIPOQ in TCGA
and Tothill. Cases with No RD are blue, RD are red.
There is a qualitative shift in a subset of the patients.
## 7 Saving RData
Now we save the relevant information to an RData object.
```r
save(tcgaCommonUsed, tothillCommonUsed, keyProbesets05pct, keyGenes05pct, keyProbesets10pct,
keyGenes10pct, nTCGANoRD, nTCGARD, nTothillNoRD, nTothillRD, plotProbesetResults,
rdTTestResults, file = file.path("RDataObjects", "rdFlaggedGenes.RData"))
```
## 8 Appendix
### 8.1 File Location
```r
getwd()
```
```
## [1] "/Users/slt/SLT WORKSPACE/EXEMPT/OVARIAN/Ovarian residual disease study 2012/RD manuscript/Web page for paper/Webpage"
```
## 8.2 SessionInfo
```r
sessionInfo()
```
```
## R version 3.0.2 (2013-09-25)
## Platform: x86_64-apple-darwin10.8.0 (64-bit)
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] parallel stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] gplots_2.12.1 hthgu133a.db_2.9.0 org.Hs.eg.db_2.9.0
## [4] RSQLite_0.11.4 DBI_0.2-7 AnnotationDbi_1.22.6
## [7] affy_1.38.1 Biobase_2.20.1 BiocGenerics_0.6.0
## [10] knitr_1.5
##
## loaded via a namespace (and not attached):
## [1] affyio_1.28.0 BiocInstaller_1.10.4 bitops_1.0-6
## [4] caTools_1.14 evaluate_0.5.1 formatR_0.9
## [7] gdata_2.13.2 gtools_3.1.0 IRanges_1.18.4
## [10] KernSmooth_2.23-10 preprocessCore_1.22.0 stats4_3.0.2
## [13] stringr_0.6.2 tools_3.0.2 zlibbioc_1.6.0
```