Mercurial > repos > prog > lcmsmatching
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 |
