美文网首页肿瘤基因组
TCGA2022年新版本SNP数据处理

TCGA2022年新版本SNP数据处理

作者: Lucas21423 | 来源:发表于2022-05-10 22:43 被阅读0次

    最近课题原因需要下载TCGA项目的SNP数据,按照以前的经验直接进TCGA下一个整合的就好,但现在更新之后SNP数据变成和count数据一样是按照样本存放的,因此下载后需要整合在一起。这里记录下载、整合过程。

    1.下载

    首先进入TCGA官网https://portal.gdc.cancer.gov/,点击Repository

    TCGA网站

    进入筛选页面,首先在Files栏下,Data Category选择simple nucleotide variation,Data Format选择maf,Access选择open,然后点击Cases栏,Program选择TCGA,Project这里我选择的是PAAD

    image-20220511222233838.png

    在选择要下载的数据后,点击页面中Add All Files to Cart,然后进入Cart

    image-20220511222550696.png

    然后点击Download→Cart,将所有文件以gz压缩包的形式下载到本地


    image-20220511222706466.png

    2.处理

    数据下载后得到一个gz文件,将其解压,然后利用R语言批量处理并整合数据

    # 设置工作地址为解压后的文件地址
    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到一起,也是很方便(https://cloud.tencent.com/developer/article/1983809)

    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)
    

    相关文章

      网友评论

        本文标题:TCGA2022年新版本SNP数据处理

        本文链接:https://www.haomeiwen.com/subject/wmpjurtx.html