UCSCXenaTools介绍

UCSCXenaTools 提供了下载 UCSC Xena 平台数据的 R 客户端,为官方文档 https://ucsc-xena.gitbook.io/project/overview-of-features/download-data 所推荐。

安装

从 CRAN 安装稳定版本:

install.packages("UCSCXenaTools")

从 GitHub 安装开发版本:

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

如果你想要确保在本地构建好包文档,请添加额外两个选项:

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

如果存在问题或是 Bug,请到 GitHub Issue 上提问。

Data Hub 列表

UCSC Xena 平台根据数据源分为不同的 data hub,(基本上)所有的数据集都可以在 https://xenabrowser.net/datapages/ 找到。

当前 UCSCXenaTools 支持 10 个 data hub:

  • UCSC Public Hub: https://ucscpublic.xenahubs.net

  • TCGA Hub:

    https://tcga.xenahubs.net

  • GDC Xena Hub: https://gdc.xenahubs.net

  • ICGC Xena Hub: https://icgc.xenahubs.net

  • Pan-Cancer Atlas Hub: https://pancanatlas.xenahubs.net

  • GA4GH (TOIL) Hub: https://toil.xenahubs.net

  • Treehouse Hub: https://xena.treehouse.gi.ucsc.edu

  • PCAWG Hub: https://pcawg.xenahubs.net

  • ATAC-seq Hub: https://atacseq.xenahubs.net

  • Singel Cell Xena hub: https://singlecell.xenahubs.net

如果 data hub 的 URL 改变了,或者有新的 data hub 出现了,请通过邮箱 w_shixiang@163.com 或者 GitHub issue 联系我。

使用方法

我将该包支持的标准流程分为 5 步,它们分别由对应的函数实现:

  • 生成 XenaHub 对象 —— XenaGenerate()

  • 过滤数据 —— XenaFilter()

  • 检索数据 —— XenaQuery()

  • 下载数据 —— XenaDownload()

  • 导入数据 —— XenaPrepare()

它们可以使用管道符号 %>% 进行连接。

下面通过下载 TCGA hub 的肺癌临床数据进行演示。

XenaData 数据框

UCSCXenaTools 使用包内置数据集 XenaData 辅助生成 XenaHub 对象,这个数据集记录了当前所有数据集的信息。

library(UCSCXenaTools)
data(XenaData)

head(XenaData)
#> # A tibble: 6 x 17
#>   XenaHosts XenaHostNames XenaCohorts XenaDatasets SampleCount DataSubtype
#>   <chr>     <chr>         <chr>       <chr>              <int> <chr>      
#> 1 https://… publicHub     Breast Can… ucsfNeve_pu…          51 gene expre…
#> 2 https://… publicHub     Breast Can… ucsfNeve_pu…          57 phenotype  
#> 3 https://… publicHub     Glioma (Ko… kotliarov20…         194 copy number
#> 4 https://… publicHub     Glioma (Ko… kotliarov20…         194 phenotype  
#> 5 https://… publicHub     Lung Cance… weir2007_pu…         383 copy number
#> 6 https://… publicHub     Lung Cance… weir2007_pu…         383 phenotype  
#> # … with 11 more variables: Label <chr>, Type <chr>,
#> #   AnatomicalOrigin <chr>, SampleType <chr>, Tags <chr>, ProbeMap <chr>,
#> #   LongTitle <chr>, Citation <chr>, Version <chr>, Unit <chr>,
#> #   Platform <chr>

Workflow

生成对象并过滤数据集:

# The options in XenaFilter function support Regular Expression
XenaGenerate(subset = XenaHostNames=="tcgaHub") %>% 
  XenaFilter(filterDatasets = "clinical") %>% 
  XenaFilter(filterDatasets = "LUAD|LUSC|LUNG") -> df_todo

df_todo
#> class: XenaHub 
#> hosts():
#>   https://tcga.xenahubs.net
#> cohorts() (3 total):
#>   TCGA Lung Cancer (LUNG)
#>   TCGA Lung Adenocarcinoma (LUAD)
#>   TCGA Lung Squamous Cell Carcinoma (LUSC)
#> datasets() (3 total):
#>   TCGA.LUNG.sampleMap/LUNG_clinicalMatrix
#>   TCGA.LUAD.sampleMap/LUAD_clinicalMatrix
#>   TCGA.LUSC.sampleMap/LUSC_clinicalMatrix

有时候我们仅仅知道一些关键字词, XenaScan() 函数可以用于逐行扫描 XenaData 所有的列。

x1 = XenaScan(pattern = 'Blood')
x2 = XenaScan(pattern = 'LUNG', ignore.case = FALSE)

x1 %>%
    XenaGenerate()
