Skip to content

exaexa/panelbuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PanelBuildeR

A small R Shiny app for base processing of flow cytometry samples. Main functions include:

  • advanced acquisition of clean spectra from single-stains
  • exporting and importing saved spectra in interoperable JSON format
  • combining spectra in panels, calculating SNRs (and some other useful metrics) for the spectra combinations
  • multicolor and spectral unmixing/compensation

The functionality is mostly cytometer- and method-agnostic, and should generally work with anything that produces FCS3 files. We have successfully applied this to data from several cytometer vendors (both spectral and the "traditional" multicolor).

Acknowledgements

PanelBuildeR was developed at the IOCB Prague and IHBT Prague, in cooperation with Liston Lab of the Babraham Institute. The development was supported by the Czech node of ELIXIR, the European infrastructure for life science.

IOCB logo   IHBT logo   Babraham Institute logo   ELIXIR logo

Screenshot

screenshot

Available algorithms & tools

  • Spectra acquisition:
    • cleaning spectra with non-linear regression (e.g.: remove harsh autofluorescence from a singlestain with dim antigen/fluorochrome combination)
    • Theil-Sen etimation (extremely noise- and outlier-resistant)
  • Panel quality estimation using signal-to-noise ratios
    • Estimation of spectra of hypothetical singlestains from available data about antigen and fluorochrome brightness
    • (Not yet implemented:) finding of optimal panel assignments
  • Unmixing
    • non-linear regression (the implemented variant is similar to non-negative least squares, but also supports non-negative residuals to better capture the incoming Poisson noise)
    • OLS and several weighted variants thereof
    • MAPE-like unmixing
    • some useful data exported FCS files, e.g. unmixing RMSE and specific residuals
    • simple post-unmixing compensation

Installation

You can install this using devtools directly from the GitHub repository. You will first need the unmixing package nougad:

devtools::install_github('exaexa/nougad')

Check out the nougad documentation for some helpful hints about installation; in particular there might be very desirable hardware-accelerated variants.

After that, install PanelBuildeR:

devtools::install_github('exaexa/panelbuilder')

Once the package is installed, simply run the panelbuilder() function:

library(panelbuilder)
panelbuilder()

You should get a browser window open with the PanelBuildeR UI running.

Quick How-To

  • Use the menu on the left side to navigate
  • Import spectra from singlestains on the "Import" page. Take care with proper annotation of the spectra, you will need it later. Do not forget to measure the autofluorescence!
  • On "Spectra" page, select spectra that you want to use. You will see them on "Panel" page.
  • Panel design: If you imported multiple spectra that describe the same antigen, you may switch them on the "Panel" page now, trying you multiple variants of your panel. In some cases, the program may have enough information to estimate the spectra from singlestains that you did not import, which you can use too. This gives some estimate of how the panel will perform before you try it with real reagents and cells.
  • Unmixing: You may use the imported singlestains on the "Unmixing" page, for unmixing/compensating any FCS file that contains matching channels. The unmixing will use the antigen/fluorochrome combination specified on the "Panel" page.

Development

PanelBuildeR is designed for easy modification, so that we can quickly try various new ideas and algorithms for processing the samples and spectra. To get a "development" environment, clone the repository, and use test.R for bootstrapping and running a local installation:

git clone https://github.com/exaexa/panelbuilder.git
cd panelbuilder
R -f test.R

The software is new, there may be bugs and compatibility problems. If anything looks fishy, feel free to open an issue!

About

Panel optimization and unmixing tool for multicolor and spectral cytometry

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages