top of page

Doing more with less: reducing batch effects

Today I'm going to discuss batch effects, both some thoughts about what causes them and how using overnight staining can help reduce batch effects in your data.


Even experienced cytometrists running the same donors through the same panel can get variable results from one run to the next. Below, we have an example of different batches with the same 25-colour panel run on the same blood donors using frozen PBMCs. On the tSNE built on all the activation markers in the panel, we can see clear segregation by batch, and we can see the variability in staining in individual markers in the CCR4 x FoxP3 plots gated on CD4 T cells.


What's causing these differences in staining between runs? The cells are from the same donors, frozen down at the same time. Some markers show changes in expression/detection after cryopreservation, so recovering the samples after different amounts of time probably has some impact on staining. There are some ways of mitigating this, such as storing all samples for a minimum amount of time, after which the changes from cryopreservation diminish. That has been done here.


What about the antibodies? My impression is that people attribute a lot of the batch variation to antibody lots. With human immune phenotyping in a short staining protocol, a lot of the antibodies will be used at ~5ul/test, with 100 tests/vial. At that rate, it's nearly impossible to perform large panels with the same vials of antibodies for multiple batches. If this is a large source of variation, using overnight staining will reduce the rate of antibody consumption 5-10x, so you should be able to run more batches with each lot. I really don't think this is an important source of variation, though. In my experience, substantial lot variation from the major flow cytometry antibody suppliers is actually pretty uncommon. The exception to this is products that are conjugated in small batches, on demand. For instance, if the manufacturer lists several fluorophore options with a multiple week lead time, you're getting a conjugate prepared just for you by a technician in their lab. It won't be the same next time. Similarly, if the website mentions that the product is a custom reagent, but you aren't paying thousands for it, you're getting a small batch, which is likely to have higher variability.


What I do think is responsible for batch variation is all the annoying elements of precision in handling. Was everything exactly identical between batches? Did we use the same number of cells, the same blocking time, the same incubation time? Was the room the same temperature? If we put the cells in the fridge, was that the same temperature, or did it get opened and closed more often? Was our staining mix prepared the same amount of time ahead? How accurate was our pipetting? How viable were the cells? What was the pH of our buffer? Were the cells kept cold and dark? Etc.


Each and every one of those factors can cause noticeable variation in the staining. In a short staining protocol, the leeway for error is small. With overnight incubation, however, the stain index stabilizes and remains constant over hours. This means small errors in pipetting or cell numbers are forgiven. Even if the fridge were left open for 5min, that's negligible over 16hrs.


As a reminder, here's what happens to the stain index for CXCR5 on murine splenocytes with time:

The staining increases, but then it hits a plateau and stays there. It has reached a stable equilibrium. That translates into stability in how the entire panel stains, so batches are more likely to reach the same equilibrium point.


Why is this method more stable? I don't know. I think it's because using the antibodies at lower concentrations makes it more likely for them to bind to the intended target, with the antibody essentially getting "used up" by binding to the antigen without much left over to bind to other, non-specific targets. Also, with a greater amount of time, there's more opportunity for antibodies to disengage from low affinity binding partners and find the high affinity target. Once bound to the high affinity antigen, the antibody basically isn't ever coming off.


Here’s an example with human whole blood using one donor in three different experiments. We can see that the staining for Siglec-8 and CD123 not only increases, so greater sensitivity, but that there’s less variability between the replicates.


Looking at the entire panel in a tSNE projection, we can really see how some areas are present in one sample but not another with the 30min incubation. For instance, those green, brown, yellow and red clusters.


With the overnight incubation, the tSNE maps look really quite similar. All of these differences in the 30min staining are false technical variation.


Here I'm quantifying the divergence between the samples using the Cross-Entropy test that Carlos Roca developed. Here we see a trend for a reduction in the intra-sample distance with the overnight staining (n=3, so underpowered).


And to drive this home, here’s an example of mouse T cell data from four experiments collected over the course of two years. The data map together pretty well on the tSNE plots, although there are some differences. However, when we run the statistical test on the data, we see that the variation between samples in a given batch is actually higher than the variation between batches. That is to say, there’s more of a difference between different mice than between experiments.



Overnight staining isn't going to compensate for bad panel design or sloppy experimental setup. You still need to titrate your antibodies, count your cells, optimise your conditions, prepare appropriate controls and rigorously test your panel. I think, though, that it will make it easier for you to get consistent results.



If you want to check out the Cross Entropy test for comparing tSNE, UMAP and other dimensionality reduction results, read the paper here:


For the code and a full Flow Cytometry analysis workflow in R:

A new, more user-friendly version of this is in beta testing.



Reagents mentioned:




667 views2 comments

Recent Posts

See All

2 Comments


Priyanka Prasad
Priyanka Prasad
Oct 06, 2023

But will this method work in case of cell sorting. Won't the cells undergo stress given the fact that the cells are living.

Like
olivertburton
olivertburton
Oct 06, 2023
Replying to

Great question!


I don’t use overnight staying for cell sorting, nor do I recommend it. For sorting, you want to isolate your cells as quickly and gently as possible to avoid changing them. I usually only stain for 15-20 minutes if I’m sorting. In most cases with sorting, though, I’m only using a few colors, so the cost of the antibodies is irrelevant compared to the cost of using the sorter, and I can use the brightest colors to maximize sensitivity.


Also, I generally recommend fixing the cells first for overnight staining, although live cells can work quite well. Tips on that are in the post on viability.

Like
bottom of page