生信自学论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: TCGA GEO R
查看: 1163|回复: 4

五分钟使用TCGA数据发表文章中的图表

  [复制链接]

4

主题

11

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2017-9-12 06:10:52 | 显示全部楼层 |阅读模式
生信自学网课程

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

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

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

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

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

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


1. 安装R语言和Rstudio。

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

2. 安装相关依赖包

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

  1. install.packages('devtools')
  2. install.packages('ggplot2')
  3. devtools::install_github('mariodeng/FirebrowseR')
  4. require(FirebrowseR)
复制代码
3. 选择肿瘤类型

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

  1. cohorts = Metadata.Cohorts(format = 'csv')
  2. cancer.Type = cohorts[grep('Pancreatic adenocarcinoma', cohorts$description, ignore.case = T), 1]
  3. print(cancer.Type)
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

4

主题

11

帖子

28

积分

新手上路

Rank: 1

积分
28
 楼主| 发表于 2017-9-12 06:15:31 | 显示全部楼层
生信自学网课程
本帖最后由 Angela 于 2017-9-12 06:18 编辑

4. 下载TCGA数据临床信息

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

  1. all.Received = F
  2. page.Counter = 1
  3. page.size = 150
  4. paad.Pats = list()
  5. while(all.Received == F){
  6. paad.Pats[[page.Counter]] = Samples.Clinical(format = 'csv',
  7. cohort = cancer.Type,
  8. page_size = page.size,
  9. page = page.Counter)
  10. if(page.Counter > 1)
  11. colnames(paad.Pats[[page.Counter]]) = colnames(paad.Pats[[page.Counter-1]])
  12. if(nrow(paad.Pats[[page.Counter]]) <>
  13. all.Received = T
  14. } else{
  15. page.Counter = page.Counter + 1
  16. }}
  17. paad.Pats = do.call(rbind, paad.Pats)
  18. dim(paad.Pats)
复制代码


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

  1. diff.Exp.Genes = c('ESR1', 'GATA3', 'XBP1', 'FOXA1', 'ERBB2', 'GRB7', 'EGFR','FOXC1', 'MYC')
  2. all.Found = F
  3. page.Counter = 1
  4. mRNA.Exp = list()
  5. page.Size = 2000 # using a bigger page size is faster
  6. while(all.Found == F){
  7. mRNA.Exp[[page.Counter]] = Samples.mRNASeq(format = 'csv',
  8. gene = diff.Exp.Genes,
  9. cohort = 'PAAD',
  10. tcga_participant_barcode =                                             
  11. paad.Pats$tcga_participant_barcode,
  12. page_size = page.Size,
  13. page = page.Counter)
  14. if(nrow(mRNA.Exp[[page.Counter]]) <>
  15. all.Found = T
  16. else
  17. page.Counter = page.Counter + 1
  18. }
  19. mRNA.Exp = do.call(rbind, mRNA.Exp)
  20. dim(mRNA.Exp)
  21. mRNA.Exp = mRNA.Exp[which(mRNA.Exp$sample_type %in% c('NT', 'TP')), ]
  22. mRNA.Exp$expression_log2=as.numeric(mRNA.Exp$expression_log2)
复制代码

6. 多个基因做图

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

  1. library(ggplot2)
  2. p = ggplot(mRNA.Exp, aes(factor(gene), z.score))
  3. p +
  4. geom_boxplot(aes(fill = factor(sample_type))) +
  5. scale_y_continuous(limits = c(-2, 14)) +
  6. scale_fill_discrete(name = 'Tissue')
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

4

主题

11

帖子

28

积分

新手上路

Rank: 1

积分
28
 楼主| 发表于 2017-9-12 06:19:54 | 显示全部楼层
生信自学网课程
7. 单个基因作图

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

  1. library(ggplot2)
  2. p = ggplot(mRNA.Exp, aes(factor(gene), expression_log2))
  3. p +
  4. geom_boxplot(aes(fill = factor(sample_type))) +
  5. scale_y_continuous(limits = c(0, 8)) +
  6. scale_fill_discrete(name = 'Tissue')
复制代码

8. 保存图

在Rstudio中另存为pdf。

9. 导出原始数据。

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

  1. write.table(mRNA.Exp,file='C:/Users/Administrator/Desktop/mRNA.xls',sep='\t',quote=F)
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

5

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2017-9-20 14:51:04 | 显示全部楼层
生信自学网课程
写得不错,可是对于基础太差的俺,5个小时也搞不定啊,大神帮帮我
回复

使用道具 举报

0

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2017-9-21 09:58:14 | 显示全部楼层
生信自学网课程
insoo 发表于 2017-9-20 14:51
写得不错,可是对于基础太差的俺,5个小时也搞不定啊,大神帮帮我

同感,我要毕业
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|生信自学网论坛 ( 粤ICP备14097033号 )

GMT+8, 2018-12-18 04:28 , Processed in 0.133859 second(s), 20 queries .

Powered by biowolf.cn

© 2001-2017 BioWolf

快速回复 返回顶部 返回列表