[BioC] trouble hacking plotPCA
Jenny Drnevich
drnevich at uiuc.edu
Thu Dec 14 18:29:39 CET 2006
Hi Jim,
I thought it might have something to do with namespaces. All those links
you sent in response to Naomi's query are just what I've been needing as
well - thanks again. I would like to be able to do alternative #1 below,
and I think I know what to do, and my PC is capable of installing packages
- just have to take time to try it. I would like to see plotPCA function on
matrices, and if you agree then it would also be good to add this
functionality for everyone. I'll try to bumble through it on my own, but if
I hit a wall, do you mind if I contact you for advice? On- or off-list?
Thanks,
Jenny
At 07:04 PM 12/13/2006, James W. MacDonald wrote:
>Hi Jenny,
>
>Ha Ha, you can't foil my anti-hack barrier code! ;-D
>
>Actually, I use a namespace, so when you hack plotPCA() and dump it into
>your .GlobalEnv, it is no longer part of the affycoretools namespace and
>thus can't find helper functions that are sealed in the namespace.
>
>The alternatives are:
>1.) Make the hacks to the source package and then install using R CMD INSTALL
>2.) Wait until tomorrow when I can make the changes and send you the
>package. I would normally have you wait until it propagates through the
>build process, but annaffy is busted and keeping affycoretools from
>building, so no propagation for me ;-(
>
>Let me know your preference.
>
>Best,
>
>Jim
>
>Jenny Drnevich wrote:
>>Hi Jim,
>>I was trying to modify 'plotPCA' so it could take a matrix instead of an
>>exprSet object, but in doing so somehow R can't find the function
>>'pca.legend', even though it pulls up the documentation for it when I
>>query '?pca.legend". I didn't even touch the code that had to do with
>>'pca.legend'! Any ideas why and/or what I can do to get the legend? Code
>>and sessionInfo() below.
>>Thanks,
>>Jenny
>>
>> >plotPCA(rma.data)
>># no problem with this - the legend was fine
>> > source("C:/Statistics/JDplotPCA.R")
>> > JDplotPCA(exprs(rma.data))
>>Error in JDplotPCA(exprs(rma.data)) : could not find function "pca.legend"
>> > JDplotPCA
>>function (eset, groups = NULL, groupnames = NULL, addtext = NULL,
>> x.coord = NULL, y.coord = NULL, screeplot = FALSE, squarepca = FALSE,
>> pch = NULL, col = NULL, ...)
>>{
>> require(affycoretools)
>> if (is.null(groupnames))
>> groupnames <- colnames(eset)
>> if (is.factor(groupnames))
>> groupnames <- as.character(groupnames)
>> pca <- prcomp(t(eset))
>> if (screeplot) {
>> plot(pca, main = "Screeplot")
>> }
>> else {
>> if (squarepca) {
>> ylim <- max(abs(range(pca$x[, 1])))
>> ylim <- c(-ylim, ylim)
>> }
>> else ylim <- NULL
>> if (!is.null(groups)) {
>> if (is.null(pch))
>> pch <- groups
>> if (is.null(col))
>> col <- groups
>> plot(pca$x[, 1:2], pch = pch, col = col, ylab = "PC2",
>> xlab = "PC1", main = "Principal Components Plot",
>> ylim = ylim, ...)
>> }
>> else {
>> if (is.null(pch))
>> pch <- 0:length(colnames(eset))
>> if (is.null(col))
>> col <- 1:length(colnames(eset))
>> plot(pca$x[, 1:2], pch = pch, col = col, ylab = "PC2",
>> xlab = "PC1", main = "Principal Components Plot",
>> ylim = ylim, ...)
>> }
>> if (is.null(addtext)) {
>> pca.legend(pca, groupnames, pch, col, x.coord = x.coord,
>> y.coord = y.coord, ...)
>> }
>> else {
>> smidge <- pca.legend(pca, groupnames, pch, col, x.coord =
>> x.coord,
>> y.coord = y.coord, saveup = TRUE, ...)
>> text(pca$x[, 1], pca$x[, 2] + smidge, label = addtext,
>> cex = 0.7)
>> }
>> }
>>}
>> > sessionInfo()
>>R version 2.4.0 (2006-10-03)
>>i386-pc-mingw32
>>locale:
>>LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
>>States.1252;LC_MONETARY=English_United
>>States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>>attached base packages:
>>[1] "splines" "tools" "methods" "stats" "graphics" "grDevices"
>>[7] "utils" "datasets" "base"
>>other attached packages:
>> affyQCReport simpleaffy made4 scatterplot3d ade4
>> "1.12.0" "2.8.0" "1.8.0" "0.3-24" "1.4-2"
>> affyPLM gcrma matchprobes affydata affycoretools
>> "1.10.0" "2.6.0" "1.6.0" "1.10.0" "1.6.0"
>> biomaRt RCurl XML GOstats Category
>> "1.8.0" "0.7-0" "1.2-0" "2.0.3" "2.0.3"
>> genefilter survival KEGG RBGL annotate
>> "1.12.0" "2.29" "1.14.1" "1.10.0" "1.12.0"
>> GO graph limma affy affyio
>> "1.14.1" "1.12.0" "2.9.1" "1.12.1" "1.2.0"
>> Biobase RWinEdt
>> "1.12.2" "1.7-5"
>>Jenny Drnevich, Ph.D.
>>Functional Genomics Bioinformatics Specialist
>>W.M. Keck Center for Comparative and Functional Genomics
>>Roy J. Carver Biotechnology Center
>>University of Illinois, Urbana-Champaign
>>330 ERML
>>1201 W. Gregory Dr.
>>Urbana, IL 61801
>>USA
>>ph: 217-244-7355
>>fax: 217-265-5066
>>e-mail: drnevich at uiuc.edu
>>_______________________________________________
>>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
>
>
>--
>James W. MacDonald
>University of Michigan
>Affymetrix and cDNA Microarray Core
>1500 E Medical Center Drive
>Ann Arbor MI 48109
>734-647-5623
>
>
>
>**********************************************************
>Electronic Mail is not secure, may not be read every day, and should not
>be used for urgent or sensitive issues.
Jenny Drnevich, Ph.D.
Functional Genomics Bioinformatics Specialist
W.M. Keck Center for Comparative and Functional Genomics
Roy J. Carver Biotechnology Center
University of Illinois, Urbana-Champaign
330 ERML
1201 W. Gregory Dr.
Urbana, IL 61801
USA
ph: 217-244-7355
fax: 217-265-5066
e-mail: drnevich at uiuc.edu
More information about the Bioconductor
mailing list