Designing your first flow cytometry panel can be overwhelming – it’s a highly complex technology, there are many biological and physical variables, and it’s not always clear where to start. In many cases, you may even be asked to design a pretty big panel before you have ever done it before. (Hint: don’t do it – start with less than 10 colors if you can!)
The good news is that you don’t need to figure everything out at once. Panel design becomes much more manageable when you break it down into steps:
1. Learn the basics (it’s hard but worth it)
Before getting too deep into panel design, make sure you’re comfortable with the fundamentals. Investing in understanding early on will prevent bad data and save you a lot of time troubleshooting later. This understanding includes understanding how the instrument works, fluorescent antibody staining, how fluorochromes work, which markers you need to detect your cells, and what compensation or unmixing are.
There are many good introductory resources available online, but I’ll highlight the resources by Waters (formerly BD) because it’s really well done. You don’t need to become an expert, but you do need to understand the terminology, technology, and concepts well enough that the rest of the process makes sense.
2. Determine your hardware limitations
The first constraint is your instrument. Learn your instrument configuration to determine how many markers you can comfortably detect in a panel, and which fluorochromes are compatible. Not every fluorochrome can be detected on every cytometer, and the exact configuration of lasers and detectors matters.
If you’re working with a core facility, this is something your core director can usually help with. Alternatively, you can ask them for their instrument configurations and then input those into Antibuddy (antibuddy.io), a tool I made for panel design, which will limit your options to fluorochromes that are compatible with your instrument.
3. Identify your markers (and antibody clones) from existing panels
Once you know how many markers you can detect, make a list of your markers of interest. If you don’t have a pre-defined list and you need to identify your cell type of interest, a good starting point for marker selection is to look at existing OMIPs (Cytometry Part A) or other published panels that are close to your use case. These can give you a sense of which markers are typically used to define your population of interest, as well as which antibody clones have been shown to work for those markers.
This step is especially helpful for narrowing down clone choices for your species, since not all clones perform equally well across species or applications. Starting from something that has already been used successfully is much easier than trying to build everything from scratch.
4. Pair markers with appropriate fluorochromes
This is where panel design starts to come together. It’s probably the toughest part and it’s where I’m going to talk the most about Antibuddy because these complexities are exactly why I built it.
For each marker, you need to assign a fluorochrome that provides enough signal to detect it clearly.
In practice, this means thinking about brightness and marker co-expression. Low-expression markers (like CXCR5) generally need brighter fluorochromes, while highly expressed markers (like CD45) are more flexible. You can estimate this based on information from OMIPs (in the supplementary materials) or tools like the detailed marker information panel in Antibuddy.
In addition, try to avoid putting co-expressed markers (markers expressed on the same cell type) on fluors that are are spectrally similar (overlapping emissions). For example, you would not want to put CD25 and CD127 to identify Tregs on BV480 and BV510 if you can avoid it. This is because many instruments cannot easily distinguish their emission spectra from each other, which can lead to greater variance in their signal estimation. This results in spread that can overwhelm dim positive signals. In addition, using antibodies with similar fluors when targeting co-expressed markers can create a high degree of fluor coupling such that errors in estimating signals in one fluor will cause errors in the other. You can visualize and correct problematic fluor relationships in the Instrument and Score tabs of Antibuddy.
At the same time, you need to check what is actually available, either commercially or within your lab’s inventory. Not every ideal combination will exist, so there is usually some level of compromise. Make sure to prioritize your most important markers with fluors that are likely to work.
If you want to avoid doing all of this manually, you can try generating a panel automatically with the Antibuddy SmartPanel algorithm.
5. Perform a basic QC check on your panel
Before ordering antibodies, it’s worth doing a quick quality check on the panel as a whole in the “Score” view of Antibuddy. This step is often skipped, but it can prevent a lot of downstream issues.
Some useful checks include:
- Whether the antibody-fluorochrome combinations have been used before
- The η FIM value (with values closer to 1 indicating better performance)
- The CRLB diagonal S values (to ensure no fluorochromes are excessively noisy)
- The CRLB fluor-pair (off-diagonal) values (to avoid pairs that are highly correlated, ideally keeping this close to 0 and distant from -1 or 1.
If you see potential problems, one simple strategy is to reassign antibodies to different fluors, especially where there is more spectral space or fewer competing fluorochromes (in the Instrument view).
Antibuddy performs the math behind these QC steps automatically, but it’s useful to understand what is being evaluated and what the results mean.
6. Purchase antibodies and test at a reduced concentration
Once you have a panel you’re comfortable with, you can move forward with ordering antibodies. When testing for the first time, one tip is that it’s often helpful to start at around 0.5x the manufacturer’s recommended volume. Most of the time, I find 1x the recommended volume to be too high, and that makes the negative cell population look shifted to the positive instead of over 0.
Testing the antibodies in the full panel will give you a better sense of how the antibody performs before committing to a final concentration.
7. Check that expression matches expectations
After running your initial experiment, compare your results to what you would expect based on OMIPs or prior knowledge. Are the populations where you expect them to be? Are the markers clearly resolving the intended cell types?
If your data doesn’t look as expected, especially for markers that have been previously validated in the literature, 1) ask for advice from your core director, 2) solicit advice from the r/flowcytometry subreddit and Discord, and 3) do your own evaluation (as follows) before assuming the panel design is wrong.
First, check the staining protocol. Some markers require specific conditions that aren’t always obvious. Chemokine receptors (CCRs), for example, often require sequential staining rather than being added in a single cocktail. Certain fluorochromes, including Nova Fluors and Brilliant Fluors, can perform poorly or cause streaking without the appropriate buffers. Excessive antibody during a prolonged stimulation can kill cells because of the sodium azide preservative. Dead cells can cause weird streaks and artefacts. If your negative populations are not cleanly separated from your positives (for example, if they are not centered near zero), this is often something that improves after proper titration rather than a fundamental panel issue.
In cases where a marker still doesn’t resolve well after optimizing staining conditions and titration, you may need to swap to a different antibody or fluorochrome. This is usually a last step, but it’s sometimes necessary if a particular combination simply doesn’t produce sufficient separation.
If things look reasonable, then proceed to antibody titrations:
8. Titrate your antibodies
The next step is to titrate your antibodies to optimize signal-to-noise ratio (i.e., reduce background staining while saturating marker staining).
A typical approach is a 5-point dilution series, such as:
- 2x
- 1x
- 0.5x
- 0.25x
- 0.125x of the manufacturer’s recommended volume
It is often helpful to include a viability dye and, where possible, a lineage marker co-stain (such as CD3, CD14, or CD19) to make it easier to interpret the results during titration. If you have enough samples to swing it, an 8-point titration (0.0625x, 0.0312x, and 0.015x) is even better. It is not uncommon to need such tiny volumes of antibody, even when the manufacturer recommends far more.
9. Final test of titrated volumes
You’ll want to do one final test panel with titrated antibody volumes, because it does happen that the titrated volume doesn’t end up looking as good in the final panel. This can be because when all the fluors are combined, there can be spread of the negative population that diminishes the resolution (decreases signal-to-noise of positive vs negative), steric hindrance of antibodies, or other issues. You may find that you need to increase the volume of an antibody or two relative to your titrated volume selection. Another tip is to purchase many vials of the same lot, so that you don’t need to re-titrate every time you get a new antibody lot.
Final thoughts
Designing a flow cytometry panel involves many interconnected decisions and it’s not easy to do. Working from existing panels, understanding your instrument, and being deliberate about brightness and compatibility can go a long way toward avoiding major issues. If you have a solidly designed panel with limited fluor interactions, the payoff will be tremendous once you start running your samples and getting great, reliable data.
In this blog post, I also didn’t talk about compensation or reference controls, but if you see populations shooting out of the sides of your plots, that’s often an issue with compensation/unmixing. Make sure that for compensation, your controls are made with the same antibody and are at least as bright or brighter than the expression on your samples. For unmixing, the entire spectral signature of the fluor should match exactly as what is observed on the sample – sometimes this means that you’ll need to use cell-based controls instead of beads and put more time into making sure those controls are just right. I will make a post about these in the future!
It’s important to recognize that this process is inherently complex. I made Antibuddy to help simplify many of these factors, as well as to leverage data about antibodies already tested by all of us in the flow community so that we aren’t starting from scratch each time. Feel free to reach out with questions!






