许多化学家面临的一个恼人问题是将化合物的 CAS 登记号(存储在一些不易访问的商业数据库中)转换为 Pubchem 标识符(公开可用)。Pubchem 支持两者之间的转换,但只能通过他们的手动 Web 界面,而不是他们的官方 PUG REST 编程界面。
这里给出了一个基于电子实用程序接口的 Ruby 解决方案:http: //depth-first.com/articles/2007/09/13/hacking-pubchem-convert-cas-numbers-into-pubchem-cids-与红宝石/
有人知道这将如何转化为 R 吗?
编辑:根据下面的答案,最优雅的解决方案是:
library(XML)
library(RCurl)
CAStocids=function(query) {
xmlresponse = xmlParse( getURL(paste("http://www.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pccompound&retmax=100&term=",query,sep="") ) )
cids = sapply(xpathSApply(xmlresponse, "//Id"), function(n){xmlValue(n)})
return(cids)
}
> CAStocids("64318-79-2")
[1] "6434870" "5282237"
干杯,汤姆