comparison msdb-common.R @ 6:b8f70d8216b3 draft

planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit b3a4e34cf9356447ae3507cc6fe2ff6a1f24afbc-dirty
author prog
date Mon, 27 Mar 2017 06:27:29 -0400
parents 1ba222315fd5
children
comparison
equal deleted inserted replaced
5:18254e8d1b72 6:b8f70d8216b3
7 ############# 7 #############
8 # CONSTANTS # 8 # CONSTANTS #
9 ############# 9 #############
10 10
11 # Field tags 11 # Field tags
12 MSDB.TAG.MZ <- BIODB.PEAK.MZ 12 MSDB.TAG.MZ <- 'mz'
13 MSDB.TAG.MZEXP <- BIODB.PEAK.MZEXP 13 MSDB.TAG.MZEXP <- 'mzexp'
14 MSDB.TAG.MZTHEO <- BIODB.PEAK.MZTHEO 14 MSDB.TAG.MZTHEO <- 'mztheo'
15 MSDB.TAG.RT <- BIODB.PEAK.RT 15 MSDB.TAG.RT <- 'rt'
16 MSDB.TAG.MODE <- BIODB.MSMODE 16 MSDB.TAG.MODE <- 'msmode'
17 MSDB.TAG.MOLID <- BIODB.COMPOUND.ID 17 MSDB.TAG.MOLID <- 'compoundid'
18 MSDB.TAG.COL <- BIODB.CHROM.COL 18 MSDB.TAG.COL <- 'chromcol'
19 MSDB.TAG.COLRT <- BIODB.CHROM.COL.RT 19 MSDB.TAG.COLRT <- 'chromcolrt'
20 MSDB.TAG.ATTR <- BIODB.PEAK.ATTR 20 MSDB.TAG.ATTR <- 'peakattr'
21 MSDB.TAG.INT <- BIODB.PEAK.INTENSITY 21 MSDB.TAG.INT <- 'intensity'
22 MSDB.TAG.REL <- BIODB.PEAK.RELATIVE.INTENSITY 22 MSDB.TAG.REL <- 'relative.intensity'
23 MSDB.TAG.COMP <- BIODB.PEAK.COMP 23 MSDB.TAG.COMP <- 'peakcomp'
24 MSDB.TAG.MOLNAMES <- BIODB.FULLNAMES 24 MSDB.TAG.MOLNAMES <- 'fullnames'
25 MSDB.TAG.MOLCOMP <- BIODB.COMPOUND.MASS 25 MSDB.TAG.MOLCOMP <- 'compoundmass'
26 # MSDB.TAG.MOLATTR <- 'molattr' 26 MSDB.TAG.MOLMASS <- 'compoundcomp'
27 MSDB.TAG.MOLMASS <- BIODB.COMPOUND.COMP 27 MSDB.TAG.INCHI <- 'inchi'
28 MSDB.TAG.INCHI <- BIODB.INCHI 28 MSDB.TAG.INCHIKEY <- 'inchikey'
29 MSDB.TAG.INCHIKEY <- BIODB.INCHIKEY 29 MSDB.TAG.PUBCHEM <- 'pubchemcompid'
30 # TODO Use BIODB tags. 30 MSDB.TAG.CHEBI <- 'chebiid'
31 MSDB.TAG.PUBCHEM <- BIODB.PUBCHEMCOMP.ID 31 MSDB.TAG.HMDB <- 'hmdbid'
32 MSDB.TAG.CHEBI <- BIODB.CHEBI.ID 32 MSDB.TAG.KEGG <- 'keggid'
33 MSDB.TAG.HMDB <- BIODB.HMDB.ID
34 MSDB.TAG.KEGG <- BIODB.KEGG.ID
35 33
36 # Mode tags 34 # Mode tags
37 MSDB.TAG.POS <- BIODB.MSMODE.NEG 35 MSDB.TAG.POS <- 'neg'
38 MSDB.TAG.NEG <- BIODB.MSMODE.POS 36 MSDB.TAG.NEG <- 'pos'
39 37
40 # Fields containing multiple values 38 # Fields containing multiple values
41 MSDB.MULTIVAL.FIELDS <- c(MSDB.TAG.MOLNAMES) 39 MSDB.MULTIVAL.FIELDS <- c(MSDB.TAG.MOLNAMES)
42 MSDB.MULTIVAL.FIELD.SEP <- ';' 40 MSDB.MULTIVAL.FIELD.SEP <- ';'
43 41
45 MSDB.MZTOLUNIT.PPM <- 'ppm' 43 MSDB.MZTOLUNIT.PPM <- 'ppm'
46 MSDB.MZTOLUNIT.PLAIN <- 'plain' # same as mz: mass-to-charge ratio 44 MSDB.MZTOLUNIT.PLAIN <- 'plain' # same as mz: mass-to-charge ratio
47 MSDB.MZTOLUNIT.VALS <- c(MSDB.MZTOLUNIT.PPM, MSDB.MZTOLUNIT.PLAIN) 45 MSDB.MZTOLUNIT.VALS <- c(MSDB.MZTOLUNIT.PPM, MSDB.MZTOLUNIT.PLAIN)
48 46
49 # Authorized rt units 47 # Authorized rt units
50 MSDB.RTUNIT.SEC <- 's' 48 MSDB.RTUNIT.SEC <- 'sec'
51 MSDB.RTUNIT.MIN <- 'min' 49 MSDB.RTUNIT.MIN <- 'min'
52 MSDB.RTUNIT.VALS <- c(MSDB.RTUNIT.SEC ,MSDB.RTUNIT.MIN) 50 MSDB.RTUNIT.VALS <- c(MSDB.RTUNIT.SEC ,MSDB.RTUNIT.MIN)
53 51
54 # Default values 52 # Default values
55 MSDB.DFT.PREC <- list() 53 MSDB.DFT.PREC <- list()
56 MSDB.DFT.PREC[[MSDB.TAG.POS]] <- c("[(M+H)]+", "[M+H]+", "[(M+Na)]+", "[M+Na]+", "[(M+K)]+", "[M+K]+") 54 MSDB.DFT.PREC[[MSDB.TAG.POS]] <- c("[(M+H)]+", "[M+H]+", "[(M+Na)]+", "[M+Na]+", "[(M+K)]+", "[M+K]+")
57 MSDB.DFT.PREC[[MSDB.TAG.NEG]] <- c("[(M-H)]-", "[M-H]-", "[(M+Cl)]-", "[M+Cl]-") 55 MSDB.DFT.PREC[[MSDB.TAG.NEG]] <- c("[(M-H)]-", "[M-H]-", "[(M+Cl)]-", "[M+Cl]-")
58 MSDB.DFT.OUTPUT.FIELDS <- list( mz = 'mz', rt = 'rt', col = 'col', colrt = 'colrt', molid = 'id', attr = 'attribution', comp = 'composition', int = 'intensity', rel = 'relative', mzexp = 'mzexp', mztheo = 'mztheo', msmatching = 'msmatching', molnames = 'molnames', molcomp = 'molcomp', molmass = 'molmass', inchi = 'inchi', inchikey = 'inchikey', pubchem = 'pubchem', chebi = 'chebi', hmdb = 'hmdb', kegg = 'kegg')
59 MSDB.DFT.OUTPUT.MULTIVAL.FIELD.SEP <- MSDB.MULTIVAL.FIELD.SEP 56 MSDB.DFT.OUTPUT.MULTIVAL.FIELD.SEP <- MSDB.MULTIVAL.FIELD.SEP
60 MSDB.DFT.MATCH.FIELDS <- list( molids = 'molid', molnames = 'molnames') 57 MSDB.DFT.MATCH.FIELDS <- list( molids = 'molid', molnames = 'molnames')
61 MSDB.DFT.MATCH.SEP <- ',' 58 MSDB.DFT.MATCH.SEP <- ','
62 MSDB.DFT.MODES <- list( pos = 'POS', neg = 'NEG') 59 MSDB.DFT.MODES <- list( pos = 'POS', neg = 'NEG')
63 MSDB.DFT.MZTOLUNIT <- MSDB.MZTOLUNIT.PPM 60 MSDB.DFT.MZTOLUNIT <- MSDB.MZTOLUNIT.PPM
74 dft.fields[[f]] <- f 71 dft.fields[[f]] <- f
75 72
76 return(dft.fields) 73 return(dft.fields)
77 } 74 }
78 75
79 #############################
80 # GET DEFAULT OUTPUT FIELDS #
81 #############################
82
83 msdb.get.dft.output.fields <- function () {
84
85 dft.fields <- list()
86
87 for(f in c(MSDB.TAG.MZ, MSDB.TAG.RT, MSDB.TAG.COL, MSDB.TAG.COLRT, MSDB.TAG.MOLID, MSDB.TAG.ATTR, MSDB.TAG.COMP, MSDB.TAG.INT, MSDB.TAG.REL, MSDB.TAG.MZEXP, MSDB.TAG.MZTHEO, MSDB.TAG.MOLNAMES, MSDB.TAG.MOLCOMP, MSDB.TAG.MOLMASS, MSDB.TAG.INCHI, MSDB.TAG.INCHIKEY, MSDB.TAG.PUBCHEM, MSDB.TAG.CHEBI, MSDB.TAG.HMDB, MSDB.TAG.KEGG))
88 dft.fields[[f]] <- f
89
90 return(dft.fields)
91 }
92
93 ######################### 76 #########################
94 # GET DEFAULT DB FIELDS # 77 # GET DEFAULT DB FIELDS #
95 ######################### 78 #########################
96 79
97 msdb.get.dft.db.fields <- function () { 80 msdb.get.dft.db.fields <- function () {
121 104
122 ######################### 105 #########################
123 # MAKE INPUT DATA FRAME # 106 # MAKE INPUT DATA FRAME #
124 ######################### 107 #########################
125 108
126 msdb.make.input.df <- function(mz, rt = NULL) { 109 msdb.make.input.df <- function(mz, rt = NULL, rtunit = MSDB.RTUNIT.SEC) {
127 110
128 field <- msdb.get.dft.input.fields() 111 field <- msdb.get.dft.input.fields()
129 112
130 x <- data.frame() 113 x <- data.frame()
131 114
137 else 120 else
138 x[, field[[MSDB.TAG.MZ]]] <- numeric() 121 x[, field[[MSDB.TAG.MZ]]] <- numeric()
139 122
140 # Set rt 123 # Set rt
141 if ( ! is.null(rt)) { 124 if ( ! is.null(rt)) {
125 if (rtunit == MSDB.RTUNIT.MIN)
126 rtunit <- rtunit * 60
142 if (length(rt) > 1) 127 if (length(rt) > 1)
143 x[seq(rt), field[[MSDB.TAG.RT]]] <- rt 128 x[seq(rt), field[[MSDB.TAG.RT]]] <- rt
144 else if (length(rt) == 1) 129 else if (length(rt) == 1)
145 x[1, field[[MSDB.TAG.RT]]] <- rt 130 x[1, field[[MSDB.TAG.RT]]] <- rt
146 else 131 else