而不是抓住PubChem的网站,我宁愿做得好,并从PubChem ftp网站本地生成图像:
ftp://ftp.ncbi.nih.gov/pubchem/specifications/
唯一的问题是我仅限于OSX和Linux,我似乎无法找到一种以编程方式生成他们在网站上拥有的2D图像的方法.看这个例子:
https://pubchem.ncbi.nlm.nih.gov/compound/6#section=Top
在"2D结构"标题下,我们在这里有这样的图像:
https://pubchem.ncbi.nlm.nih.gov/image/imgsrv.fcgi?cid=6&t=l
这就是我想要产生的东西.
许多化学家面临的一个令人讨厌的问题是将化学化合物的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"
Run Code Online (Sandbox Code Playgroud)
汤姆,欢呼声