Skip to content

Commit

Permalink
Changed processAssayXcmsSet methods, eliminating for loop, added new …
Browse files Browse the repository at this point in the history
…term for isatab.syntax
  • Loading branch information
agbeltran committed Mar 7, 2013
1 parent e441735 commit dce2a69
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 64 deletions.
124 changes: 60 additions & 64 deletions R/Risa-ms.R
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,39 @@
### specific function to deal with assays whose technology type is mass spectrometry using the xcms package
### it returns an xcmsSet
processAssayXcmsSet.1factor = function(isa, assay.filename, ...){
for(i in seq_len(length(isa["assay.filenames"]))){

i <- which(isa["assay.filenames"]==assay.filename)

if (isatab.syntax$raw.spectral.data.file %in% colnames(isa["data.filenames"][[i]]))
{
#mass spectrometry files
msfiles = isa["data.filenames"][[i]][[ isatab.syntax$raw.spectral.data.file ]]

pd = try(read.AnnotatedDataFrame(file.path(isa["path"], isa["assay.filenames"][i]),
row.names = NULL, blank.lines.skip = TRUE, fill = TRUE,
varMetadata.char = "$", quote="\""))

sampleNames(pd) = pd$Raw.Spectral.Data.File

if (isa["assay.filenames"][[i]]==assay.filename){
if (length(grep(isatab.syntax$factor.value, colnames(isa["assay.files"][[i]]))) != 0) {
## If there are explicit factors, use them
sclass = isa["assay.files"][[i]][ which(isa["assay.files"][[i]][[isatab.syntax$sample.name]] %in% pd$Sample.Name), grep(isatab.syntax$factor.value, colnames(isa["assay.files"][[i]]))[1]]

if (isatab.syntax$raw.spectral.data.file %in% colnames(isa["data.filenames"][[i]]))
{
#mass spectrometry files
msfiles = isa["data.filenames"][[i]][[ isatab.syntax$raw.spectral.data.file ]]

pd = try(read.AnnotatedDataFrame(file.path(isa["path"], isa["assay.filenames"][i]),
row.names = NULL, blank.lines.skip = TRUE, fill = TRUE,
varMetadata.char = "$", quote="\""))

sampleNames(pd) = pd$Raw.Spectral.Data.File

if (length(grep("Factor.Value", colnames(isa["assay.files"][[i]]))) != 0) {
## If there are explicit factors, use them
sclass = isa["assay.files"][[i]][ which(isa["assay.files"][[i]][[isatab.syntax$sample.name]] %in% pd$Sample.Name), grep("Factor.Value", colnames(isa["assay.files"][[i]]))[1]]

wd <- getwd()
setwd(isa["path"])
xset = xcmsSet(files=msfiles, sclass=sclass, ...)
setwd(wd)
} else {
wd <- getwd()
setwd(isa["path"])
## Otherwise just use what was there
xset = try(xcmsSet(msfiles, phenoData=pData(pd), ...))
setwd(wd)
}
return(xset)
}#if
wd <- getwd()
setwd(isa["path"])
xset = xcmsSet(files=msfiles, sclass=sclass, ...)
setwd(wd)

}#if
}#for
} else {
wd <- getwd()
setwd(isa["path"])
## Otherwise just use what was there
xset = try(xcmsSet(msfiles, phenoData=pData(pd), ...))
setwd(wd)
}
return(xset)
}#if

}#processAssayXcmsSet


Expand All @@ -50,41 +48,39 @@ processAssayXcmsSet = function(isa, assay.filename, ...){

phenodata.data.frame <- as.data.frame(isa["factors"])

assay.names <- isa["assay.names"][assay.filename]

row.names(phenodata.data.frame) <- assay.names[[assay.filename]][[1]]

for(i in seq_len(length(isa["assay.filenames"]))){
i <- which(isa["assay.filenames"]==assay.filename)

if (isatab.syntax$raw.spectral.data.file %in% colnames(isa["data.filenames"][[i]]))
{
#mass spectrometry files
msfiles = isa["data.filenames"][[i]][[ isatab.syntax$raw.spectral.data.file ]]

pd = try(read.AnnotatedDataFrame(file.path(isa["path"], isa["assay.filenames"][i]),
row.names = NULL, blank.lines.skip = TRUE, fill = TRUE,
varMetadata.char = "$", quote="\""))

sampleNames(pd) = pd$Raw.Spectral.Data.File

if (isa["assay.filenames"][[i]]==assay.filename){
if (length(grep(isatab.syntax$factor.value, colnames(isa["assay.files"][[i]]))) != 0) {
## If there are explicit factors, use them
sclass = isa["assay.files"][[i]][ which(isa["assay.files"][[i]][[isatab.syntax$sample.name]] %in% pd$Sample.Name), grep(isatab.syntax$factor.value, colnames(isa["assay.files"][[i]]))[1]]

if (isatab.syntax$raw.spectral.data.file %in% colnames(isa["data.filenames"][[i]]))
{
#mass spectrometry files
msfiles = isa["data.filenames"][[i]][[ isatab.syntax$raw.spectral.data.file ]]

pd = try(read.AnnotatedDataFrame(file.path(isa["path"], isa["assay.filenames"][i]),
row.names = NULL, blank.lines.skip = TRUE, fill = TRUE,
varMetadata.char = "$", quote="\""))

sampleNames(pd) = pd$Raw.Spectral.Data.File

if (length(grep("Factor.Value", colnames(isa["assay.files"][[i]]))) != 0) {
## If there are explicit factors, use them
sclass = isa["assay.files"][[i]][ which(isa["assay.files"][[i]][[isatab.syntax$sample.name]] %in% pd$Sample.Name), grep("Factor.Value", colnames(isa["assay.files"][[i]]))[1]]

wd <- getwd()
setwd(isa["path"])
xset = xcmsSet(files=msfiles, sclass=sclass, ...)
setwd(wd)
} else {
wd <- getwd()
setwd(isa["path"])
## Otherwise just use what was there
xset = try(xcmsSet(msfiles, phenoData=pData(pd), ...))
setwd(wd)
}
return(xset)
}#if
wd <- getwd()
setwd(isa["path"])
xset = xcmsSet(files=msfiles, sclass=sclass, ...)
setwd(wd)

}#if
}#for
} else {
wd <- getwd()
setwd(isa["path"])
## Otherwise just use what was there
xset = try(xcmsSet(msfiles, phenoData=pData(pd), ...))
setwd(wd)
}
return(xset)
}#if
}#processAssayXcmsSet
1 change: 1 addition & 0 deletions R/Risa.R
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ isatab.syntax <- list(
array.data.file="Array Data File",
raw.spectral.data.file="Raw Spectral Data File",
factor.name="Factor Name",
factor.value="Factor Value",
assay.name="Assay Name"
)

Expand Down

0 comments on commit dce2a69

Please sign in to comment.