改版之前下载的界面是这样的,可以直接下载,直接用于后续绘制瀑布图和提取TMB数据。

改版之后,一个样本一个maf文件,这下可发愁了,不用急,方法来了。
和往常一样,打开浏览器,输入我们熟悉的gdc官网页面:https://portal.gdc.cancer.gov/ 。

进入之后先确认下Cart为空,否则下载数据可能会出错,然后点击菜单“Repository”,进入之后左上角有两个菜单,先选择“Cases”,在“Cases”里面的“Program”选择TGCA,这个没有问题,“Project”选择自己研究的肿瘤类型,比如这里选择TCGA-STAD(也就是我们常用的胃癌)。

然后选择“Files”菜单栏,“Data Category”选择simple nucleotide variation,“Data Tyep”选择Masked Somatic Mutation,选好之后,

点击中间部位的菜单栏“Add All Files to Cart”,把数据放入购物车,然后进入类似购物车的“Cart”菜单,在Download菜单下载Cart,也就是数据压缩包,点击之后需要耐心等待,后台正在打包,打包好之后就会进入浏览器下载模式,接下来就等待下载,同时也可以把Manifest文件下载下来,如果后面用得到的话。在clinical下面可以获取到临床数据。

接下啦就是数据这里提取阶段,这里分三步:

1、把下载的gdc压缩包解压
# 设置工作地址为解压后的文件地址
setwd()
# 创建一个目录保存所有结果
dir.create('0000_all_maf')
# 下载的文件名为36个字母才是所需的,其他的可以忽略
dir_all <- dir()[nchar(dir()) == 36]
for (dir_maf in dir_all) {
#内部文件也是压缩的,需要解压出来并保存到之前创建的目录中
maf_file <- list.files(dir_maf, pattern = ".*maf")
if (grepl('gz$',maf_file)){
R.utils::gunzip(paste0(dir_maf,"/",maf_file))
}
file_extracted <- list.files(dir_maf, pattern = ".*maf$")
file.copy(paste0(dir_maf,"/",file_extracted),"0000_all_maf")
}
# 将工作地址设置为之前创建的目录
setwd()
file_extracted_maf <- list.files()
first_file <- read.delim(file_extracted_maf[1], header = T, sep = '\t', comment.char = '#',stringsAsFactors = F)
for (extracted_maf in file_extracted_maf[2:length(file_extracted_maf)]) {
file_appended <- read.delim(extracted_maf, header = T, sep = '\t', comment.char = '#',stringsAsFactors = F)
first_file <- rbind(first_file,file_appended)
}
PAAD_maf <- first_file
# 测试是否可以读入到maftools中
# library(maftools)
# PAAD_maf = read.maf(PAAD_maf)
这里的代码只是为了将所有文件存在在一起,其实不用一定要保存到某个位置,而可以直接读取整合,也不用解压,甚至不用创建一个first_file,而直接创建一个PAAD_maf为空dataframe,然后一个一个rbind即可。anyway,代码不重要,实现目的即可。
还有一个参考的方法,利用maftools批量读取再merge到一起,也是很方便2022-TCGA数据库重大更新后3行代码提取simple nucleotide variation的数据 - 腾讯云开发者社区-腾讯云 (tencent.com)
只需要3行代码就可以搞定的,下载后的数据解压到了DLBC_SNV文件夹中。
library(maftools)
library(tidyverse)
mafFilePath = dir(path = "./DLBC_SNV/",pattern = "masked.maf.gz$",full.names = T,recursive=T)
mafdata <- lapply(mafFilePath, function(x){read.maf(x,isTCGA=TRUE)})
snv_data = merge_mafs(mafdata)
网友评论