新闻中心
生信分析教程系列:手把手教你如何从cBioPortal数据库下载肿瘤相关数据集(生信文章投哪个期刊)
通过之前的文章,我们学习了生物信息学分析的大框架,即挑分子-圈功能--联关系-靠临床4个步骤,并以一篇论文为例,解读了生信分析的常见流程。
框架搭建好之后,就需要往里填充细节。
里面涉及到很多的知识点,包括如何找分子、数据从何下载、如何下载、数据如何处理、用什么统计分析方法、如何分析等问题。
没有相关知识基础的同学,很有可能望而却步,被眼花缭乱的数据挡在了生物信息学的门外。
但大家千万不要有畏难情绪。
知识点虽多,但只要你肯耐心学,跟着小编一步一步地复现分析步骤,即使没有数据分析的相关教育背景,也最终能搭建好一栋属于你自己的生物信息学建筑。
在此基础上,如果能有你自己的独特Idea、交叉学科的教育背景或过硬的写作素质作为点缀,也能够在生物信息学道路上给予他人启迪。
怕什么真理无穷,进一寸有一寸的欢喜。
那么,我们先开始为这栋建筑添砖加瓦吧。
本节小课堂,小编带大家一起学习,如何从cBioPortal数据库下载数据。
▽ 数据库介绍
大规模的癌症基因组计划,比如The cancergenome atlas(TCGA)and the Internationalcancer genome consortium(ICGC),正在从多技术平台产生更多的癌症基因组数据。
在获取数据的过程中,普遍存在以下问题:
1. 对于没有计算机背景知识的研究者来说,对这些癌症基因组数据的整合、分析越来越具有挑战性;
2. 临床医生无法做大样本量的临床研究,没有条件获得大量临床数据;
3. TCGA数据库的数据较大,下载耗时;且下载的数据常需代码处理,无代码技能的小伙伴有心无力;
4. 很多人想做科研,但没有条件,也不知道在哪里下载。
而cBioPortal数据库的设计,以友好的姿态,给大家提供无代码、易下载、现成的临床数据。

今天我们需要学习如何从cBioPortal数据库下载:
(1)基因表达谱和(2)临床数据。
基因表达谱数据可以用来表现某一个基因在某个癌种中的表达。比如UEB2C在甲状腺癌(THCA)中的基因表达谱。
临床数据就是常见的患者年龄、性别、生存时间、种族等信息。
这两类数据的整合,是以后做生存分析、预后分析等各类生信分析的基础。

从cBioPortal数据库下载数据有两种方法,都可以得到想要的数据。
方法一:获得某个基因在肿瘤中的表达数据,以及肿瘤患者的临床资料。
方法二:获得某个肿瘤中所有基因的表达数据(然后挑选出自己的研究基因),以及肿瘤患者的临床资料。
▽ 方法一
Step 1. 进入网站首页http://www.cbioportal.org/,可以看到有很多不同肿瘤患者的数据集可以选择;也可以在红色方框内输入自己感兴趣的癌种,进行快速检索。

以乳腺癌(Breast Cancer)为例,搜索框输入“Breast Cancer”后回车检索,会出现许多不同来源的数据集。

△我们所需要的是来自于TCGA数据库的数据,因此可选择框1内标有TCGA字样的数据集。
再进一步筛选。框2内有不同的数值,代表该数据集里有多少个肿瘤样本。
数据库中的样本是随着时间更新的,因此样本量大的,时间就越近,样本数据也就最新。
一般情况下,我们常需要选择样本量较大的数据集进行后续分析,这就与统计分析的效能、结果可信度、以及结果外推有关啦。
Step 2. 接下来我们以基因BUB1B和甲状腺癌为例,获取基因表达数据。
搜索框输入THCA,选择感兴趣的数据集,点击query by gene。

来到如下界面。

其中框1处为mRNA表达数据选项,默认状态下为未选中状态,需勾选。框2处输入某个癌种的基因名。此处输入BUB1B基因,点击Submit,出现如下检索结果。

