Mercurial > repos > prog > lcmsmatching
comparison PubchemCompound.R @ 1:253d531a0193 draft
planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit 36c9d8099c20a1ae848f1337c16564335dd8fb2b
author | prog |
---|---|
date | Sat, 03 Sep 2016 17:02:01 -0400 |
parents | e66bb061af06 |
children |
comparison
equal
deleted
inserted
replaced
0:e66bb061af06 | 1:253d531a0193 |
---|---|
21 # Set XML namespace | 21 # Set XML namespace |
22 ns <- c(pubchem = "http://pubchem.ncbi.nlm.nih.gov/pug_view") | 22 ns <- c(pubchem = "http://pubchem.ncbi.nlm.nih.gov/pug_view") |
23 | 23 |
24 # Define xpath expressions | 24 # Define xpath expressions |
25 xpath.expr <- character() | 25 xpath.expr <- character() |
26 xpath.expr[[RBIODB.ACCESSION]] <- "//pubchem:RecordType[text()='CID']/../pubchem:RecordNumber" | 26 xpath.expr[[BIODB.ACCESSION]] <- "//pubchem:RecordType[text()='CID']/../pubchem:RecordNumber" |
27 xpath.expr[[RBIODB.INCHI]] <- "//pubchem:Name[text()='InChI']/../pubchem:StringValue" | 27 xpath.expr[[BIODB.INCHI]] <- "//pubchem:Name[text()='InChI']/../pubchem:StringValue" |
28 xpath.expr[[RBIODB.INCHIKEY]] <- "//pubchem:Name[text()='InChI Key']/../pubchem:StringValue" | 28 xpath.expr[[BIODB.INCHIKEY]] <- "//pubchem:Name[text()='InChI Key']/../pubchem:StringValue" |
29 | 29 |
30 for (content in contents) { | 30 for (content in contents) { |
31 | 31 |
32 # Create instance | 32 # Create instance |
33 compound <- PubchemCompound$new() | 33 compound <- PubchemCompound$new() |
50 name <- NA_character_ | 50 name <- NA_character_ |
51 tryCatch( { name <- xpathSApply(xml, "//pubchem:Name[text()='IUPAC Name']/../pubchem:StringValue", xmlValue, namespaces = ns) }, warning = function(w) {}) | 51 tryCatch( { name <- xpathSApply(xml, "//pubchem:Name[text()='IUPAC Name']/../pubchem:StringValue", xmlValue, namespaces = ns) }, warning = function(w) {}) |
52 if (is.na(name)) | 52 if (is.na(name)) |
53 tryCatch( { name <- xpathSApply(xml, "//pubchem:Name[text()='Record Title']/../pubchem:StringValue", xmlValue, namespaces = ns) }, warning = function(w) {}) | 53 tryCatch( { name <- xpathSApply(xml, "//pubchem:Name[text()='Record Title']/../pubchem:StringValue", xmlValue, namespaces = ns) }, warning = function(w) {}) |
54 if ( ! is.na(name)) | 54 if ( ! is.na(name)) |
55 compound$setField(RBIODB.NAME, name) | 55 compound$setField(BIODB.NAME, name) |
56 | 56 |
57 } | 57 } |
58 | 58 |
59 compounds <- c(compounds, compound) | 59 compounds <- c(compounds, compound) |
60 } | 60 } |
61 | 61 |
62 # Replace elements with no accession id by NULL | 62 # Replace elements with no accession id by NULL |
63 compounds <- lapply(compounds, function(x) if (is.na(x$getField(RBIODB.ACCESSION))) NULL else x) | 63 compounds <- lapply(compounds, function(x) if (is.na(x$getField(BIODB.ACCESSION))) NULL else x) |
64 | 64 |
65 # If the input was a single element, then output a single object | 65 # If the input was a single element, then output a single object |
66 if (drop && length(contents) == 1) | 66 if (drop && length(contents) == 1) |
67 compounds <- compounds[[1]] | 67 compounds <- compounds[[1]] |
68 | 68 |