TCGA改版后,workflow.type只有STAR-counts数据,先对所尝试的几种处理方法进行记录:

R version 4.1.2 ; TCGAbiolinks version 2.23.11

方法1

最新版TCGA 矩阵整理,百分百复现成功_sayhello1025的博客-CSDN博客

一、从TCGA网站上下载tsv文件和json文件

1 tsv文件 

query <- GDCquery(project = "TCGA-PRAD", #项目名data.category = "Transcriptome Profiling",data.type = "Gene Expression Quantification",workflow.type = "STAR - Counts")t_samplesDown <- getResults(query,cols=c("cases"))  #从sampleDown检索出TP
t_dataSmTP <- TCGAquery_SampleTypes(barcode = t_samplesDown,typesample = "TP") #可选#筛选完成的query
queryDown <- GDCquery(project = "TCGA-PRAD",data.category = "Transcriptome Profiling",data.type = "Gene Expression Quantification", workflow.type = "STAR - Counts", barcode = t_dataSmTP) #下载GDCquery的结果
GDCdownload(queryDown,method = "api",directory = "GDCdata_star_count",files.per.chunk = 6) #网速慢可以设小一点

跟如下从download 中下载cart效果一样

2 json文件

点击Metadata下载json文件

 二、整合tsv文件、json文件到一个文件夹

1 右上角搜索“.tsv”

2 复制到新文件夹里面,整理如下:

本机路径:'E:/R/PRAD Data Mining/PRAD_data_mining/TCGA/GDCdata_star_count.tsv/all/'

 三、提取count矩阵

rm(list=ls())
options(stringsAsFactors = F)library("rjson")

1 整理“all”中的文件

result <- fromJSON(file = "E:/R/PRAD Data Mining/PRAD_data_mining/TCGA/GDCdata_star_count.tsv/metadata.cart.2022-04-17.json")
metadata <- data.frame(t(sapply(result,function(x){id <-  x$associated_entities[[1]]$entity_submitter_idfile_name <- x$file_nameall <- cbind(id,file_name)
})))
rownames(metadata) <- metadata[,2]t_dir <- 'E:/R/PRAD Data Mining/PRAD_data_mining/TCGA/GDCdata_star_count.tsv/all/'
t_samples=list.files(t_dir)
sampledir <- paste0(t_dir,t_samples) #各个文件路径

View(metadata)

metadata中记录barcode文件名的对应关系

example <- data.table::fread('E:/R/PRAD Data Mining/PRAD_data_mining/TCGA/GDCdata_star_count.tsv/all/005d2b9e-722c-40bd-aa5c-bd4e8842cb04.rna_seq.augmented_star_gene_counts.tsv',data.table = F)#读入一个tsv文件,查看需要的列数,“unstranded”raw <- do.call(cbind,lapply(sampledir, function(x){rt <- data.table::fread(x,data.table = F) #data.table::fread函数rownames(rt) <- rt[,1]rt <- rt[,4]###第4列为“unstranded”
}))

View(example)

载入一个例子,需要的 ”unstranded count” 值数据是第4列;同时第5行之后才可读

 View(raw)

行名、列名未注释

2 替换列名和行名

重点说一下sapply(strsplit(sampledir,'/'),'[',8) #数字可选。意思是将每个sampledir按“/”分隔后,取第“8”个,对应的是tsv文件的文件名。比方说我的sampledir[1]:

'E:/R/PRAD Data Mining/PRAD_data_mining/TCGA/GDCdata_star_count.tsv/all/005d2b9e-722c-40bd-aa5c-bd4e8842cb04.rna_seq.augmented_star_gene_counts.tsv'

“/”分隔后,第“8”个部分是tsv文件的文件名,所以我这里的参数为“8”

colnames(raw)=sapply(strsplit(sampledir,'/'),'[',8) #数字可选,'8'为文件名005d2b9e-722c-40bd-aa5c-bd4e8842cb04.rna_seq.augmented_star_gene_counts.tsv
rownames(raw) <- example$gene_id ##行名
raw_t <- t(raw)t_same <- intersect(rownames(metadata),rownames(raw_t))dataPrep2 <- cbind(metadata[t_same,],raw_t[t_same,])
rownames(dataPrep2) <- dataPrep2[,1]
dataPrep2 <- t(dataPrep2)
dataPrep2 <-dataPrep2[-c(1:6),] #dataPrep2为未注释count矩阵

