Ben Ganzfried
2011-Oct-07 14:27 UTC
[R] Creating One Single Object with Phenotype and Expression Data
Hey, I have code that can check the quality of a data set we're working with (expression data), and I'm having some trouble writing code that would make the expression data we have tie to other data we want to link it to (called phenotype data). Does anyone have any advice on how I could make a single object that would do this? Other relevant info: I want to use the pdata() function, and I have all the phenotype data available as csv files. Here is what I have in regards to the expression data: library(affy) library(arrayQualityMetrics) inputargs <- commandArgs(TRUE) print(inputargs) sessionInfo() strInputAccession <- inputargs[1] strBaseDir <- inputargs[2] processedDir <- paste(strBaseDir,strInputAccession,"PROCESSED/DEFAULT",sep="/") qcDir <- paste(strBaseDir,strInputAccession,"QC",sep="/") sampleFile <- paste(processedDir,"/",strInputAccession,"_RAWfilenames.txt",sep="") defaultExprs <- paste(processedDir,"/",strInputAccession,"_default_exprs.csv",sep="") if(file.exists(sampleFile)){ affyobj <- try(ReadAffy(filenames=read.table(sampleFile,as.is =T,header=FALSE)[,1])) if(class(affyobj)=="try-error"){ rm(affyobj) }else{ sampleNames(affyobj) <- sub("\\..*","",sampleNames(affyobj)) #get rid of .CEL etc extension, just keep GSM } } if(!exists("affyobj")){ mdExprs <- as.matrix(read.csv(defaultExprs,row.names=1)) if( min( mdExprs, na.rm = TRUE ) >= 0 & max( mdExprs, na.rm = TRUE ) >= 50 ) { mdExprs <- log(mdExprs, base = 2) } affyobj <- new("ExpressionSet",exprs=mdExprs) } x <- arrayQualityMetrics(expressionset = affyobj, outdir=qcDir, force = TRUE, spatial=FALSE) [[alternative HTML version deleted]]
Martin Morgan
2011-Oct-07 14:50 UTC
[R] Creating One Single Object with Phenotype and Expression Data
Hey Ben -- this is a bioconductor question so please ask on the Bioconductor mailing list. Good news, you don't have to subscribe to post http://bioconductor.org/help/mailing-list/ Martin On 10/07/2011 07:27 AM, Ben Ganzfried wrote:> Hey, > > I have code that can check the quality of a data set we're working with > (expression data), and I'm having some trouble writing code that would make > the expression data we have tie to other data we want to link it to (called > phenotype data). Does anyone have any advice on how I could make a single > object that would do this? Other relevant info: I want to use the pdata() > function, and I have all the phenotype data available as csv files. Here is > what I have in regards to the expression data: > > library(affy) > library(arrayQualityMetrics) > > inputargs<- commandArgs(TRUE) > print(inputargs) > sessionInfo() > > strInputAccession<- inputargs[1] > strBaseDir<- inputargs[2] > > processedDir<- > paste(strBaseDir,strInputAccession,"PROCESSED/DEFAULT",sep="/") > qcDir<- paste(strBaseDir,strInputAccession,"QC",sep="/") > sampleFile<- > paste(processedDir,"/",strInputAccession,"_RAWfilenames.txt",sep="") > defaultExprs<- > paste(processedDir,"/",strInputAccession,"_default_exprs.csv",sep="") > > if(file.exists(sampleFile)){ > affyobj<- try(ReadAffy(filenames=read.table(sampleFile,as.is > =T,header=FALSE)[,1])) > if(class(affyobj)=="try-error"){ > rm(affyobj) > }else{ > sampleNames(affyobj)<- sub("\\..*","",sampleNames(affyobj)) #get rid > of .CEL etc extension, just keep GSM > } > } > > if(!exists("affyobj")){ > mdExprs<- as.matrix(read.csv(defaultExprs,row.names=1)) > if( min( mdExprs, na.rm = TRUE )>= 0& max( mdExprs, na.rm = TRUE )>= 50 > ) { > mdExprs<- log(mdExprs, base = 2) } > affyobj<- new("ExpressionSet",exprs=mdExprs) > } > > x<- arrayQualityMetrics(expressionset = affyobj, > outdir=qcDir, > force = TRUE, > spatial=FALSE) > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.-- Computational Biology Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: M1-B861 Telephone: 206 667-2793