Time Dependency of Immunohistochemical Staining - janeshdev/ggplot2 GitHub Wiki
Interstitial Cells of Cajal (ICC) are located e.g. between the layers of smooth muscle in the human intestinal tube. They act as intermediate between nerves and muscle cells and are pacemakers for peristalsis. These cells can be stained immunohistochemically using the Alkaline-Phosphatase-Anti-Alkaline-Phosphatase (APAAP) technique. Usually the sections are stained immediately after defrosting, as the quality of the staining degrades rapidly when the sections are stored at room temperature.
In addition to the staining, we study the ICC by vibrational spectroscopy. Vibrational (micro-)spectroscopies are non-destructive techniques that yield spatially resolved information (at the Ξm level) of the biochemistry of the sections (see e.g. chemical imaging). As the vibrational spectra are sensitive to the chemical composition of a sample, they are (to a certain degree) altered by fixation. While certain fixatives such as formalin hardly change the specta, the immunohistochemical staining needs acetone fixation. Unfortunately, acetone fixation alters the spectra much more as it dissolves lipids.
Ultimately, we use Raman microspectroscopy followed by immunohistochemical staining for the study of the ICCs biochemistry. Here, we present a pre-study aiming at two questions:
- How long can non-destructive measurements last before staining without compromising the staining?
- Is this influenced by fixing the tissue either immediately after thawing and before spectroscopy (red, "thawing") or just before staining (blue, "staining") which is spectroscopically preferrable?
A total of 108 sections were stained and their quality graded with marks 1 (exceptionally good) to 5 (bad). 1 and 2 are good for publication. One may learn something from grade 3 samples but the staining is already weak. In grade 4 samples some parts were not stained any longer, and grade five means the staining did not work at all.
25 samples were stained immediately. They are fixed directly after thawing which is in this case just before staining. These samples were randomly assigned to the fixation groups.
> summary (data)
t / d Fixation Quality
Min. :0.000 staining:51 5: 9
1st Qu.:0.738 thawing :57 4: 7
Median :2.000 3:18
Mean :2.208 2:66
3rd Qu.:2.950 1: 8
Max. :8.000
> table (data$Quality, data$Fixation)
staining thawing
5 3 6
4 5 2
3 11 7
2 27 39
1 5 3
Here's the overview of the number of sections as a function of time and time of fixation.
ggplot (data = data, aes (x = t, fill = Fixation)) +
geom_bar (breaks = (0 : 32)/4) + facet_grid (Fixation ~ .) +
scale_fill_manual (values = c ("red", "darkblue")) +
opts (legend.position = "none") +
geom_hline (y = 3.5, col = "#00000080", linetype = 2)
The large number of immediately stained samples is due the positive controls that are needed for each staining batch (as well as a negative control).
To inspect the time dependency, the observed quality is plotted against the time, the fixation protocol is coded as both colour and shape:
png ("data.png", width = 900, height = 500, res = 150)
ggplot (data = data, aes (x = `t / d`, y = Quality, col = Fixation, shape = Fixation)) +
geom_point (position = position_jitter (width =0, height=.2)) +
scale_colour_manual (values = c ("red", "darkblue")) +
scale_shape_manual (values = c (4,20)) +
geom_hline (y = 3.5, col = "#00000080", linetype = 2)
dev.off ()
As we are only interested in staining that reach quality 1 or 2, we can dichotomize as indicated by the gray dashed line. We model the probability to obtain a good staining by logistic regression, e.g. by glm with family = binomial and the default link = "logit". The observed data is included in the graph at 1 for successful and 0 for bad staining:
data$OK <- as.numeric (data$Quality %in% 1 : 2)
png ("datadich.png", width = 900, height = 500, res = 150)
ggplot (data = data, aes (x = `t / d`, y = OK, col = Fixation, shape = Fixation, linetype = Fixation)) +
geom_point (position = position_jitter (width =0, height=.05)) +
scale_colour_manual (values = c ("red", "darkblue")) +
scale_shape_manual (values = c (4,20)) +
geom_smooth (method = "glm", family = "binomial", se = TRUE) +
scale_linetype_manual (values = 2 : 1)
dev.off ()
> summary (glm (formula = OK ~ `t / d` + Fixation, data = data, family = "binomial"))
Call:
glm(formula = OK ~ `t / d` + Fixation, family = "binomial", data = data)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.210 -0.288 0.200 0.507 2.324
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 3.901 0.808 4.83 1.4e-06 ***
`t / d` -1.451 0.293 -4.96 7.2e-07 ***
Fixationthawing 1.107 0.636 1.74 0.082 .
---
Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 134.55 on 107 degrees of freedom
Residual deviance: 67.95 on 105 degrees of freedom
AIC: 73.95
Number of Fisher Scoring iterations: 6
As the data is originally ordinal, an ordinal logistic regression may be more appropriate. But more than three quarters of the stainings were observed to have quality two or three while the other quality and Fixation levels are populated with less then 10 samples. Thus, our results cannot be too much influenced by the dichotomization. Moreover, the sparse observations for the other quality levels must lead to high uncertainty in estimating the additional parameters. A more practical alternative may be a dichotomous model that evaluates only categories two and three.
From a laboratory-practical point of view, however, a decision can be taken: The samples should not be at room temperature for more than 2 days. If the samples are to be measured unfixed, better half a day less. Other influencing factors such as temperature and humidity are probably of more importance anyways (the experiments were partially paired by running some experiments with or without immediate fixation parallel).
Friederike Schlemmer,
Pediatric Surgery, University Hospital Leipzig, Germany,
Pediatric Surgery, IRCCS Burlo Garofolo, Trieste, Italy, and
University of Trieste, Italy