一、关于 TCGAbiolinks
TCGAbiolinks 是一个用于 TCGA 数据综合分析的 R/BioConductor 软件包,能够通过 GDC Application Programming Interface (API) 访问 National Cancer Institute (NCI) Genomic Data Commons (GDC),来搜索、下载和准备相关数据,以便在 R 中进行分析。
二、问题
神奇的是,今天在 R 操作 TCGAbiolinks 却遇到了一个极其棘手的问题:
library(TCGAbiolinks)
query
data.category = "Transcriptome Profiling",
data.type = "Gene Expression Quantification",
workflow.type = "HTSeq - Counts")
GDC server down, try to use this package later
拿着这个 error 去谷歌,看到的结果都是教你用 devtools 或者 TCGAbiolink 官网提供的方法从 github 重装一遍这个包:
devtools::install_github("BioinformaticsFMRP/TCGAbiolinks")
BiocManager::install("BioinformaticsFMRP/TCGAbiolinks")
然而这些方法都未能解决我的问题,下面是关于这个问题的一些探索。
三、源码分析
首先,我去 TCGAbiolink 中的源码看这个异常是在哪里导致的,在 R/internal.R 中发现:
> library(jsonlite)
> fromJSON("https://api.gdc.cancer.gov/status",simplifyDataFrame = TRUE)
Error in open.connection(con, "rb") :
SSL certificate problem: unable to get local issuer certificate
后来又看了一下 jsonlite 的 fromJSON 函数,发现它其实是基于 curl 包来实现获取,以及下载相关的数据。
The curl package provides bindings to the libcurl C library for R. The package supports retrieving data in-memory, downloading to disk, or streaming using the R “connection” interface. Some knowledge of curl is recommended to use this package. For a more user-friendly HTTP client, have a look at the httr package which builds on curl with HTTP specific tools and logic.
curl 去访问 https 的站点报错看了一下
curl 和
curl 命令都是支持 ssl 的: