姊妹篇:《TCGA 数据下载整理二》
TCGA数据下载GDC提供了工具,当然我没用过,我用过它提供的python api下载,算是简单的方法,自己先下载好样品信息表(sample sheet)再根据api写个python脚本批量下载。但我现在比较少这么做,能用鼠标点点点的事为什么要写几行代码,我现在是直接在GDC网站用浏览器下载,局限是文件不能太多太大,目前我试过1000+文件200+Mb大小成功。
前面在GDC选择需要下载文件并加入购物车(cart)就略过了。本文以TCGA-BLCA为例,我选好了要下载的read counts文件。
如图所示点击 Download --> Cart 就可以下载到数据了,旁边的各种Metadata, Sample Sheet什么的也建议下载,除了临床数据(Clinical),临床数据建议去cBioPortal下载整理好的。
下载之后是单独的文件,需要整理合并,这时候一定要了解TCGA命名规则,官网给出规则总结见下图。
这是完整的ID,我们平常见到的应该是Vial之前部分。曾经我被一个教程误导了,导致我分析前把B结尾的样本数据先移除了,教程对Vial的解释:
Vial, 在一系列患者组织中的顺序,绝大多数样本该位置编码都是A; 很少数的是B,表示福尔马林固定石蜡包埋组织,已被证明用于测序分析的效果不佳,所以不建议使用-01B的样本数据
错误在于编码B与FFPE(福尔马林固定石蜡包埋组织)不存在这种绝对关系,看看下面代码结果。
> filter(sample, endsWith(sample_submitter_id, "B")) %>% dplyr::select(sample_submitter_id, is_ffpe)
# A tibble: 19 x 2
sample_submitter_id is_ffpe
<chr> <chr>
1 TCGA-H4-A2HO-10B False
2 TCGA-E7-A85H-10B False
3 TCGA-BL-A13I-01B True
4 TCGA-E5-A4U1-10B False
5 TCGA-CU-A3QU-10B False
6 TCGA-K4-A4AB-01B False
7 TCGA-BL-A13J-01B True
8 TCGA-GC-A3RC-10B False
9 TCGA-GV-A3JV-10B False
10 TCGA-E7-A6MF-10B False
11 TCGA-K4-A3WU-01B False
12 TCGA-E7-A6ME-10B False
13 TCGA-HQ-A2OF-10B False
14 TCGA-GV-A3QK-01B False
15 TCGA-E5-A4TZ-10B False
16 TCGA-GC-A3RD-10B False
17 TCGA-E7-A6MD-10B False
18 TCGA-BL-A0C8-01B True
19 TCGA-GU-A764-10B False
有些项目会有一个组织块分多个部分的实验数据,比如
> filter(meta, sample_id=="TCGA-BL-A0C8-01A") %>% dplyr::select(sample_id, entity_submitter_id)
# A tibble: 2 x 2
sample_id entity_submitter_id
<chr> <chr>
1 TCGA-BL-A0C8-01A TCGA-BL-A0C8-01A-11R-A277-07
2 TCGA-BL-A0C8-01A TCGA-BL-A0C8-01A-11R-A10U-07
像这个只是plate部分不一样,以前我懒得搞直接把这种样品移除,最近遇到数据不足情况,我觉得就随机选其中一个文件使用就好,千万不要瞎操作给合并之类的。
合并下载的数据肯定也是批量操作不方便检查的,建议用python写脚本将Metadata.json文件内容整理如下格式:
sample_id entity_submitter_id file_name is_ffpe
TCGA-E7-A97Q-01A TCGA-E7-A97Q-01A-11R-A38B-07 695edbe7-d46a-433f-9ae8-a8978a19a320.htseq.counts.gz False
TCGA-UY-A78O-01A TCGA-UY-A78O-01A-12R-A33J-07 b6cc1a11-1805-4e41-8d7e-190c25609c17.htseq.counts.gz False
TCGA-BT-A3PH-01A TCGA-BT-A3PH-01A-11R-A220-07 748316bc-c1df-4dbf-b365-defbc050e9f9.htseq.counts.gz False
有这个表格,我相信合并会更放心,减少出错可能。