rcgdsr包是一个用于获取TCGA数据的R包,它可以检索TCGA中的癌症研究、基因组学数据类型、样本类型及临床数据等,常用的6个函数如下:
函数 | 含义 |
---|---|
CGDS | 创建一个CGDS对象,后面的所有操作都是在此对象上完成。 |
getCancerStudies() | 获取当前TCGA中所有的癌症研究,目前查询共计有266个癌症研究。 |
getGeneticProfiles() | 查询一个癌症研究中可以获取的基因组学数据,比如是mRNA表达数据还是拷贝数变异。 |
getCaseLists() | 查询一个癌症研究中可以获取的样本集,比如是获取全部样本还是只包含mRNA表达数据的样本。 |
getProfileData() | 获取特定基因的基因组数据,如获取PETN、EGFR基因的突变数据。 |
getClinicalData() | 获取一个特定样本集的临床数据,如病人的生存时间和年龄等。 |
CGDS
CGDS意为癌症基因组数据库,这个函数用于创建一个CGDS对象,这个对象可以理解为一个“查询机器人”,后面的操作都要通过这个机器人来完成。
library("cgdsr")
mycgds CGDS("http://www.cbioportal.org/")
# 这里的mycgds就是我们创建一个查询机器人,它可以查询cbioportal数据库中的TCGA数据
getCancerStudies:获取癌症研究列表
getCancerStudies(mycgds) #获取全部的癌症研究
DT::datatable(getCancerStudies(mycgds)) #为了便于查看数据,使用DT来展示表格
结果如下图,可以看到共有266个癌症研究,每个研究有ID、名字和具体描述。
以下以第二个癌症研究为例:
mycancerstudy getCancerStudies(mycgds)[2,1] # mel_tsam_liang_2017
getCaseLists:查询特定的样本集
每一个癌症研究还包含着多个样本集,以 mel_tsam_liang_2017
为例,它共有38个样本,这38个样本分成了6个集合:
1. 全部样本,2. 同时拥有点突变拷贝数变异及mRNA表达数据的样本集,3. 所有拥有拷贝数变异的样本集,4. 所有拥有mRNA表达数据的样本,5. 所有拥有点突变数据的样本集,6. 同时拥有点突变和拷贝数变异的样本集。
这几个集合大部分都是重合的,因为大多数样本都有点突变、拷贝数变异及mRNA表达数据。
注意:38个样本不代表有38个病人,以 mel_tsam_liang_2017
来说,它有33个病人,表明其中一些病人有多个样本。
DT::datatable(getCancerStudies(mycgds,mycancerstudy))
这里的样本集选择所有样本集合。
mycaselist getCaseLists(mycgds,mycancerstudy)[1,1] #mel_tsam_liang_2017_all
getGeneticProfiles:获取基因组数据学数据类型
为了获取特定基因的基因组学数据,需要先确定样本集合和数据类型,样本集 mel_tsam_liang_2017_all
已经确定,这里看一下数据类型:
DT::datatable(getGeneticProfiles(mycgds,mycancerstudy))
如下图,可以发现癌症研究 mel_tsam_liang_2017
可以提供三种组学数据:拷贝数变异、mRNA表达、点突变。
这里选择拷贝数变异数据。
mygeneticprofile getGeneticProfiles(mycgds,mycancerstudy)[1,1] # mel_tsam_liang_2017_cna
getProfileData:获取特定基因的基因组数据学数据
已经确认好样本集和基因组学数据类型,此时就可以获取特定基因的基因组学数据,如获取HLA-A、HLA-B在所有样本中的拷贝数变异数据:
getProfileData(mycgds,c('HLA-A','HLA-B'),mygeneticprofile,mycaselist)
结果如下图所示:
getClinicalData:获取临床数据
获取样本集中的全部临床数据很简单,只需要给出选定的样本集即可。
myclinicaldata getClinicalData(mycgds,mycaselist)
结果如下,行为样本,第一列为样本ID,可以获得包括年龄、癌症类型、治疗方式、生存时间等共33列信息。
本周的分享就到这里。
参考资料
cgdsr包的官方操作手册在:
https://cran.r-project.org/web/packages/cgdsr/cgdsr.pdf
TCGA的28篇教程-使用R语言的cgdsr包获取TCGA数据