Mercurial > repos > tomnl > cameradims
comparison lcms-interval-scheduling.R @ 0:55aa2dd24828 draft
planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit 6c48bd51987a28401de6cf5e49b1b30e5e73fe16-dirty
| author | tomnl |
|---|---|
| date | Tue, 27 Mar 2018 06:52:39 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:55aa2dd24828 |
|---|---|
| 1 library(XCMSwrapper) | |
| 2 library(optparse) | |
| 3 | |
| 4 option_list <- list( | |
| 5 | |
| 6 make_option(c("-s", "--sample_peaklist"), type="character"), | |
| 7 make_option(c("-b", "--blank_peaklist"), type="character"), | |
| 8 make_option(c("-t", "--topn"), type="character"), | |
| 9 make_option(c("-o", "--out_dir"), type="character", default=getwd(), | |
| 10 help="Output folder for resulting files [default = %default]" | |
| 11 ), | |
| 12 make_option("--method", type="character"), | |
| 13 make_option("--maxms2", type="numeric"), | |
| 14 make_option("--widthFactor", type="numeric"), | |
| 15 make_option("--minWidth", type="numeric"), | |
| 16 make_option("--ilimit", type="numeric"), | |
| 17 make_option("--shift", type="numeric"), | |
| 18 make_option("--samplelistNm", type="numeric"), | |
| 19 make_option("--overlappingP", type="numeric"), | |
| 20 make_option("--fullpw", action="store_true"), | |
| 21 make_option("--b_widthFactor", type="numeric"), | |
| 22 make_option("--b_shift", type="numeric"), | |
| 23 make_option("--b_exclu_limit", type="numeric"), | |
| 24 make_option("--b_minWidth", type="numeric"), | |
| 25 make_option("--polarity", type="character"), | |
| 26 make_option("--fillgaps", type="character"), | |
| 27 make_option("--dmaNearline", action="store_true"), | |
| 28 make_option("--blankClass", type="character"), | |
| 29 make_option("--intensityCN", type="character"), | |
| 30 make_option("--sortCN", type="character"), | |
| 31 make_option("--filterS", type="character") | |
| 32 ) | |
| 33 | |
| 34 # store options | |
| 35 opt<- parse_args(OptionParser(option_list=option_list)) | |
| 36 | |
| 37 print(sessionInfo()) | |
| 38 print(opt) | |
| 39 | |
| 40 if(is.null(opt$fullpw)){ | |
| 41 fullpw = FALSE | |
| 42 }else{ | |
| 43 fullpw = TRUE | |
| 44 } | |
| 45 | |
| 46 if(is.null(opt$fillgaps)){ | |
| 47 fillgaps = FALSE | |
| 48 }else{ | |
| 49 fillgaps = TRUE | |
| 50 } | |
| 51 | |
| 52 | |
| 53 # Nearline processing | |
| 54 # nearline parameters (sample and blank) | |
| 55 params <- list( | |
| 56 nl.method = opt$method, | |
| 57 nl.maxms2 = opt$maxms2, # only used for simple nearline | |
| 58 nl.widthFactor = opt$widthFactor, | |
| 59 nl.minWidth = opt$minWidth, # 5 seconds | |
| 60 nl.ilimit = opt$ilimit, # only used for simple nearline | |
| 61 nl.shift = opt$shift, | |
| 62 nl.samplelist_nm = opt$samplelistNm, | |
| 63 nl.overlappingP = opt$overlappingP, | |
| 64 nl.fullpw = fullpw, | |
| 65 nl.fillgaps = fillgaps, # only used for metshot nearline | |
| 66 #nearline blank parameters | |
| 67 nl.b_widthFactor = opt$b_widthFactor, # increase the width | |
| 68 nl.b_minWidth = opt$b_minWidth, | |
| 69 nl.b.shift = opt$b_shift, | |
| 70 nl.exclu_limit = opt$b_exclu_limit, | |
| 71 temp_dir='.', | |
| 72 intensityCN=opt$intensityCN, | |
| 73 sortCN=opt$sortCN # column of the sample peaklist to use for | |
| 74 | |
| 75 ) | |
| 76 | |
| 77 | |
| 78 | |
| 79 # ################################## | |
| 80 # # Perform Nearline optimisation | |
| 81 # ################################## | |
| 82 s_peaklist <- read.table(opt$sample_peaklist, header = TRUE, sep='\t', stringsAsFactors = FALSE) | |
| 83 b_peaklist <- read.table(opt$blank_peaklist, header = TRUE, sep='\t', stringsAsFactors = FALSE) | |
| 84 | |
| 85 if(!is.null(opt$dmaNearline)){ | |
| 86 # have to do some additional filtering if part of the dma nearline workflow | |
| 87 blank_class_name <- gsub('-', '.', opt$blankClass) | |
| 88 b_peaklist = b_peaklist[which(b_peaklist[,paste(blank_class_name, '_valid', sep='')]==1),] | |
| 89 s_peaklist = s_peaklist[s_peaklist[,opt$filterS]==0,] | |
| 90 } | |
| 91 | |
| 92 | |
| 93 | |
| 94 topn <- read.table(opt$topn, header = TRUE, sep='\t', stringsAsFactors = FALSE, check.names=FALSE) | |
| 95 topn[is.na(topn)] <- "" | |
| 96 # colnames(topn) <- c('Mass [m/z]', 'Formula [M]', 'Formula type', 'Species', 'CS [z]', 'Polarity', 'Start [min]', 'End [min]','Comment') | |
| 97 # colnames(topn) <- gsub('\\.', ' ', colnames(topn)) | |
| 98 print(head(topn)) | |
| 99 | |
| 100 # #Generate inclusions lists for DDA-MS/MS and store in list | |
| 101 incl.lists = nearline_main(pm = params, peaklist_xcms=s_peaklist, pol=opt$polarity, merge_peaklists=FALSE, peaklist_post=NA) | |
| 102 | |
| 103 # #Generate exclusion lists for each class being analysed | |
| 104 nearline_main_blank(pm = params, | |
| 105 plist = b_peaklist, | |
| 106 incl_list_pos = incl.lists, | |
| 107 pol = opt$polarity, | |
| 108 topn = topn) | |
| 109 # |