#> class: XenaHub 
#> hosts():
#>   https://ucscpublic.xenahubs.net
#>   https://tcga.xenahubs.net
#> cohorts() (6 total):
#>   Connectivity Map
#>   TARGET Acute Lymphoblastic Leukemia
#>   Pediatric tumor (Khan)
#>   Acute lymphoblastic leukemia (Mullighan 2008)
#>   TCGA Pan-Cancer (PANCAN)
#>   TCGA Acute Myeloid Leukemia (LAML)
#> datasets() (34 total):
#>   cmap/rankMatrix_reverse
#>   TARGET_ALL/TARGETcnv_genomicMatrix
#>   TARGET_ALL/TARGETexp_genomicMatrix
#>   ...
#>   TCGA.LAML.sampleMap/mutation_wustl
#>   TCGA.LAML.sampleMap/Pathway_Paradigm_RNASeq_And_Copy_Number
x2 %>%
    XenaGenerate()
#> class: XenaHub 
#> hosts():
#>   https://tcga.xenahubs.net
#> cohorts() (1 total):
#>   TCGA Lung Cancer (LUNG)
#> datasets() (13 total):
#>   TCGA.LUNG.sampleMap/HumanMethylation27
#>   TCGA.LUNG.sampleMap/HumanMethylation450
#>   TCGA.LUNG.sampleMap/Gistic2_CopyNumber_Gistic2_all_data_by_genes
#>   ...
#>   TCGA.LUNG.sampleMap/HiSeqV2_exon
#>   TCGA.LUNG.sampleMap/AgilentG4502A_07_3

检索和下载:

XenaQuery(df_todo) %>%
  XenaDownload() -> xe_download
#> This will check url status, please be patient.
#> All downloaded files will under directory /var/folders/mx/rfkl27z90c96wbmn3_kjk8c80000gn/T//RtmpNjqKIQ.
#> The 'trans_slash' option is FALSE, keep same directory structure as Xena.
#> Creating directories for datasets...
#> Downloading TCGA.LUNG.sampleMap/LUNG_clinicalMatrix.gz
#> Downloading TCGA.LUAD.sampleMap/LUAD_clinicalMatrix.gz
#> Downloading TCGA.LUSC.sampleMap/LUSC_clinicalMatrix.gz

导入 R :

cli = XenaPrepare(xe_download)
class(cli)
#> [1] "list"
names(cli)
#> [1] "LUNG_clinicalMatrix.gz" "LUAD_clinicalMatrix.gz"
#> [3] "LUSC_clinicalMatrix.gz"

浏览数据集

创建两个 XenaHub 对象

  • to_browse - 包含 1 个队列 1 个数据集

  • to_browse2 - 包含 2 个队列 2 个数据集

XenaGenerate(subset = XenaHostNames=="tcgaHub") %>%
    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

XenaGenerate(subset = XenaHostNames=="tcgaHub") %>%
    XenaFilter(filterDatasets = "clinical") %>%
    XenaFilter(filterDatasets = "LUAD|LUSC") -> to_browse2

to_browse2
#> class: XenaHub 
#> hosts():
#>   https://tcga.xenahubs.net
#> cohorts() (2 total):
#>   TCGA Lung Adenocarcinoma (LUAD)
#>   TCGA Lung Squamous Cell Carcinoma (LUSC)
#> datasets() (2 total):
#>   TCGA.LUAD.sampleMap/LUAD_clinicalMatrix
#>   TCGA.LUSC.sampleMap/LUSC_clinicalMatrix

XenaBrowse() 可以用于浏览数据所在的 UCSC Xena 页面,使用默认浏览器打开。默认情况下,我只允许用户一次打开一个网页,以避免页面过多。

# 运行下面会打开浏览器
XenaBrowse(to_browse)

XenaBrowse(to_browse, type = "cohort")
# 运行下面会报错
XenaBrowse(to_browse2)
#> Error in XenaBrowse(to_browse2): This function limite 1 dataset to browse.
#>  Set multiple to TRUE if you want to browse multiple links.

XenaBrowse(to_browse2, type = "cohort")
#> Error in XenaBrowse(to_browse2, type = "cohort"): This function limite 1 cohort to browse. 
#>  Set multiple to TRUE if you want to browse multiple links.

如果你确定你想要浏览多个页面,也可以通过设定实现:

XenaBrowse(to_browse2, multiple = TRUE)
XenaBrowse(to_browse2, type = "cohort", multiple = TRUE)

更多使用方法

上面描述了该包的核心功能,更多用法可以浏览下面的链接查看:

  • UCSCXenaTools 详细介绍 - PDF

  • UCSCXenaTools API - PDF

另外,我在 rOpenSci 上有发表一篇博文讲解如何使用该包下载和清理数据,然后用于生存分析:UCSCXenaTools: Retrieve Gene Expression and Clinical Information from UCSC Xena for Survival Analysis

断点续传

最近,在和官方开发者交流后,UCSC Xena 平台支持了断点续传的功能,这样下载大型数据集就比较有保障了。下面分别演示了不使用断点续传以及分别使用 curl 或者 wget 进行断点续传。

library(UCSCXenaTools)
xe = XenaGenerate(subset = XenaDatasets == "TcgaTargetGtex_expected_count")
xe
xq = XenaQuery(xe)
# 默认情况,不会断点续传
XenaDownload(xq, destdir = "~/test/", force = TRUE)
# 使用 curl 进行断点续传
XenaDownload(xq, destdir = "~/test/", method = "curl", extra = "-C -", force = TRUE)
# 使用 wget 进行断点续传
XenaDownload(xq, destdir = "~/test/", method = "wget", extra = "-c", force = TRUE)


