Introducing AutoSpectral: an optimized unmixing workflow
- olivertburton
- 3 days ago
- 3 min read
A few years ago, the Liston-Dooley lab put out AutoSpill as a tool to help you get better compensation in conventional flow cytometry. Today, I'm excited to launch AutoSpectral, which aims to do much the same for spectral flow.
With AutoSpectral, we provide an optimized, complete pipeline in R to make the best use of the information in the single-stained controls and reproducibly generate better unmixing.
Key features:
Per-cell autofluorescence extraction. No more guessing with multiple autofluorescence signatures, way less unmixing-dependent spread, way fewer problems.
Per-cell fluorophore signature optimization. Less spillover spread, fewer unmixing errors.
Optimized extraction of fluorophore signatures. This is what AutoSpill did. AutoSpectral improves on this with an "autofluorescence-aware" approach to identifying fluorophore signatures from messy cell controls. If you've ever improved your unmixing by tweaking the gates on your controls or had an expert re-unmix it for you, this is the sort of thing AutoSpectral improves on and automates. It is better than what I can do by hand.



So, read the pre-print on bioRxiv:
Inspect the unmixed examples:
Check out the other blog articles (also on GitHub):
And try out the code:
This is open source for academic use. It's not perfect. We aim to continue improving it with your feedback.
What AutoSpectral cannot do:
Magic. Blind spectral unmixing of 50-colour panels is not currently implemented.
Fix bad controls. If you have two colors in your "single-color" sample, it probably won't work (see control cleaning, though). If you have no signal, it won't work. If your controls were run on a different machine, with different instrument settings or using a different antibody/fluorophore, it won't work well. Note that this is likely to affect ID7000 samples, where Sony suggests running the controls on one set of voltages and the samples on another. I haven't put any time into figuring out how that works yet.
Fix poor panel design. If you have unmixing spread from using BV785 and BV786 in combination, AutoSpectral won't fix that. If you're using BB515 and FITC, it'll probably help quite a bit, though.
Fix non-specific staining. If you're struggling with this, check out the blocking articles on the blog.
Fix instrument errors. If your laser wasn't working, this won't help.
Fix all unmixing errors. AutoSpectral currently has some ability to fix unmixing errors, provided the controls are a representation of the sample. You can see some examples of errors being fixed in the pre-print, but you can also see some examples of errors not being fixed in the deliberately poorly designed 42-color Aurora data example. This is something I'm still working on.





