前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >评估任意基因集在癌症的表现

评估任意基因集在癌症的表现

作者头像
生信技能树jimmy
发布2020-03-30 11:36:32
5240
发布2020-03-30 11:36:32
举报
文章被收录于专栏:单细胞天地单细胞天地
前言

第四单元第二讲:评估任意基因集在癌症的表现 课程链接在:http://jm.grazy.cn/index/mulitcourse/detail.html?cid=53

上一篇是探索两个细胞亚群(vCAF、mCAF)特有的基因在TCGA中的表现,发现两个亚群的基因都是和TCGA 相关的基因在内部相关,说明了分群的效果不错

目的就是做下面这个图的相关性分析:

可以看到,横坐标的vCAF就是我们前一篇得到的vCAF基因集在TCGA数据集中的表达量,那么纵坐标,就需要去文章里找,作者是拿到了5篇不同参考文献的6个数据集

文章正文放了四张相关性的图,是vCAF和mCAF与第27篇参考文献中的两个乳腺癌数据集进行的比较

然后再来看看第27篇文献的图,其中列出了乳腺癌的ECM和Endothelial的基因集

然后这篇参考文献的作者定义基因集的方法就是:在大部分癌症中都存在的基因就是基因集,因此我们看到,本文使用的基因集中就3个基因

看到其中有一个奇怪的基因名CXorf36,按说人类的基因名都应该是大写,所以拿到GenCard查询一下:https://www.genecards.org/cgi-bin/carddisp.pl?gene=DIPK2B&keywords=CXorf36。发现这个基因目前叫DIPK2B

有了基因集,就去获取4个基因集的表达量

各个基因如下:

代码语言:javascript
复制
library(stringr)
# vCAF基因集
vCAF='Esam, Gng11, Higd1b, Cox4i2, Cygb, Gja4, Eng'
vCAF=unlist(str_split(vCAF,', '))
# mCAF基因集
mCAF='Dcn, Col12a1, Mmp2, Lum, Mrc2, Bicc1, Lrrc15, Mfap5, Col3A1, Mmp14, Spon1, Pdgfrl, Serpinf1, Lrp1, Gfpt2, Ctsk, Cdh11, Itgbl1, Col6a2, Postn, Ccdc80, Lox, Vcan, Col1a1, Fbn1, Col1a2, Pdpn, Col6a1, Fstl1, Col5a2, Aebp1'
mCAF=unlist(str_split(mCAF,', '))
# ECM基因集
ECM=c('COL1A1', 'COL1A2','COL3A1')
# Endothelial基因集
endothelial=c('CDH5', 'DIPK2B','TIE1')

还是使用上一篇的GDC乳腺癌TCGA的表达矩阵(60,489 identifiers X 1217 samples

需要注意的是:上一篇我们单纯比较多个基因相关性,所以得到多个基因的表达量然后做个热图就好;但是这次要比较的是两个基因集(每一组内都有不同数量的基因)。作者用散点图来展现,其中的每一个点实际上就是一个样本,但是同一个样本在两个基因集中对应的基因数量不同,不能简单拿任何一个基因进行比较。作者给的方法是:

但是这里我们只是简单对每个样本取个均值

代码语言:javascript
复制
# 读入数据TCGA-BRCA.htseq_counts.tsv.gz
library(data.table)
filepath <- file.choose()
a=fread(filepath ,data.table=F)

# Ensembl ID切割
library(stringr)
esid=str_split(a$Ensembl_ID,
                 '[.]',simplify = T)[,1]
# ID转换
e2s=select(org.Hs.eg.db,keys = esid,columns = c( "ENSEMBL" ,  "SYMBOL" ),keytype = 'ENSEMBL')
vCAF=toupper(vCAF);vCAF=vCAF[vCAF %in% e2s$SYMBOL,]
mCAF=toupper(mCAF);mCAF=mCAF[mCAF %in% e2s$SYMBOL,]

# 获得表达量
rownames(a)=esid
a=a[,-1]

ng=e2s[match(vCAF,e2s$SYMBOL),1]
vCAF_value=colMeans(a[ng,])
ng=e2s[match(mCAF,e2s$SYMBOL),1]
mCAF_value=colMeans(a[ng,])
ng=e2s[match(ECM,e2s$SYMBOL),1]
ECM_value=colMeans(a[ng,])
ng=e2s[match(endothelial,e2s$SYMBOL),1]
endothelial_value=colMeans(a[ng,])

dat=data.frame(vCAF_value=vCAF_value,
                 mCAF_value=mCAF_value,
                 ECM_value=ECM_value,
                 endothelial_value=endothelial_value )
最后绘制散点图
代码语言:javascript
复制
library(ggpubr)
colnames(dat)
ggscatter(dat, x = "vCAF_value", y = "endothelial_value",
          color = 'black', shape = 21, size = 0.5, # Points color, shape and size
          add = "reg.line",  # Add regressin line
          add.params = list(color = "blue", fill = "lightgray"), # Customize reg. line
          conf.int = TRUE, # Add confidence interval
          cor.coef = TRUE,  
          cor.coeff.args = list(method = "pearson",  label.sep = "\n")
)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 有了基因集,就去获取4个基因集的表达量
    • 最后绘制散点图
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档