Mercurial > repos > tomnl > msp_split
diff anticipated_purity_lcms.R @ 5:f2683ec717fe draft default tip
planemo upload for repository https://github.com/computational-metabolomics/mspurity-galaxy commit a164f06c09dc1614c2909c247ebf390aab433527-dirty
| author | tomnl |
|---|---|
| date | Wed, 18 Sep 2019 05:46:09 -0400 |
| parents | 769ec2496d14 |
| children |
line wrap: on
line diff
--- a/anticipated_purity_lcms.R Wed Jul 18 06:04:14 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,188 +0,0 @@ -library(msPurity) -library(optparse) -print(sessionInfo()) - -option_list <- list( - make_option(c("--xset_path"), type="character"), - make_option(c("-o", "--out_dir"), type="character"), - make_option(c("--mzML_path"), type="character"), - make_option("--minOffset", default=0.5), - make_option("--maxOffset", default=0.5), - make_option("--ilim", default=0.05), - make_option("--iwNorm", default="none", type="character"), - make_option("--exclude_isotopes", action="store_true"), - make_option("--isotope_matrix", type="character"), - make_option("--purityType", default="purityFWHMmedian"), - make_option("--singleFile", default=0), - make_option("--cores", default=4), - make_option("--xgroups", type="character"), - make_option("--rdata_name", default='xset'), - make_option("--camera_xcms", default='xset'), - make_option("--files", type="character"), - make_option("--galaxy_files", type="character"), - make_option("--choose_class", type="character"), - make_option("--ignore_files", type="character"), - make_option("--rtraw_columns", action="store_true") -) - -# store options -opt<- parse_args(OptionParser(option_list=option_list)) - -print(sessionInfo()) -print(opt) - -if (!is.null(opt$xgroups)){ - xgroups = as.numeric(strsplit(opt$xgroups, ',')[[1]]) -}else{ - xgroups = NULL -} - - - -print(xgroups) - -if (!is.null(opt$remove_nas)){ - df <- df[!is.na(df$mz),] -} - -if (is.null(opt$isotope_matrix)){ - im <- NULL -}else{ - im <- read.table(opt$isotope_matrix, - header = TRUE, sep='\t', stringsAsFactors = FALSE) -} - -if (is.null(opt$exclude_isotopes)){ - isotopes <- FALSE -}else{ - isotopes <- TRUE -} - -if (is.null(opt$rtraw_columns)){ - rtraw_columns <- FALSE -}else{ - rtraw_columns <- TRUE -} - -loadRData <- function(rdata_path, xset_name){ -#loads an RData file, and returns the named xset object if it is there - load(rdata_path) - print(ls()) - return(get(ls()[ls() == xset_name])) -} - -target_obj <- loadRData(opt$xset_path, opt$rdata_name) - -if (opt$camera_xcms=='camera'){ - xset <- target_obj@xcmsSet -}else{ - xset <- target_obj -} - -print(xset) - -minOffset = as.numeric(opt$minOffset) -maxOffset = as.numeric(opt$maxOffset) - - -if (opt$iwNorm=='none'){ - iwNorm = FALSE - iwNormFun = NULL -}else if (opt$iwNorm=='gauss'){ - iwNorm = TRUE - iwNormFun = msPurity::iwNormGauss(minOff=-minOffset, maxOff=maxOffset) -}else if (opt$iwNorm=='rcosine'){ - iwNorm = TRUE - iwNormFun = msPurity::iwNormRcosine(minOff=-minOffset, maxOff=maxOffset) -}else if (opt$iwNorm=='QE5'){ - iwNorm = TRUE - iwNormFun = msPurity::iwNormQE.5() -} - -print(xset@filepaths) - - - -if (!is.null(opt$files)){ - updated_filepaths <- trimws(strsplit(opt$files, ',')[[1]]) - updated_filepaths <- updated_filepaths[updated_filepaths != ""] - print(updated_filepaths) - updated_filenames = basename(updated_filepaths) - original_filenames = basename(xset@filepaths) - update_idx = match(updated_filenames, original_filenames) - - if (!is.null(opt$galaxy_files)){ - galaxy_files <- trimws(strsplit(opt$galaxy_files, ',')[[1]]) - galaxy_files <- galaxy_files[galaxy_files != ""] - xset@filepaths <- galaxy_files[update_idx] - }else{ - xset@filepaths <- updated_filepaths[update_idx] - } -} - -if (!is.null(opt$choose_class)){ - classes <- trimws(strsplit(opt$choose_class, ',')[[1]]) - - - ignore_files_class <- which(!as.character(xset@phenoData$class) %in% classes) - - print('choose class') - print(ignore_files_class) -}else{ - ignore_files_class <- NA -} - -if (!is.null(opt$ignore_files)){ - ignore_files_string <- trimws(strsplit(opt$ignore_files, ',')[[1]]) - filenames <- rownames(xset@phenoData) - ignore_files <- which(filenames %in% ignore_files_string) - - ignore_files <- unique(c(ignore_files, ignore_files_class)) - ignore_files <- ignore_files[ignore_files != ""] -}else{ - if (anyNA(ignore_files_class)){ - ignore_files <- NULL - }else{ - ignore_files <- ignore_files_class - } - -} - -print('ignore_files') -print(ignore_files) - - -ppLCMS <- msPurity::purityX(xset=xset, - offsets=c(minOffset, maxOffset), - cores=opt$cores, - xgroups=xgroups, - purityType=opt$purityType, - ilim = opt$ilim, - isotopes = isotopes, - im = im, - iwNorm = iwNorm, - iwNormFun = iwNormFun, - singleFile = opt$singleFile, - fileignore = ignore_files, - rtrawColumns=rtraw_columns) - - -dfp <- ppLCMS@predictions - -# to make compatable with deconrank -colnames(dfp)[colnames(dfp)=='grpid'] = 'peakID' -colnames(dfp)[colnames(dfp)=='median'] = 'medianPurity' -colnames(dfp)[colnames(dfp)=='mean'] = 'meanPurity' -colnames(dfp)[colnames(dfp)=='sd'] = 'sdPurity' -colnames(dfp)[colnames(dfp)=='stde'] = 'sdePurity' -colnames(dfp)[colnames(dfp)=='RSD'] = 'cvPurity' -colnames(dfp)[colnames(dfp)=='pknm'] = 'pknmPurity' -if(sum(is.na(dfp$medianPurity))>0){ - dfp[is.na(dfp$medianPurity),]$medianPurity = 0 -} - -print('saving tsv') -print(head(dfp)) -write.table(dfp, file.path(opt$out_dir, 'anticipated_purity_lcms.tsv'), row.names=FALSE, sep='\t') -print('saving RData') -save.image(file.path(opt$out_dir, 'anticipated_purity_lcms.RData'))
