[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