本文是由官方文档 https://cran.r-project.org/web/packages/UCSCXenaTools/vignettes/USCSXenaTools.html 翻译而成。

写在最后

1

生信六周年全国巡讲

南宁、南京、福州

2

广州·数据挖掘课

2天带你玩转GEO

3

生信入门课全国巡讲

11月-福州、上海

生信入门课大纲

1

生信R语言入门

2

GEO数据挖掘

3

生信linux入门

4

转录组课题设计与数据分析

(0)

相关推荐

  • 纯生信单基因独立预后发文思路3+

    研究背景: 核糖核苷二磷酸还原酶亚基M2(RRM2)是核糖核苷酸还原酶的催化亚基,可调节酶活性,这对于DNA复制和修复至关重要.然而,RRM2在肺腺癌(LUAD)中的作用仍不清楚. 研究方法: 在这项 ...

  • 2020年的新预后模型套路发5分+SCI!

    Deep neural network classification based on somatic mutations potentially predicts clinical benefit ...

  • 【以案说医】林丽珠:健脾益气,清热化痰法治疗晚期肺鳞癌案

    ▲林丽珠  广东省名中医,广州中医药大学第一附属医院副院长,医学博士,教授,主任医师,博士生导师.党的十九大代表,全国先进工作者.著名中医肿瘤学家及中西医结合肿瘤学家,国医大师周岱翰教授学术继承人,广 ...

  • JTO:日本非吸烟患者基因组综合分析

    今天给大家带来的是2020年2月发表在J Thorac Oncol (12.46)杂志上的文章"Identification of Novel CD74-NRG2α Fusion From ...

  • EPHA5基因突变可预测肺腺癌(LUAD)免疫治疗后的生存期

    臻和科技携手复旦大学附属华山医院-陈志明主任发表研究于"Aging(Albany NY)"(IF:4.831):本研究采用臻和百适博产品进行检测. 本期导读 大量研究表明,免疫治疗 ...

  • UCSCXenaTools包用法介绍

    版本更新了,有写东西变了,想要使用请查看文档  https://shixiangwang.github.io/UCSCXenaTools/ ------------------------------ ...

  • 2021年三亚养猪补贴对象、标准及申请流程介绍!

    近几年随着猪价的上涨,养猪户也越来越多,但是目前生猪养殖成本大幅上升,市场猪肉价格居高不下,为了鼓励生猪养殖,很多地区发布了一系列的养猪补贴政策,今天就给大家介绍一下2021年三亚生猪养殖补贴政策及养 ...

  • 哈伯-博施工艺全介绍

    哈伯-博施法是一种将氮和氢固定在一起生产氨的方法,氨是植物肥料生产的关键部分.该工艺在20世纪初由弗里茨·哈伯(Fritz Haber)开发,后来被卡尔·博世(Carl Bosch)修改为生产化肥的工 ...

  • 蜂窝活性炭的应用介绍

    产品简介 山东新空活性炭以高品质煤质活性炭为原理,可广泛应用于各类气体净化设备和废气治理工程. 蜂窝活性炭是一种具有大比表面积,微孔结构,高吸附容量的活性炭产品.选用蜂窝活性炭吸附法,即废气与具有大比 ...

  • (35条消息) 中国城域网路由情况介绍

    中国的城域网,大概有三张比较典型的,一个是中国移动的CMnet,一个是中国电信IP城域网,还有一个是中国网通IP城域网.作为接入最后的阵地,城域网的业务是最复杂的.含盖了IPTV,语音,Interne ...

  • 山东41家主要地炼企业介绍汇总!

    一.山东地炼加工能力 鑫岳燃化240万吨,亚通石化276万吨,天弘化学440万吨,精细化工197万吨,利津石化350万吨,垦利石化252万吨,神驰252万吨,齐润石化220万,京博石化331万吨,鲁清 ...

  • 《内蒙古中医药》2013年第3期中介绍了...

    <内蒙古中医药>2013年第3期中介绍了一个治疗乙肝的验方--乙肝扶正解毒汤,此方由9味药组成: 党参.白术.生黄芪.丹参.刺五加.虎杖.叶下珠.半枝莲.绞股蓝. 方中: 党参.白术.生黄 ...

  • 2020年全球封装代工厂(OSAT)营收31强排名(附芯片 IC 封装工艺介绍(PPT)))

    数据来源:半导体综研 ---- / END / ---- 注:如有遗漏错误之处请指正,联系方式如下:

  • 麦芽介绍 麦芽的功效与作用有哪些

    行气消食.健脾开胃.消肿祛瘀.麦芽,它是一个非常好的消食的药,用于食积的患者,效果非常好.消食药有很多种,麦芽主要用于吃米饭比较多以后的消食,它的味甘,性非常的平和,归脾.胃经.主要功效是行气消食,同 ...