首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

怎么根据TCGA官方的API下载数据?简单几句命令轻轻松松下载想要的TCGA大数据

TCGA是目前最大的癌症基因信息数据库,通过TCGA不仅可以验证你的实验结果,还可以寻找新的研究方向,围绕TCGA已经有很多重量级文章出现,对它的使用愈发重要。

目前使用的方法有两种,一是利用一些在线工具进行检索和查询,例如cBioPortal(http://www.cbioportal.org/public-portal/cgds_r.jsp)。二是下载肿瘤的三级数据,自行进行分析。

在使用这两种方法中,许多小伙伴会遇到不少问题。

对于第一种,由于在线工具大都是国外的网站,经常会遇到网速慢,网页打不开等问题,其次一些图表是由网页自行生成的,无法统一成你需要发表文章的格式,往往还需再次修改加工,所需时间不少。

对于第二种,则需要一定的生信基础和对数据库的了解才能顺利实现分析,对于大多数医生或实验研究者来说只关注自己感兴趣的数据或者只想获得一张验证或补充自己实验结果的图表而已,那么学习整个过程无疑将是费时费力的。

这期生物医学大数据解读和分析番外篇就以解决这个问题为例子,分享一个好用的R包工具,虽然涉及到一些R语言代码,但只需进行的复制黏贴代码等简单操作,就能分分钟搞定这个难题。

1. 安装R语言和Rstudio。

可点击,相信学习过WGCNA包的不会陌生

2. 安装相关依赖包

按一段段代码实现功能,复制黏贴到Rstudio即可,注意事项都以截图说明。

install.packages("devtools")

install.packages("ggplot2")

devtools::install_github("mariodeng/FirebrowseR")

require(FirebrowseR)

3. 选择肿瘤类型

点击Rstudio中出现的cohorts,出现左上角表格,记住所需要查询的肿瘤代号,输入到红色标注代码,表示选择查询的肿瘤类型。这里以胰腺癌作为例子。

cohorts = Metadata.Cohorts(format = "csv")

cancer.Type = cohorts[grep("Pancreatic adenocarcinoma", cohorts$deion, ignore.case = T), 1]

print(cancer.Type)

4. 下载TCGA数据临床信息

在Rstudio中点击paad.Pats,出现左上角表格,记录了所有胰腺癌的临床信息。

all.Received = F

page.Counter = 1

page.size = 150

paad.Pats = list()

while(all.Received == F){

paad.Pats[[page.Counter]] = Samples.Clinical(format = "csv",

cohort = cancer.Type,

page_size = page.size,

page = page.Counter)

if(page.Counter > 1)

colnames(paad.Pats[[page.Counter]]) = colnames(paad.Pats[[page.Counter-1]])

if(nrow(paad.Pats[[page.Counter]])

all.Received = T

} else{

page.Counter = page.Counter + 1

}}

paad.Pats = do.call(rbind, paad.Pats)

dim(paad.Pats)

5. 输入查询的基因

蓝色替换成需要查询的基因,允许单个或多个基因。注意红色标记对应为相应的肿瘤代号。

diff.Exp.Genes = c("ESR1", "GATA3", "XBP1", "FOXA1", "ERBB2", "GRB7", "EGFR","FOXC1", "MYC")

all.Found = F

page.Counter = 1

mRNA.Exp = list()

page.Size = 2000 # using a bigger page size is faster

while(all.Found == F){

mRNA.Exp[[page.Counter]] = Samples.mRNASeq(format = "csv",

gene = diff.Exp.Genes,

cohort = "PAAD",

tcga_participant_barcode =

paad.Pats$tcga_participant_barcode,

page_size = page.Size,

page = page.Counter)

if(nrow(mRNA.Exp[[page.Counter]])

all.Found = T

else

page.Counter = page.Counter + 1

}

mRNA.Exp = do.call(rbind, mRNA.Exp)

dim(mRNA.Exp)

mRNA.Exp = mRNA.Exp[which(mRNA.Exp$sample_type %in% c("NT", "TP")), ]

mRNA.Exp$expression_log2=as.numeric(mRNA.Exp$expression_log2)

6. 多个基因做图

红色标记表示y轴取值范围,可以自己调整设定。z.score代表各个基因间表达值标准化处理,一般用于多个基因放在一张图里,不仅可以比较癌和癌旁差异,还能比较各个基因间的表达差异。其中NT为癌旁,TP为癌。

library(ggplot2)

p = ggplot(mRNA.Exp, aes(factor(gene), z.score))

p +

geom_boxplot(aes(fill = factor(sample_type))) +

scale_y_continuous(limits = c(-2, 14)) +

scale_fill_discrete(name = "Tissue")

7. 单个基因作图

红色标记表示y轴取值范围,可以自己调整设定。expression_log2表示基因表达值的对数值,一般用于单个基因比较癌和癌旁的差异趋势。

library(ggplot2)

p = ggplot(mRNA.Exp, aes(factor(gene), expression_log2))

p +

geom_boxplot(aes(fill = factor(sample_type))) +

scale_y_continuous(limits = c(0, 8)) +

scale_fill_discrete(name = "Tissue")

8. 保存图

在Rstudio中另存为pdf。

9. 导出原始数据。

保存基因表达数据到桌面excel文件。

write.table(mRNA.Exp,file="C:/Users/Administrator/Desktop/mRNA.xls",sep="t",quote=F)

喜欢记得来一个

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181231G0N43G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券