利用R包TCGAbiolinks进行各种数据下载

下载TCGA数据的方法有很多,上一篇介绍了如何用gdc-client批量下载数据,基于网上有很多用TCGAbiolinks包下载数据的教程,所以也想学习一下这个方法。TCGAbiolinks的优点在于具备一体化的下载整合,无需再使用复杂的方法对下载的单个数据重新进行整合,换句话说,就是TCGAbiolinks包下载的数据是合并了的,不需要整理(TCGAbiolinks数据下载)。上一篇里我下载了20多个病人的RNA-seq数据,但是下载后发现这些文件是独立的,你还要对它们进行整合。所以我看到了TCGAbiolinks这个优点之后就决定要学习它了。(好吧,可能是因为懒。。。)

TCGAbiolinks的官方网站是:http://www.bioconductor.org/packages/devel/bioc/vignettes/TCGAbiolinks/inst/doc/index.html

代码参考:TCGA3.R包TCGAbiolinks下载数据

(一)安装TCGAbiolinks

> BiocManager::install("TCGAbiolinks")
> library(TCGAbiolinks)

(二)选定要下载的cancer类型

> TCGAbiolinks::getGDCprojects()$project_id
 [1] "TCGA-SARC"             "TARGET-CCSK"          
 [3] "TARGET-NBL"            "TARGET-AML"           
 [5] "TCGA-MESO"             "TCGA-ACC"             
 [7] "TCGA-READ"             "TCGA-LGG"             
 [9] "BEATAML1.0-CRENOLANIB" "TCGA-THCA"            
[11] "VAREPOP-APOLLO"        "HCMI-CMDC"            
[13] "TCGA-CHOL"             "TCGA-KIRC"            
[15] "ORGANOID-PANCREATIC"   "TCGA-BRCA"            
[17] "TCGA-OV"               "TCGA-GBM"             
[19] "TCGA-SKCM"             "GENIE-VICC"           
[21] "TCGA-DLBC"             "CGCI-BLGSP"           
[23] "OHSU-CNL"              "CPTAC-3"              
[25] "BEATAML1.0-COHORT"     "TCGA-KICH"            
[27] "TCGA-UVM"              "TCGA-THYM"            
[29] "TCGA-TGCT"             "TCGA-LUSC"            
[31] "TCGA-PRAD"             "FM-AD"                
[33] "TCGA-UCEC"             "TCGA-LAML"            
[35] "TARGET-ALL-P2"         "TCGA-STAD"            
[37] "TARGET-ALL-P3"         "GENIE-DFCI"           
[39] "GENIE-NKI"             "GENIE-MDA"            
[41] "GENIE-JHU"             "GENIE-MSK"            
[43] "TCGA-ESCA"             "TCGA-HNSC"            
[45] "TARGET-OS"             "TARGET-RT"            
[47] "TCGA-LIHC"             "CTSP-DLBCL1"          
[49] "TCGA-COAD"             "TCGA-LUAD"            
[51] "TCGA-CESC"             "TARGET-WT"            
[53] "NCICCR-DLBCL"          "TCGA-PAAD"            
[55] "MMRF-COMMPASS"         "TARGET-ALL-P1"        
[57] "CPTAC-2"               "TCGA-UCS"             
[59] "TCGA-KIRP"             "TCGA-PCPG"            
[61] "TCGA-BLCA"             "GENIE-UHN"            
[63] "GENIE-GRCC"

缩写代表的癌症种类见链接:TCGA癌症缩写、癌症中英文对照

#因为我做头颈癌,所以选择HNSC,这个跟教程里的不一样
> cancer_type="TCGA-HNSC"

(三)选择下载你想要的数据类型

这里教程里下载的是临床数据,我也先按流程走一遍:

> clinical <- GDCquery_clinic(project= cancer_type,type = "clinical")

查看下载的数据:

> clinical[1:4,1:4]
  submitter_id year_of_diagnosis classification_of_tumor last_known_disease_status
1 TCGA-4P-AA8J              2013            not reported              not reported
2 TCGA-BA-4074              2003            not reported              not reported
3 TCGA-BA-4075              2004            not reported              not reported
4 TCGA-BA-4076              2003            not reported              not reported
> dim(clinical)
[1] 528  78 #是个528行,78列的一个表

