1
- flowClust <- function (x , expName = " Flow Experiment" , varNames = NULL , K , B = 500 , tol = 1e-5 , nu = 4 , lambda = 1 , nu.est = 0 , trans = 1 , min.count = 10 , max.count = 10 , min = NULL , max = NULL , level = 0.9 , u.cutoff = NULL , z.cutoff = 0 , randomStart = 0 , B.init = B , tol.init = 1e-2 , seed = 1 , criterion = " BIC" , control = NULL , prior = NULL ,usePrior = " no" )
1
+ flowClust <- function (x , expName = " Flow Experiment" , varNames = NULL , K
2
+ , nu = 4 , lambda = 1 ,trans = 1 , min.count = 10 , max.count = 10 , min = NULL , max = NULL
3
+ , randomStart = 0 , prior = NULL ,usePrior = " no" , criterion = " BIC" , ... )
2
4
{
3
5
if (is(x , " flowFrame" )) {
4
6
if (length(varNames )== 0 ) {
@@ -115,24 +117,23 @@ flowClust<-function(x, expName="Flow Experiment", varNames=NULL, K, B=500, tol=1
115
117
{
116
118
message(" Using the serial version of flowClust" )
117
119
# C version
118
- result <- lapply(as.list(1 : length(K )),.flowClustK , y , expName = expName , varNames = varNames , K = K , B = B , tol = tol , nu = nu , lambda = lambda , nu.est = nu.est , trans = trans , min.count = min.count , max.count = max.count , min = min , max = max , level = level , u.cutoff = u.cutoff , z.cutoff = z.cutoff , randomStart = randomStart , B.init = B.init , tol.init = tol.init , seed = seed , criterion = criterion , control = control ,include = include , rm.max , rm.min , prior ,usePrior )
120
+ result <- lapply(as.list(1 : length(K )),.flowClustK , y , expName = expName , varNames = varNames , K = K , criterion = criterion
121
+ , nu = nu , lambda = lambda , trans = trans , min.count = min.count , max.count = max.count , min = min , max = max
122
+ , randomStart = randomStart , include = include , rm.max , rm.min , prior ,usePrior
123
+ , ... )
119
124
}
120
125
else if (length(grep(" parallel" ,loadedNamespaces()))== 1 )
121
126
{
122
127
require(parallel )
123
128
# Split into nClust segReadsList
124
129
# We solely rely on getOption("mc.cores",2L) to determine parallel cores.
125
130
# and don't want to pass mc.cores explicitly because on windows, mclapply does not take mc.cores>1
126
- result <- mclapply(as.list(1 : length(K )),.flowClustK , y , expName = expName , varNames = varNames , K = K , B = B , tol = tol , nu = nu , lambda = lambda , nu.est = nu.est , trans = trans , min.count = min.count , max.count = max.count , min = min , max = max , level = level , u.cutoff = u.cutoff , z.cutoff = z.cutoff , randomStart = randomStart , B.init = B.init , tol.init = tol.init , seed = seed , criterion = criterion , control = control ,include = include , rm.max , rm.min , prior ,usePrior , mc.preschedule = FALSE )
131
+ result <- mclapply(as.list(1 : length(K )),.flowClustK , y , expName = expName , varNames = varNames , K = K , criterion = criterion
132
+ , nu = nu , lambda = lambda , trans = trans , min.count = min.count , max.count = max.count , min = min , max = max
133
+ , randomStart = randomStart , include = include , rm.max , rm.min , prior ,usePrior , mc.preschedule = FALSE
134
+ , ... )
127
135
}
128
- # else if(length(grep("snowfall",loadedNamespaces()))==1 && sfParallel())
129
- # {
130
- # Number of clusters
131
- # nClust<-sfCpus()
132
- # message("Using the parallel (snowfall) version of flowClust with ", nClust, " cpus or cores")
133
- # result<-sfLapply(as.list(1:length(K)),.flowClustK, y, expName=expName, varNames=varNames, K=K, B=B, tol=tol, nu=nu, lambda=lambda, nu.est=nu.est, trans=trans, min.count=min.count, max.count=max.count, min=min, max=max, level=level, u.cutoff=u.cutoff, z.cutoff=z.cutoff, randomStart=randomStart, B.init=B.init, tol.init=tol.init, seed=seed, criterion=criterion, control=control,include=include, rm.max, rm.min, prior,usePrior)
134
- # }
135
-
136
+
136
137
# Simply return a flowClust object
137
138
if (length(K )== 1 )
138
139
{
@@ -147,7 +148,10 @@ flowClust<-function(x, expName="Flow Experiment", varNames=NULL, K, B=500, tol=1
147
148
}
148
149
}
149
150
150
- .flowClustK <- function (i , y , expName = " Flow Experiment" , varNames = NULL , K , B = 500 , tol = 1e-5 , nu = 4 , lambda = 1 , nu.est = 0 , trans = 1 , min.count = 10 , max.count = 10 , min = NULL , max = NULL , level = 0.9 , u.cutoff = NULL , z.cutoff = 0 , randomStart = 10 , B.init = B , tol.init = 1e-2 , seed = 1 , criterion = " BIC" , control = NULL , include , rm.max ,rm.min , prior ,usePrior )
151
+ .flowClustK <- function (i , y , expName = " Flow Experiment" , varNames = NULL , K
152
+ , nu , lambda , trans , min.count , max.count , min , max , randomStart , include , rm.max ,rm.min , prior ,usePrior , criterion # default values set in flowClust API
153
+ , nu.est = 0 , B = 500 , tol = 1e-5 , level = 0.9 , u.cutoff = NULL , z.cutoff = 0 , B.init = B , tol.init = 1e-2 , seed = 1 , control = NULL
154
+ )
151
155
{
152
156
oorder <- 1 : K [i ]
153
157
.model <- 1 ; # Tells the C code whether to run ECM with non-conjugate priors, or classic flowClust.'
0 commit comments