[BioC] Issue with gcrma.engine2 and user-defined negative controls

Heidi Dvinge heidi at ebi.ac.uk
Fri May 23 22:27:56 CEST 2008


Dear all,

I'm currently playing around with different normalisation methods for a
set of arrays without MM probes (Mouse Gene 1.0 ST). I wanted to try gcrma
with a set of user-defined background probes, i.e. using the option
gcrma(...., NCprobes=mylistofnegativecontrols, type="affinity", ...)

Unfortunately I run into problems in the sub-function gcrma.engine2:

Error in switch(algorithm, Turlach = { :
  NA/NaN/Inf in foreign function call (arg 3)
> traceback()
8: .C(R_Trunmed, n, k, as.double(x), rmed = double(n), tmp1 = integer(k +
       1), tmp2 = integer(2 * k + 1), tmp3 = double(2 * k + 1),
       as.integer(iend), as.integer(print.level), DUP = FALSE)
7: switch(algorithm, Turlach = {
       .C(R_Trunmed, n, k, as.double(x), rmed = double(n), tmp1 = integer(k +
           1), tmp2 = integer(2 * k + 1), tmp3 = double(2 * k +
           1), as.integer(iend), as.integer(print.level), DUP = FALSE)$rmed
   }, Stuetzle = {
       .C(R_Srunmed, as.double(x), smo = double(n), n, k, as.integer(iend),
           debug = (print.level > 0), DUP = FALSE)$smo
   })
6: runmed(x[O], 21)
5: bg.parameters.ns(ncs, anc, apm)
4: bg.adjust.affinities(pms[, i], ncs = intensity(object)[NCprobe,
       i], apm = pm.affinities[, i], anc = intensity(affinity.info)[,
       i], index.affinities, k = k, fast = fast, nomm = TRUE)
3: gcrma.engine2(object, pmIndex, mmIndex, NCprobe = NCprobe, affinity.info,
       type = type, k = k, stretch = stretch, correction = correction,
       GSB.adjust = GSB.adjust, rho = rho, verbose = verbose, fast = fast)
2: bg.adjust.gcrma(object, affinity.info = affinity.info, affinity.source
= affinity.source,
       NCprobe = NCprobe, type = type, k = k, stretch = stretch,
       correction = correction, GSB.adjust = GSB.adjust, rho = rho,
       optical.correct = optical.correct, verbose = verbose, fast = fast)
1: gcrma(raw[, 1:2], type = "affinities", affinity.source = "local",
       NCprobe = background.probes)

However, it works if I change the gcrma.engine2  lines:

if (type == "affinities") {
	if (is.null(NCprobe))
		pms[, i] <- bg.adjust.affinities(pms[, i], ncs = mms[,
		i], apm = pm.affinities[, i], anc = mm.affinities[,
		i], index.affinities, k = k, fast = fast)
	else pms[, i] <- bg.adjust.affinities(pms[, i], ncs =
intensity(object)[NCprobe,
		i], apm = pm.affinities[, i], anc = intensity(affinity.info)[,
		i], index.affinities, k = 1, fast = fast, nomm = TRUE)
	if (GSB.adjust)
		pms[, i] <- GSB.adj(Yin = pms[, i], subset = index.affinities,
		aff = pm.affinities, fit1 = fit1, k = k)
}

to:

if (type == "affinities") {
	if (is.null(NCprobe))
		pms[, i] <- bg.adjust.affinities(pms[, i], ncs = mms[,
		i], apm = pm.affinities[, i], anc = mm.affinities[,
		i], index.affinities, k = k, fast = fast)
	else pms[, i] <- bg.adjust.affinities(pms[, i], ncs =
intensity(object)[NCprobe,
		i], apm = pm.affinities[, i], anc = intensity(affinity.info)[NCprobe, 
		# added NCprobe subscript here for anc
		i], index.affinities, k = 1, fast = fast, nomm = TRUE)
	if (GSB.adjust)
		pms[, i] <- GSB.adj(Yin = pms[, i], subset = index.affinities,
		aff = pm.affinities, fit1 = fit1, k = k)
}

Is the "NCprobe" supposed to be there, or am I missing something here? I
can't swear that my list of NCprobes isn't slightly messed up, although
I've looked through it and it's been working fine up until this point.

Thanks
\Heidi

> sessionInfo()
R version 2.7.0 Patched (2008-05-18 r45723)
i386-apple-darwin8.10.1

locale:
en_GB.UTF-8/en_GB.UTF-8/C/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] splines   tools     stats     graphics  grDevices utils     datasets 
methods   base

other attached packages:
[1] limma_2.14.1           mogene10stv1cdf_1.18.0 gcrma_2.12.0          
matchprobes_1.12.0
[5] affy_1.18.0            preprocessCore_1.2.0   affyio_1.8.0          
Biobase_2.0.1


------------<<>>------------
Heidi Dvinge

EMBL-European Bioinformatics Institute
Wellcome Trust Genome Campus
Hinxton, Cambridge
CB10 1SD
Mail: heidi at ebi.ac.uk
Phone: +44 (0) 1223 494 444
------------<<>>------------



More information about the Bioconductor mailing list