View(raw)

View(dataPrep2)

dataPrep2为未基因注释的count矩阵,格式为“matrix”

3 dataPrep2中数据类型为“character”,需要转为“numeric”

puried_data=apply(dataPrep2,2,as.numeric)

 View(puried_data)

行名没了

4 基因注释

puried_data的格式为“matrix”:“matrix”行名可以重复,因此直接替换行名。

此处仍然借用example进行基因注释

rownames(puried_data)=example[5:nrow(example),'gene_name']

View(puried_data)

dim(puried_data)

[1] 60660   490

5 去除重复基因名

取行平均count值最大的行

t_index=order(rowMeans(puried_data),decreasing = T)#计算所有行平均值,按降序排列
t_data_order=puried_data[t_index,]#调整表达谱的基因顺序
keep=!duplicated(rownames(t_data_order))#对于有重复的基因,保留第一次出现的那个,即行平均值大的那个
puried_data=t_data_order[keep,]#得到最后处理之后的表达谱矩阵

dim(puried_data)

[1] 59427   490

6 预处理

需要注意DESeq2包要求数据未经过标准化

dataFilt =puried_data[rowMeans(puried_data)>10,] #剔除低表达基因write.csv(dataFilt,file = "dataFilt.csv",quote = FALSE)

得到 dataFilt 后就可以正常分析了!

方法2(未成功)

尝试使用TCGAbiolinksR包

