Cell populations of roughly elliptical shape in two-dimensional projections are of huge interest in many flow cytometry applications. This function identifies a single such population, potentially from a mixture of multiple populations.
lymphGate(x, channels, preselection=NULL, scale=2.5, bwFac=1.3, filterId="defaultLymphGate", evaluate=TRUE, plot=FALSE, ...)
flowSet
. x
. NULL
, in which case this boils down
to fitting a regular
norm2Filter
, a
character scalar giving one of the flow parameters in x
, or a
named list of numerics specifying the initial rough
preselection. The latter gets passed on to
rectangleGate
, see it's documentation for
details. scaleFactor
parameter that gets passed on to
norm2Filter
. curv1Filter
. filterResult
and the subset). flowSet
. norm2Filter
object. filterResult
after
applying the norm2Filter
on the flowSet
. lymphGate
function. Note that x
and
n2gateResults
are NULL
when eval=FALSE
.parameterFilter
,
directly. Class concreteFilter
,
by class "parameterFilter", distance 2. Class filter
, by class
"parameterFilter", distance 3. Arguments
section for details. preselection
:character
, the
name of the flow parameter used for preselection. rectDef
:list
, the initial
rectangular selection. scale
:numeric
.bwFac
:numeric
.parameters
:parameters
, the flow
parameters to operate on. filterId
:"character"
, the
filter identifier. new("lymphFilter",
parameters, ...)
or using the constructor lymphFilter
. The
constructor is the recommended way of object instantiation. This algorithm does not apply real mixture modelling, however it is able to identify a single elliptical cell population from a mixture of multiple such populations. The idea is to first define a rough rectangular preselection and, in a second step, fit a bivariate normal distribution to this subset only.
Depending on the value of preselection
, the initial rough
selection is either
CD4+
T-cells and using this
information to back-gate lymphocytes in FSC
and
SSC
. Positive cells are identified using a
curv1Filter
.
norm2Filter
,
curv1Filter
data(GvHD)
dat <- GvHD[pData(GvHD)$Patient==10]
dat <- transform(dat, "FL4-H"=asinh(`FL4-H`))
lg <- lymphGate(dat, channels=c("FSC-H", "SSC-H"), preselection="FL4-H",scale=1.5)
if(require(flowViz))
xyplot(`SSC-H`~`FSC-H`, dat, filter=lg$n2gate)
Run the code above in your browser using DataLab