View source: R/flowDensity_methods.R
deGate | R Documentation |
Find the best threshold for a single channel in flow cytometry data based on its density distribution.
deGate(obj,channel, n.sd = 1.5, use.percentile = FALSE, percentile =NA,use.upper=FALSE, upper = NA,verbose=TRUE,twin.factor=.98,
bimodal=F,after.peak=NA,alpha = 0.1, sd.threshold = FALSE, all.cuts = FALSE,
tinypeak.removal=1/25, adjust.dens = 1,count.lim=20,magnitude=.3,slope.w=4,seq.w = 4, spar = 0.4, ...)
obj |
obj: a 'FlowFrame' object, 'CellPopulation' or 'GatingHierarchy' |
channel |
a channel's name or its corresponding index in the 'flow.frame'. |
n.sd |
an integer coefficient for the standard deviation to determine the threshold based on the standard deviation if 'sd.threshold' is TRUE. |
use.percentile |
if TRUE, forces to return the 'percentile'th threshold. |
percentile |
A value in [0,1] that is used as the percentile. The default is NA. If set to a value(n) and use.percentile=F, it returns the n-th percentile, for 1-peak populations. |
use.upper |
Logical. If TRUE, forces to return the inflection point based on the first (last) peak if upper=F (upper=T). Default value is set to 'FALSE' |
upper |
if TRUE, finds the change in the slope at the tail of the density curve, if FALSE, finds it at the head. Default value is set to 'NA'. |
verbose |
Logical. If TRUE, Prints a message if only one peak is found, or when inflection point is used to set the gates. |
twin.factor |
a value in [0,1] that is used to exclude twinpeaks |
bimodal |
Logical. If TRUE, it returns a cutoff that splits population closer to 50-50, when there are more than two peaks. |
after.peak |
Logical. If TRUE, it returns a cutoff that is after the maximum peaks, when there are more than two peaks. |
alpha |
a value in [0,1) specifying the significance of change in the slope being detected. This is by default 0.1, and typically need not be changed. |
sd.threshold |
if TRUE, uses 'n.sd' times standard deviation as the threshold. Default value is set to 'FALSE'. |
all.cuts |
if TRUE, returns all the identified cutoff points, i.e. potential thresholds for that channel. Default value is set to 'FALSE'. |
tinypeak.removal |
A number in [0,1] to exclude/include tiny peaks in density distribution. |
adjust.dens |
The smoothness of density in [0,Inf] to be used in density(.). The default value is 1 and should not be changed unless necessary |
count.lim |
minimum limit for events count in order to calculate the threshold. Default is 20, returning NA as threshold. |
magnitude |
A value between 0 and 1, for tracking a slope and reporting changes that are smaller than magnitude*peak_height |
slope.w |
window.width for tracking slope. Default is 4, calculating a slope based on 4 points before and after the current point. |
seq.w |
value used for making the sequence of density points, used in trackSlope. |
spar |
value used in smooth.spline function, used in generating the density, default is 0.4. |
... |
Extra arguments to be passed to smoothSpline function. |
deGate works for GatingHierarchy, flowFrame, CellPopulation object or a numeric vector of data. In case the input is a numeric vector, channel doesn't need to provided, but the rest of arguments can be used to tune the outcome.
an integer value (vector) of cutoff(s), i.e. threshold(s), on the specified channel
Mehrnoush Malek <mmalekes@bccrc.ca>
getflowFrame
notSubFrame
flowDensity
data_dir <- system.file("extdata", package = "flowDensity")
load(list.files(pattern = 'sampleFCS_1', data_dir, full = TRUE))
#Find the threshold for CD20
cd19.gate <- deGate(f,channel="PerCP-Cy5-5-A")
# Gate out the CD20- populations using the notSubFrame
plotDens(f,c("APC-H7-A","PerCP-Cy5-5-A"))
abline(h=cd19.gate,lty=3,col=2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.