August 23, 2011  |  Education, Flow Cytometry  |  By  |  5 Comments

Future Proofing Your Experiments and Files: The Importance of Annotation

Ever find yourself staring at a folder of FCS files and thinking, “Wait, now which tubes did I add PMA to, how much did I add, and which samples were these again?”

Jonathan from Cytobank/Stanford recommends what he calls “future proofing” in order to avoid this problem. He explained this approach during a CYTO 2011 Pre-Congress course in his talk titled “Flood Cytometry: Embracing Single Cell Systems Biology (and coping with large cytometry experiments).” In that talk, he outlined four easy steps that are useful for experiments of all sizes.

When collecting on the cytometer:

  1. Tag your FCS files with key experiment details (e.g. “Patient-J01 IL-2 15m”)
  2. Label the channels you are measuring (before collecting data)
  3. Make sure scales and compensations work (before collecting data)
  4. Encode clinical sample IDs (don’t use HIPAA sensitive information)
Click the image to download as a PPT slide

You’ll notice right away that these things are “obvious” – you know that you should be following these steps, but maybe you feel like you don’t really have the time. In fact, you don’t have the time NOT to do these steps! Spending a few minutes doing these things at the start of your experiment will save you hours during analysis and protect your data from oblivion.

The annotation process in Cytobank is designed to take advantage of any information you entered during sample collection. The more information you enter during collection, the easier and faster your analysis in Cytobank becomes (watch this video to see an example of annotating the Conditions figure dimension). Not only do annotations help you build and arrange your plots in Cytobank, they are also there to help you or your collaborator identify which FCS file corresponds with which experimental sample.

The main rule for tagging your FCS files during sample collection is to include the information that makes that sample unique within that particular experiment. You want to avoid maintaining a parallel “key” in your lab notebook that explains what your FCS files are. There is often some pressure to collect your files quickly while on the cytometer and thus, you may end up not filling in a unique tag for each file. The concern is not that you will lose the key (which of course would be really bad), but instead that having to correlate the files with the key creates several issues:

  1. It’s boring and slow, which creates a barrier to re-using that data later
  2. There may be mistakes in deciphering the key and files if it’s being done by a person, especially if it’s not the person who originally collected the samples
  3. You lose the opportunity to search your files in Cytobank according to experimental variables (e.g. “show me all the experiments where I studied Patient-J01” or “where I stimulated with IL-2” or “where I measured p-STAT5”)
  4. Neither you nor you collaborators are able tell “at a glance” what the experiment was about

Experiment variables are often things like timepoints, stimulation conditions, dosages, what you measured on each channel, and codes for individual patients. In the example above, the file or sample name is “Patient-J01 IL-2 15m”, which might mean that the cells in that file were from Patient J01 and were treated with IL-2 for 15 minutes as part of the experiment.

We recommend the labeling strategy below. The instructions are tailored to BD’s FACSDiva software but are generally applicable to any other data acquisition software for cytometers.

Specimen (or tube) labels

Label each specimen and tube with text indicating how it is unique within the experiment. You might include one or more of the following:

  • Sample type: Samples can include major classifications of the samples tested (e.g., wild-type vs. knock-out, tumor vs. normal, cell lines vs. whole blood, spleen, or lymph node).
  • Condition: Conditions can represent stimuli or inhibitors used in the experiment (e.g., IL-2, IL-6, PMA, inhibitor14, drug35), or alternatively, growth mediums or cell state (e.g., fresh cells, frozen cells).
  • Timepoint: Timepoints are specified durations used in the experiment. For example, in a phospho-flow experiment, these can represent times that samples were allowed to signal before being fixed (e.g., 30 s, 5 min, 4 h).
  • Dosages: Dosage titrations are various concentrations of a stimulus or inhibitor used in the experiment (e.g., 0.1 ng/mL, 10 ng/mL).
  • Individual: Individuals can be different donors or animals (e.g., donor3, BALB/c5).


  • 2min IFNa 003
  • s2 lp-j110_panel 8 cd3 cd127 cd25_singlets
  • 01 healthy whole blood donor1 IL-2 10 ng-mL 15 min
  • Patient-J01_AtDiag_Panel1

Parameter (or channel) labels

Label each channel with the name of the thing you are measuring, which is often an antibody specificity. For phospho-flow experiments, the phospho-protein should be specifically identified, and it can be useful to indicate the amino acid residue whose state you are probing.

In addition, indicate in the channel name the way you are measuring that channel. For fluorescence flow cytometry, this is usually a fluorophore.


  • CD3-PerCP-Cy5.5
  • CD4-PacBlue
  • CD10-Gd156
  • p-STAT5-Ax488
  • p-p53-S15-Ax647
  • Foxp3-EGFP

Compensating at the machine

If you compensate at the machine, Cytobank will see a “file-internal compensation” that you can use. If you want, Cytobank can extract this and save it as an editable software compensation, so you can always tweak it later. (Watch our video tutorial on modifying file-internal compensation.)

Codes for clinical samples

For clinical work, we recommend users create a coding system for human patients so that 1) they never put private patient information into flow cytometry files and 2) they have an easy to read identifier for patients that can be used in figures, slides, and papers.

Getting your labels into Cytobank

After exporting your FCS files from your acquisition software (see our blog posts on exporting from Diva and working with Accuri data), the details that you entered will be included in the name of the FCS file or included within the FCS file itself. When these files are uploaded to Cytobank, the specimen/tube names and parameter labels should be imported into Cytobank and can be used to annotate your files. If they are not, please let us know and we can work with you to see if there’s a way to transfer those tags into Cytobank!

Watch these videos to see how to annotate the Channels dimension or how to annotate other dimensions such as Conditions. The interface for Conditions and similar Figure Dimensions has been slightly updated from the one you see in the videos, but functions in a similar manner.

– Stephanie