「r<-包」UCSCXenaTools v1.2.7

作者: 王诗翔 | 来源:发表于2019-10-08 18:30 被阅读0次

    今天在推特上看到 UCSC Xena 更新了关于 GDC 的数据

    以及收到 B.C 君关于 UCSC Xena 支持断点续传的邮件

    所以花了一下午时间重新审查了下项目相关的代码。更新有哪些呢?

    单细胞数据 hub 域名更正

    单细胞数据 hub 之前域名是 https://singlecell.xenahubs.net,现在是 https://singlecellnew.xenahubs.net,已更新。

    GDC 数据下载问题的修复

    详情见 https://github.com/ropensci/UCSCXenaTools/issues/12。原因是 GDC hub 的 URL 下载链接拼错了。UCSC Xena 的设计本身不是很规整,所以容易出这种问题,不过相应的也比较好修复。如果读者有发现类似的问题请及时提醒我。

    数据下载断点续传的支持

    之前 UCSC Xena 的数据集是不支持断点续传的,这对大文件很不友好,特别是 toil hub 中几个大型数据集都有5、6G。这个我原先是不知道的,用户有需求时我测试才发现它不支持。所以与 官方的 team 联系交流了下,在他们经过测试后现在已经对所有的数据 hub 进行了升级。

    从用户角度来说,只需要在下载时增加几个选项的指定就可以了。下面是一个示例,推荐使用 curl 方法。

    library(UCSCXenaTools)
    xe = XenaGenerate(subset = XenaDatasets == "TcgaTargetGtex_expected_count")
    xe
    xq = XenaQuery(xe)
    # You cannot resume from breakpoint in default mode
    XenaDownload(xq, destdir = "~/test/", force = TRUE)
    # You can do it with 'curl' command
    XenaDownload(xq, destdir = "~/test/", method = "curl", extra = "-C -", force = TRUE)
    # You can do it with 'wget' command
    XenaDownload(xq, destdir = "~/test/", method = "wget", extra = "-c", force = TRUE)
    

    数据的更新以及相关代码的优化

    之前我使用 UCSCXenaTools 收录的数据集大概是 1650 个,现在有 1738个,有接近 100 个数据集的增加。是否有一些版本的更新我倒没仔细查看。

    趁着数据集更新的机会花时间优化了更新代码。我上一次更新 XenaData 已经有好几个月了,一般不更新它,因为费时间。我相信用户之前如果想自己更新数据也会比较困难,因为之前是对每一个数据集进行查询,而且有2次这样的操作,接近两千个数据集的HTTP查询如果网不好肯定会断掉,等于没做。

    现在则方便多了,之前感觉个把小时,现在大概几分钟就可以搞定。下面是实测:

    > system.time(XenaDataUpdate(saveTolocal = F))
    => Obtaining info from UCSC Xena hubs...
    ...
    => Done.
      用户   系统   流逝 
     3.832  0.120 70.285 
    

    原理在于我从 hub 层次去获取 cohort 信息,从 cohort 层次去获取 datasets 的信息。数据 hub 目前总共才 10 个,而 cohort 总共也就 100 多的样子,查询量至少少了 20 倍。

    以后就算我没时间更新,用户如果获取到了官方的更新信息,也可以自己手动用函数更新了。

    安装

    最新版本已经提交到 CRAN,但是到可获取还需要几天时间,目前可以通过 GitHub 上安装:

    # install.packages("remotes")
    remotes::install_github("ropensci/UCSCXenaTools")
    

    相关文章

      网友评论

        本文标题:「r<-包」UCSCXenaTools v1.2.7

        本文链接:https://www.haomeiwen.com/subject/recipctx.html