检索结果中,带有mRNA字样的文件是BUB1B基因在甲状腺癌中的表达数据。
其中,数据集1为未经过标准化处理的原始数据,离散程度较大;若以此数据作图,数据的分布会较为离散,且统计分析方法有待探讨。
而数据集2是在数据集1的基础上,对数据集做了log转换之后经标准化得出的数值,所有数据全部集中在一个范围,离散程度小,统计分析时可利用本身数据。(如下图)


因此,我们一般下载带有z-scores字样的、经过标准化处理后的数据集2。点击Tab Delimited下载。
此时下载的为txt文本格式的数据集,需右键→打开方式→用excel打开,或者直接将txt文本拖到已经打开的excel表格中。
到这一步,已经完成了基因表达谱的下载。
Step 3.接下来需要下载临床数据。
回到首页,搜索框输入感兴趣癌种(本例中为THCA),选择所需要的数据集,点击Explore Selected Studies。

来到如下界面,选择Clinical data。

本界面中,columns一栏是患者的临床特征数据,常见的有年龄、性别、种族等等,可根据所需要的信息,勾选相应的条目。1处各项目与2处各横标目一一对应。

本例中我们选择默认状态下的勾选条目,点击小箭头下载。

下载后的文件同样地为txt文本,也需要调整为excel格式。
至此数据整合需要的两个数据集(基因表达谱+临床数据clinical data)已经下载完毕。接下来需以clinical data表格为基准,将基因表达谱表格整合到clinical data表格里,完成最终的数据分析表格。
Step 4. 整合前述步骤中下载的两个表格。
步骤如下:(1)为了方便,先将基因表达谱表格中的Sample ID列和基因名列复制到临床数据表格的子表格中,使两个目标表格放置在同一个excel文档中。

(2)在clinical data表格里新建一个子表格,将上一步复制的内容粘贴进去。

可以看到,两个表格的共同点是都有一栏Sample ID。因此,我们将以Sample ID为精准匹配条件,将两个表格中的数据合并至一个表格中。
此处,我们将把sheet1中的表达数据匹配至clinical data的表格中。
(3) 在Clinical表格的Sample ID右侧插入列,以便放置提取的基因表达数据。

(4)选中放置基因表达数据那一列的初始栏,插入VLOOKUP函数。

