本文转载自:http://www.360doc.com/content/22/0604/23/76149697_1034565139.shtml
最近在做KEGG富集分析时,碰到了一个问题,问题如下:
Reading KEGG annotation online:
fail to download KEGG data...
Error in download.KEGG.Path(species) :
'species' should be one of organisms listed in 'http://www.genome.jp/kegg/catalog/org_list.html'...
In addition: Warning message:
In utils::download.file(url, quiet = TRUE, method = method, ...) :
URL 'https://rest.kegg.jp/link/hsa/pathway': status was 'Failure when receiving data from the peer'
通过学习Jimmy老师的文章,http://www.360doc.com/content/22/0604/23/76149697_1034565139.shtml,问题已解决,非常感谢Jimmy老师!在此做一个记录,仅供学习交流,如有侵权,请联系我,立马撤掉。
Y叔的clusterProfiler包的下载协议是:
getOption("clusterProfiler.download .method")
[1]"libcurl"
下载函数(utils:.download.file和downloader:.download)使用默认的方法,也就是 'auto’是可以去访问的,
但是如果是"libcurl"的协议,就会失败。
所以,最简单的解决方案就是修改这个默认的协议即可,解决方案:
install.packages("R.utils")
library(R.utils)
R.utils::setOption("clusterProfiler.download.method","auto")
之后,再运行enrichKEGG就可以跑通了。
KEGG数据库没有倒闭,Y叔的clusterProfiler包也问题不大。仅仅是因为R语言里面的下载文件的函数的协议需要注意,这两个函数两个下载函数(utils:download.file和downloader:.download),都太底层了。初学者确实不容易找到问题所在。
道阻且长,行则将至 行而不辍,未来可期