那么这个表里都有些什么,可以view一下看看:

> View(clinical)

可以看出这个表,一行是一个病例,列是根据这个病人的各项信息。

然后可以保存一下你下载的这个表了:

> save(clinical,file="BRCA_clinical.Rdata")
> write.csv(clinical, file="TCGAbiolinks-BRCA-clinical.csv")

(四)如果不想下载临床样品,我只想下载实验相关的数据,怎么办?

好说~网上也能搜到各种数据类型的下载方法:
(1)RNA-seq的count数据
代码参考:R包:TCGAbiolinks

> library(dplyr)
> library(DT)
> library(SummarizedExperiment)
> data_type <- "Gene Expression Quantification"#选择数据类型为“基因定量表达”
> data_category <- "Transcriptome Profiling" #选择数据类别为转录组
> workflow_type <- "HTSeq - Counts"
> query_TranscriptomeCounts <- GDCquery(project = cancer_type, 
                                       data.category = data_category, 
                                       data.type =  data_type, 
                                       workflow.type = workflow_type)
# GDCquery函数参数详解官网网址:
http://www.bioconductor.org/packages/release/bioc/vignettes/TCGAbiolinks/inst/doc/query.html#useful_information
#然后会弹出一大串下面这些。。。
--------------------------------------
o GDCquery: Searching in GDC database
--------------------------------------
Genome of reference: hg38
--------------------------------------------
oo Accessing GDC. This might take a while...
--------------------------------------------
ooo Project: TCGA-HNSC
--------------------
oo Filtering results
--------------------
ooo By data.type
ooo By workflow.type
----------------
oo Checking data
----------------
ooo Check if there are duplicated cases
ooo Check if there results for the query
-------------------
o Preparing output
-------------------
#将上一步搜索得到的数据下载下来,自动存储到所设置目录下的文件夹
> GDCdownload(query_TranscriptomeCounts, method = "api")
#method:使用API (POST方法)或gdc客户端工具。选择“api”,“client”。API更快,但是下载过程中数据可能会损坏,可能需要重新执行。
Downloading data for project TCGA-HNSC
GDCdownload will download 546 files. A total of 136.906805 MB
Downloading as: Wed_Jan_08_16_55_43_2020.tar.gz
Downloading: 140 MB
#将搜索得到的数据转换为适用于R语言的形式,返回值为a summarizedExperiment or a data.frame---类似矩阵的容器,行名为基因,列名为样本名 
> expdat <- GDCprepare(query = query_TranscriptomeCounts) 

|===================================================================================|100%                      Completed after 1 m 
Starting to add information to samples
 => Add clinical information to samples
Add FFPE information. More information at: 
=> https://cancergenome.nih.gov/cancersselected/biospeccriteria 
=> http://gdac.broadinstitute.org/runs/sampleReports/latest/FPPP_FFPE_Cases.html
 => Adding subtype information to samples
hnsc subtype information from:doi:10.1038/nature14129
Accessing www.ensembl.org to get gene information
Downloading genome information (try:0) Using: Human genes (GRCh38.p13)
From the 60483 genes we couldn't map 3971

这一步我在操作的时候有报错,如果你在操作的时候也出现了类似:internal error -3这样的报错,可以重新启动一下Rstudio。参考文章:lazy-load database 'P' is corrupt #3

> count_matrix=assay(expdat)
> View(count_matrix)#view一下看看矩阵啥样
每一列是一个病人,行是基因名称

这个表就是我们熟悉的count值了,你可以随心所欲的处理它,折磨它。。。
但是在任何操作之前千万别忘了保存

> write.csv(count_matrix,file = "TCGAbiolinks_HNSC_counts.csv")

(2)下载RNA-seq的FPKM数据

> Expr_df <- GDCquery(project = cancer_type,
                     data.category = data_category,
                     data.type =  data_type,
                     workflow.type = "HTSeq - FPKM")
