[BioC] Error in getClass(Class, where = topenv(parent.frame())) : "AnnotatedDataFrame" is not a defined class
Martin Morgan
mtmorgan at fhcrc.org
Mon Jan 12 04:43:49 CET 2009
Hi Sally --
"Sally" <sagoldes at shaw.ca> writes:
> I wrote a script for LIMMA about 9 months ago, which worked fine.
>
> Today ran it again (I've updated to the current R version) But got the following error message after this script:
>
>
> adf<-new("AnnotatedDataFrame",data=phenotypicdata)
>
> Error in getClass(Class, where = topenv(parent.frame())) : "AnnotatedDataFrame" is not a defined class
>
This is unusual...
>
> The entire script is below. The offending script is in red.
>
> #Load libraries
> source("http://bioconductor.org/biocLite.R")
'source' isn't needed here, but shouldn't cause problems.
> library(limma)
> library(Biobase)
does library(Biobase) evaluate correctly, or is there an error here
that you didn't notice?
Can you be more specific about your software, by providing the output
of sessionInfo() at this point in your script? Also, after the error
occurs, what does traceback() say?
It might also be a useful trouble-shooting effort to follow the
instructions for updating packages at
http://bioconductor.org/docs/install/
Martin
> #change directory to folder where files are (c:/limmadegenes)
> #Change to directory with original data files
> #read in expression data file and phenotypic data.
> #Note that row.names=1 means that row names are #in column 1,
> exprdata<-read.table("exprsData.txt", header=TRUE,sep="\t",row.names=1,as.is=TRUE,fill=TRUE,)
> class(exprdata)
> dim(exprdata)
> colnames(exprdata)
> head(exprdata)
> #printout too long to paste
> phenotypicdata<-read.table("phenotypicdata.txt",row.names=1,header=TRUE,sep="\t")
> class(phenotypicdata)
> #returns: [1] "data.frame"
> dim(phenotypicdata)
> #returns: [1] 28 2
> colnames(phenotypicdata)
> #returns: [1] "Species" "Time"
> rownames(phenotypicdata)
> #Coerse exprdata into a matrix
> myexprdata<-as.matrix(exprdata)
> class(myexprdata)
> #[1] "matrix"
> rownames(myexprdata)
> colnames(myexprdata)
> #Coerse phenotypicdata into a data frame
> myphenotypicdata<-as.data.frame(phenotypicdata)
> rownames(myphenotypicdata)
> colnames(myphenotypicdata)
> #[1] "species" "time"
> summary(myphenotypicdata)
> all(rownames(myphenotypicdata)==colnames(myexprdata))
> #[1] TRUE
> #Create annotated Data Frame
> adf<-new("AnnotatedDataFrame",data=phenotypicdata)
> #dim means: dimension of an object.
> dim(adf)
> #rowNames columnNames
> # 28 2
> rownames(adf)
> #NULL
> #Create eset object
> eset<-new("ExpressionSet",exprs=myexprdata,phenoData=adf)
> #Read in targets file
> targets <- readTargets("targets.txt")
> targets
> # Set up character list defining your arrays, include replicates
> TS <- paste(targets$Species, targets$Time, sep=".")
> #This script returns the following:
> TS
> # Turn TS into a factor variable which facilitates fitting
> TS <- factor(TS)
> #This script returns the following
> design <- model.matrix(~0+TS)
> #write design object to text file
> write.table(design,file="design.txt",sep="\t",col.names=NA)
> colnames(design) <- levels(TS)
> #for eset put in your M values - see ?lmFit for object types
> fit <- lmFit(eset, design)
> #contrast matrix
> cont.matrix<-makeContrasts(s24vss0=s.24-s.0, s48vss24=s.48-s.24, s96vss48=s.96-s.48, c24vsc0=c.24-c.0, c48vsc24=c.48-c.24, c96vsc48=c.96-c.48, c0vss0=c.0-s.0, c24vss24=c.24-s.24, c48vss48=c.48-s.48, c96vss96=c.96-s.96, levels=design)
> write.table(cont.matrix,file="cont.matrix.txt",sep="\t",col.names=NA)
> #estimate the contrasts and put in fit2
> fit2 <- contrasts.fit(fit, cont.matrix)
> fit2 <- eBayes(fit2)
> s24vss0<-topTable(fit2,coef="s24vss0",number=400,adjust.method="BH",p.value=1)
>
> write.table(s24vss0,file="s24vss0.txt",sep="\t")
>
>
> s48vss24<-topTable(fit2,coef="s48vss24",number=400,adjust.method="BH",p.value=1)
>
> write.table(s48vss24,file="s48vss24.txt",sep="\t")
>
>
> s96vss48<-topTable(fit2,coef="s96vss48",number=400,adjust.method="BH",p.value=1)
>
> write.table(s96vss48,file="s96vss48.txt",sep="\t")
>
>
> c24vsc0<-topTable(fit2,coef="c24vsc0",number=400,adjust.method="BH",p.value=1)
>
> write.table(c24vsc0,file="c24vsc0.txt",sep="\t")
>
>
> c48vsc24<-topTable(fit2,coef="c48vsc24",number=400,adjust.method="BH",p.value=1)
>
> write.table(c48vsc24,file="c24vsc48.txt",sep="\t")
>
>
> c96vsc48<-topTable(fit2,coef="c96vsc48",number=400,adjust.method="BH",p.value=1)
>
> write.table(c96vsc48,file="c96vsc48.txt",sep="\t")
>
>
> c0vss0<-topTable(fit2,coef="c0vss0",number=400,adjust.method="BH",p.value=1)
>
> write.table(c0vss0,file="c0vss0.txt",sep="\t")
>
>
> c24vss24<-topTable(fit2,coef="c24vss24",number=400,adjust.method="BH",p.value=1)
>
> write.table(c24vss24,file="c24vss24.txt",sep="\t")
>
>
> c48vss48<-topTable(fit2,coef="c48vss48",number=400,adjust.method="BH",p.value=1)
>
> write.table(c48vss48,file="c48vss48.txt",sep="\t")
>
>
> c96vss96<-topTable(fit2,coef="c96vss96",number=400,adjust.method="BH",p.value=1)
>
> write.table(c96vss96,file="c96vss96.txt",sep="\t")
>
>
>
>
>
> Thank-you
>
> Sally
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> 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
--
Martin Morgan
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109
Location: Arnold Building M2 B169
Phone: (206) 667-2793
More information about the Bioconductor
mailing list