Package 'curvHDR'

Title: Filtering of Flow Cytometry Samples
Description: Filtering, also known as gating, of flow cytometry samples using the curvHDR method, which is described in Naumann, U., Luta, G. and Wand, M.P. (2010) <DOI:10.1186/1471-2105-11-44>.
Authors: Matt Wand [aut, cre], George Luta [aut], Ulrike Naumann [aut], Mathew W. McLean [ctb], Dai Feng [ctb], Luke Tierney [ctb], Florian Hahne [ctb]
Maintainer: Matt Wand <[email protected]>
License: GPL (>= 2)
Version: 1.2-2
Built: 2024-11-02 04:43:10 UTC
Source: https://github.com/cran/curvHDR

Help Index


Filtering via the curvHDR method.

Description

Filter univariate or bivariate data using the curvHDR method. The motivating application is flow cytometry, where the filters endeavour to mimic human-perceived gates.

Usage

curvHDRfilter(x, HDRlevel, growthFac = NULL, signifLevel = 0.05,
              bwFac = 1, gridsize = NULL, removeDebri = TRUE,
              minSampSize = NULL, HpiGridSize = NULL, quiet = TRUE,
              graphChk = FALSE)

Arguments

x

array containing the input data, typically corresponding to flow cytometric measurements. x should either be a numerical vector (univariate input data) or a matrix or data frame having 1-3 columns.

HDRlevel

number between 0 and 1 corresponding to the level of the highest density region within each high curvature region.

growthFac

growth factor parameter. High curvature regions are grown to have ‘volume’ growthFac times larger than the original region.The default value of growthFac is 5^(d/2) where d is the dimension of the input data.

signifLevel

number between 0 and 1 corresponding to the significance level for curve region determination. The default value of signifLevel is 0.05.

bwFac

bandwidth factor. The default bandwidth is multiplied by bwFac. The default value of bwFac is 1.

gridsize

vector of number of grid points in each direction

removeDebri

Boolean flag for removal of ‘debri’ points in the input data. The default value of removeDebri is true.

minSampSize

curvHDR regions with less than minSampSize are excluded. The default value of minSampSize is 50*(2^(d-1)) where d is the dimension of the input data.

HpiGridSize

gridsize used for plug-in bandwidth selection in the case where the input data is trivariate. The default value of HpiGridSize is rep(21,3).

quiet

Boolean flag for ‘quiet’ running. If quiet is FALSE then progress reports on during filter determination are given. The default value of quiet is TRUE

graphChk

Boolean flag for graphical checking. If graphChk is TRUE then graphical displays for each stage of the curvHDRfilter() are sent to the screen. At the first stage, the input data are plotted. Then the high negative curvature regions are shown in purple. This is followed by a display, in green, of the growthFac-magnifications of the convexified high negative curvature regions. The final gates, corresponding to highest density regions for each green region, are shown in blue. The default value of graphChk is FALSE

Value

data

the input data (for use in plotting).

insideFilter

logical variable indicating the rows of the input data matrix corresponding to points inside the curvHDR filter.

polys

the curvHDR filter. Depending on the dimension d this is a list of intervals (d=1), polygons (d=2) or polyhedra (d=3).

HDRlevel

highest density region level

Author(s)

G. Luta, U. Naumann and M.P. Wand

References

Naumann, U., Luta, G. and Wand, M.P. (2009).
The curvHDR method for gating flow cytometry samples.
BMC Bioinformatics, 11:44, 1-13.

See Also

plot.curvHDRfilter

Examples

library(curvHDR)

# Univariate curvHDR examples:

xUniv <- c(rnorm(1000,-2),rnorm(1000,2))

gate1a <- curvHDRfilter(xUniv)
plot(gate1a)
print(gate1a$poly) # List of intervals that define gate1a.
## Not run: print(gate1a$insideFilter)  # Indicators of inclusion of
                                     # xUniv inside gate1a.

## End(Not run)

gate1b <- curvHDRfilter(xUniv,HDRlevel=0.5)
plot(gate1b)
print(gate1b$poly) # List of intervals that define gate1b. 
## Not run: print(gate1b$insideFilter) # Indicators of inclusion of
                                     # xUniv inside gate1b.