> GDCdownload(Expr_df, method = "api", files.per.chunk = 100)
#files.per.chunk:这将使API方法一次只下载n个(files.per.chunk)文件。当数据量过大时,可能会下载出错,可设置files.per.chunk参数减少下载问题。值为整数,即可将文件拆分为几个文件下载,如files.per.chunk = 6。
Downloading data for project TCGA-HNSC
GDCdownload will download 546 files. A total of 278.868796 MB
Downloading chunk 1 of 6 (100 files, size = 51.032322 MB) as Wed_Jan_08_19_22_27_2020_0.tar.gz
Downloading: 51 MB     Downloading chunk 2 of 6 (100 files, size = 51.063004 MB) as Wed_Jan_08_19_22_27_2020_1.tar.gz
Downloading: 51 MB     Downloading chunk 3 of 6 (100 files, size = 51.028334 MB) as Wed_Jan_08_19_22_27_2020_2.tar.gz
Downloading: 51 MB     Downloading chunk 4 of 6 (100 files, size = 51.08847 MB) as Wed_Jan_08_19_22_27_2020_3.tar.gz
Downloading: 51 MB     Downloading chunk 5 of 6 (100 files, size = 51.14113 MB) as Wed_Jan_08_19_22_27_2020_4.tar.gz
Downloading: 51 MB     Downloading chunk 6 of 6 (46 files, size = 23.515536 MB) as Wed_Jan_08_19_22_27_2020_5.tar.gz
Downloading: 24 MB

> expdat_2 <- GDCprepare(query = Expr_df)
> Expr_matrix=assay(expdat_2)
> write.csv(Expr_matrix,file = "TCGAbiolinks_HNSC_FPKM.csv")

(3)下载其他类型的数据
其他的数据我不经常用,但是也查询了代码,万一以后能用得着呢,参考文章有:
1.用TCGAbiolinks从TCGA数据下载到下游分析的学习笔记
2.R包:TCGAbiolinks
3.TCGA3.R包TCGAbiolinks下载数据
4.TCGA数据下载—TCGAbiolinks包参数详解
5.TCGA数据库下载:多种方法及优缺点介绍

#下载miRNA数据
  query <- GDCquery(project = cancer_type, 
                    data.category = "Transcriptome Profiling", 
                    data.type = "miRNA Expression Quantification", 
                    workflow.type = "BCGSC miRNA Profiling")
  
  GDCdownload(query, method = "api", files.per.chunk = 50)
  expdat <- GDCprepare(query = query)
  count_matrix=assay(expdat)
  write.csv(count_matrix,file = paste(cancer_type,"miRNA.csv",sep = "-"))
  
#下载Copy Number Variation数据
  query <- GDCquery(project = cancer_type, 
                    data.category = "Copy Number Variation", 
                    data.type = "Copy Number Segment")
  
  GDCdownload(query, method = "api", files.per.chunk = 50)
  expdat <- GDCprepare(query = query)
  count_matrix=assay(expdat)
  write.csv(count_matrix,file = paste(cancer_type,"Copy-Number-Variation.csv",sep = "-"))
  
#下载甲基化数据
  query.met <- GDCquery(project =cancer_type,
                        legacy = TRUE,
                        data.category = "DNA methylation")
  GDCdownload(query.met, method = "api", files.per.chunk = 300)
  expdat <- GDCprepare(query = query)
  count_matrix=assay(expdat)
  write.csv(count_matrix,file = paste(cancer_type,"methylation.csv",sep = "-"))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • 资料来源该包手册。R社区已经有不少下载和处理TCGA数据的包,但目前能获取最新GRch38的应该只有TCGAbio...
    王诗翔阅读 4,375评论 0 7
  • 几天前去了佛山的汉陶博物馆,才知道我们国家的文化遗产急需抢救性保护了!有幸的是佛山的一位企业家捐资筹建了汉陶博物馆...
    菲而墨阅读 1,097评论 0 0
  • 我叫杜春锋,今年7岁了,我有一双大眼睛,忽闪忽闪的,爸爸说我的眼睛一转就转出一个点子,我喜欢看动画片,小猪佩奇,我...
    cd8c47bd7dec阅读 155评论 0 0
  • 时光荏苒,转眼到了大学的最后一年。粉了简书三年了,终于下定决心,开始写写随笔。记录一下这一年的生活。 从前半年开始...
    加菲在俄阅读 139评论 0 0