Learn R Programming

webchem (version 0.0.5.0)

ci_query: Retrieve information from ChemIDPlus http://chem.sis.nlm.nih.gov/chemidplus

Description

Retrieve information from ChemIDPlus http://chem.sis.nlm.nih.gov/chemidplus

Usage

ci_query(query, type = c("rn", "name", "inchikey"), mult = c("first",
  "best", "ask", "na"), verbose = TRUE)

Arguments

query
character; query string
type
character; type of query string. 'rn' for regeistry number or 'name' for common name or 'inchikey' for inchikey as input.
mult
character; How should multiple hits be handeled? 'first' returns only the first match, 'best' the best matching (by name) ID, 'ask' is a interactive mode and the user is asked for input, 'na' returns NA if multiple hits are found.
verbose
logical; should a verbose output be printed on the console?

Value

  • A list of 8 entries: name (vector), synonyms (vector), cas (vector), inchi (vector), inchikey (vector), smiles(vector), toxicity (data.frame), physprop (data.frame) and source_url.

Examples

Run this code
# might fail if API is not available
# query common name
y1 <- ci_query('Formaldehyde', type = 'name')
str(y1) # lots of information inside
y1$inchikey

# Query by CAS
y2 <- ci_query('50-00-0', type = 'rn')
y2$inchikey

# query by inchikey
y3 <- ci_query('WSFSSNUMVMOOMR-UHFFFAOYSA-N', type = 'inchikey')
y3$name

### handle multiple inputs
 cas <- c('1071-83-6', '50-00-0')
 # extract inchikeys
 sapply(cas, function(x){
   ci_query(x, type = 'rn')$inchikey
 })

Run the code above in your browser using DataLab