library("BiocManager")
library("TCGAbiolinks")
library("SummarizedExperiment")BiocManager::install("BioinformaticsFMRP/TCGAbiolinksGUI.data")
BiocManager::install("BioinformaticsFMRP/TCGAbiolinks")
#比BiocManager::install(TCGAbiolinks)安装更新版的TCGAbiolinks包
query <- GDCquery(project = "TCGA-PRAD", #项目名data.category = "Transcriptome Profiling",data.type = "Gene Expression Quantification",workflow.type = "STAR - Counts")t_samplesDown <- getResults(query,cols=c("cases"))  #从sampleDown检索出TP
t_dataSmTP <- TCGAquery_SampleTypes(barcode = t_samplesDown,typesample = "TP") #可选#筛选完成的query
queryDown <- GDCquery(project = "TCGA-PRAD",data.category = "Transcriptome Profiling",data.type = "Gene Expression Quantification", workflow.type = "STAR - Counts", barcode = t_dataSmTP) #下载GDCquery的结果
GDCdownload(queryDown,method = "api",directory = "GDCdata_star_count",files.per.chunk = 6) #网速慢可以设小一点dataPrep1 <- GDCprepare(query = queryDown, save = T,directory = 'GDCdata_star_count', #默认为“GDCdata”save.filename ="dataPrep1_PRAD_star.rda")dataPrep2 <- TCGAanalyze_Preprocessing(object = dataPrep1,cor.cut = 0.6#datatype = "HTSeq - Counts") 

View(dataPrep2)

t_purityDATA <- TCGAtumor_purity(colnames(dataPrep1), 0, 0, 0, 0, 0.6)
t_purity.barcodes<-t_purityDATA$pure_barcodes #肿瘤样本barcodes,为“character”
t_normal.barcodes<-t_purityDATA$filtered #正常组织的数据barcodes,为“character”puried_data <-dataPrep2[,t_purity.barcodes]#筛选后数据rownames(puried_data)<-rowData(dataPrep1)$external_gene_name 

rownames(puried_data)<-rowData(dataPrep1)$external_gene_name (基因注释步骤)

View(puried_data)

基因注释未成功,暂时没有找到解决方法

TCGA_改版后STAR-count处理方法相关推荐

  1. 领英改版后无法搜索开发客户?解决方法来了,恢复后可以继续在领英搜索开发客户。

    作为全球最大的职场社交平台,LinkedIn领英截至到2021年11月在全球拥有接近8亿注册用户,3亿多的月活用户,5500多万企业用户. LinkedIn官方数据分布图 尽管与拥有超过10亿用户的I ...

  2. 一种改版后检查硬件PCB生产资料的方法***-----Gerber对比,检查的方法

    一种改版后检查硬件PCB生产资料的方法-----Gerber对比,检查的方法 一.前言 硬件电路设计改版是常有的事,不管小的实物,还是需求变更经常会遇到要增加或者减少器件,修改走线这些.在第一版已经做 ...

  3. Spring官网改版后下载方式

    2019独角兽企业重金招聘Python工程师标准>>> Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更"高大上" ...

  4. 面试题,你是如何评判产品改版后的效果的?

    有个小伙伴在微信上问我这个问题,说他在面试中被问到如何评判产品改版后的效果这个问题,问我该如何回答,今天就来给大家拆解这道题. 题目分析 这道题主要考察求职者的数据分析能力,那些对数据不关注,只埋头画 ...

  5. Spring官网改版后下载

    Spring官网改版后下载 Spring官网改版后找了好久都没有找到直接下载Jar包的链接,下面汇总些网上提供的方法,亲测可用. 1.直接输入地址,改相应版本即可:http://repo.spring ...

  6. Matlab作图后的各种调整方法——线条、坐标、标题、图例

    Matlab作图后的各种调整方法--线条.坐标.标题.图例 文章目录 Matlab作图后的各种调整方法--线条.坐标.标题.图例 一 , 写在前面 1.整个图窗 Figure(gcf) 2.我们使用命 ...

  7. 改版后的PMP值得考吗?

    更新关于2022考试时间通知:[3月(报名通道已关闭).6月.9月] 需要报考2022年的小伙伴注意查看最新考试通知,及时备考报名,3月的报名已经关闭啦.不过可以准备6月的考试. 现在备考6月的考试时 ...

  8. 领英更新改版后,怎么登录国际版领英继续搜索开发客户?详细教程

    作为全球最大的职场社交平台,领英截至到2021年11月在全球拥有接近8亿注册用户,3亿多的月活用户,5500多万企业用户. 领英官方数据分布图 尽管与拥有超过10亿用户的Instagram和拥有超过2 ...

  9. 在请求完成后回调delegate的方法。然而回调时经常遇到这种情况:delegate已经被释放...

    最近的项目遇到了网络请求,需要在请求完成后回调delegate的方法.然而回调时经常遇到这种情况:delegate已经被释放,这时调用其方法则会引起crash. objc的runtime中有两种判断类 ...

最新文章

  1. 顺时针打印3*3矩阵
  2. JS中使用工厂模式创建对象
  3. Java8————Lambda表达式(二)
  4. videojs中文文档详解_MMDetection中文文档—详解
  5. iis 附件上传有点慢_短视频悄悄上线!“一起培训”的这个新功能有点潮
  6. 找出不是两个数组共有的元素(学习去重复算法)
  7. 计算机可爱的企鹅教案,《可爱的企鹅》教学设计
  8. 最新MATLAB R2020b超详细安装教程(附完整安装文件)
  9. 电商十三、pinyougou02.sql的内容④
  10. Python解压zip和rar文件
  11. abb机器人searchl报错_ABB机器人常用指令介绍——ABB机器人
  12. Flutter TextFiled去掉下划线
  13. c#语言求两个数最大公约数,C#趣味程序---求两个数的最大公约数和最小公倍数...
  14. 实战:入侵win10
  15. 快速破解基于linux内核的开源路由器后台管理登录密码
  16. unity3D 自定义显示中文
  17. 六西格玛奠基人之张驰染阳杂记
  18. 计算机图形学(四)几何变换_4_二维复合变换_4_二维刚体变换
  19. File System | Debug | 如何查看文件挂载的分区以及分区大小
  20. 模拟购物车购物过程python,用函数模拟简单的购物车(Python)

热门文章

  1. 计算机网络—IP头部结构,TCP头部结构,UDP头部结构
  2. [P2698][USACO12MAR]花盆Flowerpot
  3. day28 re(正则)模块
  4. b460和z490有什么区别?Z490主板和B460主板对比性能差距
  5. 「 周末去哪儿」安卓版免费下载 - 豌豆荚
  6. ios 日志系统 lumberjack
  7. 符合这8种性格的人都长寿
  8. LeetCode数据库SQL题目记录(难度:简单)
  9. 2007热点技术职位排行及点析
  10. 微分几何笔记(1):概念与定义