【r<-包】UCSCXenaTools v1.0.0发布

很久没有管这个包了,今天更新了一个新的特性,查看数据集链接

更新已经提交到CRAN上了,可能过个一两天就可以直接install.packages()了。现在想试试的话,使用下面命令安装Github版本:

remotes::install_github("ShixiangWang/UCSCXenaTools", build_vignettes = TRUE)

新特性

当使用XenaFilter()过滤完数据后,可能我们想要做的事情不是立即下载,而是坚持下数据集是不是我们想要下载的。利用新添加的XenaBrowse()函数,用户可以直接打开数据集页面!

比如,下面过滤出TCGA LUAD的临床数据:

XenaGenerate(subset = XenaHostNames=="TCGA") %>%
    XenaFilter(filterDatasets = "clinical") %>%
    XenaFilter(filterDatasets = "LUAD") -> to_browse

to_browse
#> class: XenaHub 
#> hosts():
#>   https://tcga.xenahubs.net
#> cohorts() (1 total):
#>   TCGA Lung Adenocarcinoma (LUAD)
#> datasets() (1 total):
#>   TCGA.LUAD.sampleMap/LUAD_clinicalMatrix

这里只包含一个cohort的一个数据集,我们可以使用XenaBrowse()函数查看cohort页面和dataset页面。

# 下面会打开数据集页面
XenaBrowse(to_browse)

# 下面会打开cohort页面
XenaBrowse(to_browse, type = "cohort")

如果包含多个数据集,直接使用这个命名会报错,这是我故意这样设计的,如果你过滤后的有几百个数据集,你傻不溜秋去打开它?如果你确定想要打开它们,加一个multiple=TRUE选项即可。

更多信息阅读https://cran.r-project.org/web/packages/UCSCXenaTools/vignettes/USCSXenaTools.html#browse-datasets

一些相关的话

在我的逻辑里,理解UCSCXenaTools这个包的使用需要有从UCSC Xena用鼠标点击下载数据的经历,当你发现你需要批量下载数据集,而下载的数据链接似乎存在某种规律时,你就可以使用这个包了。

因为Xena Data Hubs的底层逻辑并不是非常清楚(至少难以企及TCGA),不过它确实存在某些规律,这些规律被XenaR包提取了出来,然后我在XenaR包的基础上进一步解析,才有了今天的UCSCXenaTools。

这个包的使用范围不是特别广泛,目前下载量月均几百,没有特别大的Bug,所以我所需要做的就是少量的维护和更新。伴随这个包的更新,我对于包开发本身也有了不少的进步。比如,为什么我从0.2.7直接改版本号到1.0.0了?因为该做的基本都做了,所以我想给它一个正式的版本号。

之前我对于这个包开发的方向是构建一个本地非常高效的Shiny,用于用户可以在本地进行数据集的过滤和选择下载。但目前想了想已经放弃了,就算实现了跟本来的Xena网页下载有什么太大的区别?可以促进代码的流程化?显然都不能。(非应用)包开发的目的本身就是提供更易用的接口,让用户可以不断组合实现优雅的代码流、分析和结果。

最后这个包如果真的帮助到你了,不妨帮我在https://github.com/ShixiangWang/UCSCXenaTools点个Star,谢谢。

推荐阅读更多精彩内容