Compensation
Editing compensation requires a license.
Where the matrix comes from
Section titled “Where the matrix comes from”Three routes, in descending order of convenience:
- From the FCS file. If your acquisition software wrote a spillover matrix into the file, it is already there.
- Computed from single-stain controls. Open the controls and let the app derive the matrix.
- Imported. Bring a matrix in from another tool.
You can also edit any matrix cell by cell, which is what you end up doing when one channel pair is stubborn and everything else is right.
Auto-compensation from single-stain controls
Section titled “Auto-compensation from single-stain controls”Give the app your single-stain controls and it computes the spillover coefficients. This is the route to prefer when you have the controls: a hand-tuned matrix drifts between operators, and a computed one is reproducible.
Check the result rather than trusting it: compensation is only as good as the controls, and a control that is dim, saturated or mislabelled produces a confident and wrong matrix.
FMO thresholds
Section titled “FMO thresholds”Fluorescence-minus-one controls establish where “positive” actually starts for a channel in the context of your full panel. The app can calculate thresholds from FMO controls, which is a more defensible boundary than eyeballing a gate on the fully-stained sample.
Reading a compensated plot
Section titled “Reading a compensated plot”Compensation subtracts signal, so negative values are normal afterwards. If your dim populations disappear or smear against the axis, that is a scale problem, not a compensation problem — switch the axis to logicle, asinh or hyperlog.
Order of operations
Section titled “Order of operations”- Confirm channel names are right — see the parameter editor in The interface.
- Apply or compute compensation.
- Choose scales.
- Gate.
Compensating after gating means the gates were drawn in a coordinate space that no longer exists. The app will not stop you, but check every gate afterwards.
Exporting the matrix
Section titled “Exporting the matrix”The matrix can be exported, which is worth doing for the record: it is part of how a result was produced, and a figure without it is not reproducible.
On correctness
Section titled “On correctness”The compensation implementation is checked against FlowKit — an independent reference implementation — and agrees to within 6×10⁻⁸ on an asymmetric test matrix, with a round-trip test pinning the convention so the transpose cannot silently invert.
That is worth stating plainly because a transposed spillover matrix is a real and notoriously quiet failure mode: it produces plots that look plausible and numbers that are wrong.