(5)填写数值。
1处填写的是需要用哪一列作为查找的匹配条件。本数据是用共同的Sample ID作为匹配条件,因此此处选择C2,用鼠标点击C2格或者直接输入C2均可;2处填写的是匹配数据所需要的查找范围。本文是要通过sample ID查找sheet1中的表达数据,因此点击sheet1,选中Sample ID和基因表达数值的两列表格(如下图)。此时函数中会自动填写刚刚所选择的范围,即子表格Sheet 1中的A、B两列。
3处需要填写的是,需要提取到临床数据表格的数据在步骤2已选择范围中的哪一列。本文需要提取的表达数据在第2列,因此此处填写2即可;4处需要定义的是精确匹配(0)还是模糊匹配(1)。本文需要精确匹配,将两个表格中sample ID完全一致的表达数据提取到clinical data表格,因此此处填写0。
(6)点击确定之后,已经匹配到第一个Sample ID的数据。
双击该框右下角处,该列所有数据都会自动生成。显示为N/A的,意为在sheet1中没有查询到clinical data表格中这个ID的表达值。
生成数据之后,此列数据为带格式数据,在移动整理的过程中可能会出现格式错误,建议将该列数据复制,在旁插入新的一列,以纯文本格式粘贴到新生成的列中使用。(7)匹配完成的数据里,需要将该列显示N/A的所有对应Sample ID全部删除。
这一步的意义在于:以后所做的所有分析都是基于基因表达数据,若某个患者的Sample ID没有表达谱数据(N/A),即使它有其他的临床数据,对于我们以后要做的生信分析也没有帮助。
删除方法如下:选中该列数据→筛选→取消全选→单独选中N/A的数据→确定
此时表格里显示的全都是数值为N/A的Sample ID栏,需删除所有数据。
(备注:①其他列里的N/A可以不用删除,是因为做生存分析、预后分析等,软件可以自动识别N/A情况;分析中,也可将所有列中出现NA的样本全部删除,但这样处理后样本量会很少,可能达不到分析需要的大样本要求;实际分析中可自行选择不同的处理方法。)
以上我们学习了基因表达谱、临床数据两个数据集的下载。
也学习了怎样将两个数据集通过共同的Sample ID元素匹配到一起。
至此,我们得到的,已经是一个含有甲状腺癌患者临床数据、以及BUB1B基因表达数据的总表。
接下来,就可以用这张表做相关分析啦,比如生存分析、ROC分析、logistic回归等等。
▽ 方法二
上面我们介绍了获取两个数据集的方法一,
接下来学习下载数据的第二种方法。
两者的区别在于,前者是直接下载某个基因在癌种中的表达。比如BUB1B在甲状腺癌中的表达情况。
后者可下载与某个癌种相关的所有基因表达情况,数据下载之后,我们需要进一步筛选目标基因。
Step 1. 同样进入网站首页http://www.cbioportal.org/,点击Data Sets。
Step 2. 来如下界面。
框1处填写癌种名,比如Breast cancer,Thyroid cancer等。框2处是该数据集中具有表达数据的样本量。一般选择样本量较大的数据集。
Step 3.本文以甲状腺癌为例,下载带有TCGA字样的、可用数据量最大的数据集。
点击中间小箭头下载。
Step 4.此时下载的是一个数据包。解压打开后,找到可用数据。
其中,文件1为患者的临床数据。文件2和3为癌种的基因表达数据。2是方法一中提到的,未经标准化的基因表达数据。带有Z-score字样的3,为经过标准化处理后的数据。因此我们需要用到的是1和3,将其转化成excel格式。
Step 5.基因表达数据表格(带有Z-score字样的data RNA数据表格)打开后,呈现出与该癌种相关的所有基因表达,此时我们需要筛选目标基因。本文以基因BUB1B为例。
筛选方法:点击1处,选中该横栏,再点击2处进行筛选。
接着找到1处基因列,点击右侧下拉箭头。在2处文本框中输入基因名。
Step 6. 下图呈现的是经过筛选之后的数据,只留下横标题栏和目标基因栏。
由于此时的数据是横向摆放的,我们需要进行转置操作。(横向转竖向)
方法如下:先将这两列数据复制到临床数据表格clinical data中,如方法一中提到的,在clinical data中新建一个子表格,以放置基因表达数据。
在新建的子表格中,点击鼠标右键,粘贴选项里选择“转置”粘贴。
此时我们得到的,就是竖向排列的、基因BUB1B的表达谱数据。
Step 7.相信大家已经注意到,基因表达谱中的ID号与临床数据表格里的ID号有些许差异。
(基因表达谱ID)(临床数据表ID)因此我们需要对ID号进行处理,使其一致,方便后续匹配数据。
处理方法如下:以clinicaldata表格为基准,修改clinical data表格里的PatientID,加入-01字样。首先,在PatientID右侧插入新列,单击选中新列的初始栏,插入函数:=B2& ”-01”
其中,B2表示源数据所在位置,即B列里的“TCGA-4C-A93U”所在位置;&表示加号;文本内容需添加在””内,注意双引号需在英文状态下输入;-01表示添加的文本具体内容。
回车键入函数,生成如下内容,单击右下角方框,将该函数适用到该列的所有栏。
需要注意的是,虽然我们这时将clinical data中的所有Patient ID后都加入了“-01”,同时,我们浏览基因表达谱的所有Sample时,会发现几乎所有的Sample ID后缀都是“-01”,但仍有少数几个Sample ID的后缀是“02”或“06”,我们先可以不去管它。按照正常步骤,将基因表达谱的数据匹配到clinical data中来。之后单独核实特殊ID号的数据。
Step 8. 打开clinical data表格,开始匹配数据。
clinical data打开后,可以将前4行无用信息删除。
接下来的步骤与方法一中的操作大致相同:
在Clinical data表中的Patient ID右侧插入列,用于放置基因表达数据→插入VLOOKUP函数→填写数值→生成匹配数据→在右侧新建一列,将之前匹配的数据复制,纯文本格式粘贴到新列中,删除旧列→完成。
看到这里,相信大家已经学会用不同的方法获取基因表达谱数据和临床数据,并将两类数据通过相同的Sample ID元素整合到同一个表格里,为后续的数据分析奠定基础啦。
大家可以选取自己感兴趣的基因,开始练习获取数据了。