[BioC] flowStats quadrantGate and rangeGate Question

Chao-Jen Wong cwon2 at fhcrc.org
Wed Jun 23 19:36:38 CEST 2010


Aric and I have exchanged some conversation about this problem.
Consequently I think it is a good idea to modify the 'quadrantGate' and
'rangeGate' functions such that the minor, yet significant,
sub-population below a specified reference line can be ignored when
calculating the separator between the positive and negative.  This
modification is already included in flowStats V 1.7.2 or newer.  One can
find it in the BioC-devel branch. Thanks again for Aric's comments.

Chao-Jen

On 06/03/10 13:46, Aric Gregson wrote:
> Hello,
>
> I am trying out the quadrant and rangeGate methods in flowStats with a small 
> sample of data. It seems that they do not play well with asinh transformed 
> data when there is a small, but significant, population below zero. I have 
> tuned the adjustable parameters sd, alpha and borderQuant as much as 
> possible, but with less than ideal results. What I am looking for I suppose 
> is a way to tell the algorithm to ignore points below 0 when calculating the 
> gates. 
>
> For example, in the fluorochrome channels there are two distinct populations 
> that have values above zero, and there is a small population with values 
> below zero. For determining positive and negative gates, only the two 
> populations that have values above zero should be considered. The values 
> below zero should be lumped in with the non-zero but still negative numbers. 
> Just wondering if there is a way to do this without having to manually 
> program the gates. 
>
> Thanks, Aric
>
> wf <- workFlow(fs, name="2009_03_05 Asinh Workflow")
> # remove boundry events before transformation as transform SSC
> boundaryfilter <- boundaryFilter(filterId = "boundaryfilter",
>                                  x = c("FSC.A", "SSC.A"))
> add(wf, boundaryfilter)
> singletfilter = polygonGate(`FSC.A` = 
> c(10000,13000,20000,40000,60000,80000,100000,160000,200000,263000,263000, 
> 200000,160000,100000,80000,60000,40000,20000,14000,8000),
>   `FSC.H` = 
> c(5000,5000,10000,22000,34000,50000,65000,115000,150000,200000,220000,170000,130000,78000,62000,45000,30000,15000,10000,5000),
>   filterId="Singlet")
> add(wf, singletfilter, parent="boundaryfilter+")
> asinhtf <- transformList(colnames(fs)[4:19],
>                          asinh,
>                          transformationId="asinh")
> add(wf, asinhtf, parent="Singlet+")
> lymphfilter <- lymphGate(Data(wf[["asinh"]]), channels=c("FSC.A", "SSC.A"), 
> preselection="APC.H7.A", filterId="Lymphs", eval=FALSE, scale=2)
> add(wf, lymphfilter$n2gate, parent="asinh")
> pars <- colnames(Data(wf[["base view"]]))[c(10,11,12,13,18,19)] 
> norm <- normalization(normFun = function(x, parameters, ...)
>                       warpSet(x, parameters, ...),
>                       parameters = pars,
>                       normalizationId= "Warping")
> add(wf, norm, parent="Lymphs+")
> ## absolute=T & borderQuant=0.9 help with CD3, but not CD4
> qgate <- quadrantGate(Data(wf[["Warping"]]),
>                       stains=c("AmCyan.A", "APC.H7.A"),
>                       plot=FALSE,
>                       filterId="CD3CD4",
>                       absolute=TRUE,
>                       borderQuant=0.8,
>                       alpha=0.9,
>                       sd=0.1)
> add(wf, qgate, parent="Warping")
> ## can't get much better than this without removing negative numbers
> qgateLive <- quadrantGate(Data(wf[["Warping"]]),
>                       stains=c("Indo.1..Violet..A", "APC.H7.A"),
>                       plot=TRUE,
>                       filterId="LiveCD4",
>                       absolute=TRUE,
>                       borderQuant=1, #0 is wrong direction
>                       alpha=1,#0.9
>                       sd=0)
>
>   
>> sessionInfo()
>>     
> R version 2.11.0 (2010-04-22) 
> amd64-portbld-freebsd8.0 
>
> locale:
> [1] C
>
> attached base packages:
> [1] splines   tools     stats     graphics  grDevices utils     datasets 
> [8] methods   base     
>
> other attached packages:
>  [1] flowStats_1.6.0     cluster_1.12.3      fda_2.2.1          
>  [4] zoo_1.6-3           flowQ_1.8.0         latticeExtra_0.6-11
>  [7] RColorBrewer_1.0-2  parody_1.6.0        bioDist_1.20.0     
> [10] KernSmooth_2.23-3   mvoutlier_1.4       outliers_0.13-2    
> [13] flowViz_1.12.0      lattice_0.18-5      flowCore_1.14.1    
> [16] rrcov_1.0-00        pcaPP_1.8-1         mvtnorm_0.9-9      
> [19] robustbase_0.5-0-1  Biobase_2.8.0       fortunes_1.3-7     
>
> loaded via a namespace (and not attached):
>  [1] AnnotationDbi_1.10.1 DBI_0.2-5            MASS_7.3-5          
>  [4] RSQLite_0.9-0        annotate_1.26.0      feature_1.2.4       
>  [7] geneplotter_1.26.0   graph_1.26.0         grid_2.11.0         
> [10] ks_1.6.12            stats4_2.11.0        xtable_1.5-6
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>   


-- 
Chao-Jen Wong
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Avenue N., M1-B514
PO Box 19024
Seattle, WA 98109
206.667.4485
cwon2 at fhcrc.org



More information about the Bioconductor mailing list