## End(Not run)

# Bivariate curvHDR examples:

xBiva <- cbind(c(rnorm(1000,-2),rnorm(1000,2)),
               c(rnorm(1000,-2),rnorm(1000,2)))

## Not run: gate2a <- curvHDRfilter(xBiva)
plot(gate2a)
print(gate2a$poly) # List of polygon vertices that define gate2a.
print(gate2a$insideFilter) # Indicators of inclusion of
                             # xBiva inside gate2a.

## End(Not run)

## Not run: 
gate2b <- curvHDRfilter(xBiva,HDRlevel=0.5)
plot(gate2b)
print(gate2b$poly)           # List of polygon vertices that define gate2b.
print(gate2b$insideFilter)   # Indicators of inclusion of
                             # xBiva inside gate2b.

## End(Not run)

# Trivariate curvHDR examples:

## Not run: 
xTriv <- cbind(c(rnorm(1000,-2),rnorm(1000,2)),
               c(rnorm(1000,-2),rnorm(1000,2)),
               c(rnorm(1000,-2),rnorm(1000,2)))

gate3a <- curvHDRfilter(xTriv)
plot(gate3a)
print(gate3a$poly)         # List of polyhedron elements that define gate3a.
print(gate3a$insideFilter) # Indicators of inclusion of
                           # xTriv inside gate3a.

## End(Not run)

## Not run: 
gate3b <- curvHDRfilter(xTriv,HDRlevel=0.5)
plot(gate3b)
print(gate3b$poly)          # List of polyhedron elements that define gate3b.
print(gate3b$insideFilter)  # Indicators of inclusion of
                            # xTriv inside gate3b.

## End(Not run)

Display the package's vignette.

Description

The vignette of the curvHDR package is displayed using the default PDF file browser. It provides a detailed detailed description of use of the package for gating flow cytometry data using the curvHDR method.

Usage

curvHDRvignette()

Author(s)

Matt Wand[email protected], G. Luta[email protected] and U. Naumann[email protected]

Examples

if(interactive())
   {
      curvHDRvignette()
   }

Plot a curvHDR filter.

Description

Takes an object of class curvHDR, produced by curvHDRfilter(), and then plots it together with (a subset of) the data.

Usage

## S3 method for class 'curvHDRfilter'
plot(x,removeDebri=TRUE,pch=NULL,cex=NULL,
                             bty=NULL,col=NULL,main=NULL,...)

Arguments

x

a fitted curvHDRfilter object as produced by curvHDRfilter().

removeDebri

Boolean flag for removal of ‘debri’ points in the input data. The default value of removeDebri is TRUE.

pch

Plotting character specification.

cex

Character expansion factor.

bty

Box-type for the plotting frame.

col

Colour of the points.

main

Main label on the plot.

...

Other graphical parameters.

Value

The function generates a plot.

Author(s)

G. Luta, U. Naumann and M.P. Wand

References

Naumann, U., Luta, G. and Wand, M.P. (2009).
The curvHDR method for gating flow cytometry samples.
BMC Bioinformatics, 11:44, 1-13.

See Also

curvHDRfilter

Examples

library(curvHDR)

# Univariate curvHDR example:

xUniv <- c(rnorm(1000,-2),rnorm(1000,2))
gate1 <- curvHDRfilter(xUniv)
plot(gate1)

# Bivariate curvHDR example:

xBiva <- cbind(c(rnorm(1000,-2),rnorm(1000,2)),
               c(rnorm(1000,-2),rnorm(1000,2)))
gate2 <- curvHDRfilter(xBiva)
plot(gate2)

# Trivariate curvHDR example:

## Not run: 
xTriv <- cbind(c(rnorm(1000,-2),rnorm(1000,2)),
               c(rnorm(1000,-2),rnorm(1000,2)),
               c(rnorm(1000,-2),rnorm(1000,2)))
gate3 <- curvHDRfilter(xTriv)
plot(gate3)

## End(Not run)