The wide variety of new fluorochromes available increases the power of flow cytometry to discern
phenotypically complex cell populations. Multi-color analysis requires compensation between most
pairs of fluorochromes because their emission spectra overlap. Furthermore, fluorochromes that can
be excited by multiple lasers (such as tandem dyes) generate the need for cross-laser compensation
that typically is not possible on current instrumentation. As a result, many experiments now require
post-collection software compensation.
FlowJo provides a simple interface for computing compensation based on a collection of samples
each stained with a single fluorochrome (compensation controls). FlowJo uses matrix algebra to
derive a compensation matrix based on a negative and positive population of cells defined for each
parameter. This matrix can be applied to any or all samples within an experiment.
With the use of dyes from different manufacturers, or even different lots of dyes from the same
manufacturer, it is often necessary to have unique compensation settings for each panel of reagents
used to stain the samples. FlowJo allows you to easily create all of the different settings you need,
and then automatically remembers and applies the correct setting for each panel of stains.
Fluorescent dyes excited by a 488 nm argon laser each
emit with a characteristic spectrum: fluorescein with a
maximum around 520 nm, PE at about 575 nm (right).
In order to simultaneously measure these emissions, we
choose optical or “bandpass” filters which collect
specific wavelengths of light (shown in gray). However,
it is impossible to choose filters that measure the
emitted light of only a single dye. Thus, each detector
actually collects light from multiple sources: principally
from the desired (primary) fluorochrome, but some
light from other (secondary) fluorochromes as well. The
process of compensation is the correction for the light
from these secondary fluorochromes.
While it is optimal to compensate each parameter as
fully as possible during data collection, there are many
situations that require further software compensation.
In some cases, the compensation is inappropriately set
during sample collection (although if the sample is
over-compensated, there is no recourse). In other cases, as
the number of fluorescence parameters increases, the
instruments are not capable of compensating between all
parameters (for instance, to correct for the spillover
between fluorescein and Cy5PE).
This Tech Note focuses on the mechanics of
compensation using FlowJo; however, other sources
exist to fully explain the underlying theory of
compensation[1, 2]. FlowJo computes the compensation
488 nm
Argon Laser
Fluorescein has a
significant emission
in the region where we
measure PE (575 nm).
Excitation spectrum
Wavelength (nm)
matrix on control samples in a manner similar to
manually setting the compensation during collection.
However, it does so automatically and completely,
rather than requiring individual pair-wise settings to be
selected for every pair of overlaps. To do this,
compensation control samples stained with each
unique fluorochrome used in the experiment must be
collected. Ideally, each compensation control stain
labels only a portion of the cell sample, leaving an
unstained population of cells in each tube.
An example of the entire compensation process can be
found at:
Define a population of positive
(stained) and negative (unstained)
cells for each compensation sample.
The negative and positive population
must share the same autofluorescence
characteristics (e.g., lymphocytes).
Dragging the Lymphocyte gate
onto a group puts this gate onto
all samples in that group.
Drag the positive population from the
workspace to this box.
Drag the negative population from the
workspace to this box.
Select Define Matrix under the
menu Platforms -> Compensate Sample.
Drag the positive and
negative subsets from the
workspace to the compensation definitions window.
Drag the parent
population (that
has exactly two subsets
(+ and -) gated on the
same parameter) to the
auto drop box.
FlowJo automatically
puts the “daughter”
populations into the
correct boxes.
Drag a pair of gated populations (positive and negative) to the compensation
dialog window for every parameter that needs to be compensated.
Compute the matrix (click compute) and save. This matrix can be applied to
other workspaces or be modified.
● NOTE: A compensation matrix is generally valid only for the samples collected during a single collection run.
The compensation matrix can be applied to individual samples or those in a
group by selecting the sample or group and then selecting the matrix from the
Platforms -> Compensate Sample menu.
A colored bar next to the sample denotes
that the sample has been compensated.
Each parameter (reagent) can be displayed as uncompensated or compensated.
The compensated parameters
are surrounded by brackets (<>).
● A single unstained sample can be used for all
negatives: drag the unstained sample onto all the
negative boxes in the compensation dialog window.
● The positive population stain for each compensation
control should be at least as bright as the brightest
stain in the samples; a population with a dim or notas-bright fluorescence can be used for the negative
● It is important to remember that the negative
population and positive population must share the
same autofluorescence characteristics for
compensation to be valid (e.g., don’t use monocytes
as the negative population for a lymphocyte stain; if
you are compensating a stain on fibroblasts, use an
unstained fibroblast control). However, compensation is
valid if the compensation controls for different
fluorochromes use cells with different autofluorescence
- as long as the positive and negative populations are
the same cell type (e.g., monocytes stained with
FITC, lymphocytes stained with PE, and fibroblasts
stained with Cy5PE).
● To prevent mistakes when dragging gates onto the
“positive” and “negative” boxes in the compensation
dialog window, use the “auto drop” box. Simply drag
the parent population (gated to define a positive and
a negative population) onto the auto drop box. This
feature automatically determines the correct
fluorescence parameter and places the positive and
negative populations into the correct boxes.
● To delete a population that was mistakenly dragged
onto the “positive” or “negative” boxes, simply click
on the box and press delete on your keyboard. When
a box is selected, the population name appears at the
lower left edge of the compensation dialog window.
● To apply a compensation matrix to more than one
sample at a time, select all of the desired samples and
apply the matrix. Alternatively, click on a group, and
apply the matrix–this applies the matrix to all
samples in that group.
● In some cases, you will need multiple compensation
matrices for the same experiment. Different lots of
tandem dyes, like Cy5PE (even from the same
manufacturer), can have different spectra and thus
require different compensation. You will need to
collect a singly stained compensation control sample
for each different Cy5PE reagent, and then construct
a different matrix for each of these.
● In order to construct multiple matrices, drag the
successive Cy5PE populations (or their parent
population) to the Compensation Dialog Window.
The new Cy5PE populations will be replaced without
altering the other colors. Compute and save a different
matrix for each set of reagents.
● A sample’s compensation matrix can only be changed
by applying a new matrix (with a new name) to that
● In order to view uncompensated parameters, choose the
parameter names from the graph pull down menu that
are not surrounded by brackets (<>).
● Once a matrix is computed, it will appear in the
Workspace -> Compensation menu under its own name.
To apply this matrix to another workspace, the matrix
file must be first loaded (Workspace -> Compensation ->
Load Matrix). Caution must be exercised in applying a
compensation matrix file to a different workspace if the
instrument settings have changed between collection of
the compensation and data samples.
● Remember to compensate all samples before proceeding
in analysis. Gates drawn on compensated parameters
cannot be dragged to uncompensated samples because
the compensated parameters don’t exist yet.
● If you are collecting your data on the new generation
FACS machines with digital data processing, there is no
need to partially compensate during collection.
● There is additional information about the compensation
matrix file and on manually editing the matrix at:
FlowJo compensation information:
1. Roederer, M. Compensation: A perspective.
2. Roederer, M. (1999). Compensation. In: Current
Protocols in Cytometry, Robinson, J.P., Darzynkiewicz, Z.,
Dean, P.N., Dressler, L.G., Rabinovitch, P.S., Stewart, C.C.,
Tanke, H.J. and Wheeless, L.L. (ed.), John Wiley &
Sons, Inc., New York.
6/1/02 • FlowJo Tech Note 101.1
FlowJo is a product of Tree Star, Inc.
Download PDF