TCGA_改版后STAR-count处理方法

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)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24326.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探秘WAIC镇馆之宝:AI“钓鱼”AI,人类看戏

杨净 发自 WAIC量子位 | 公众号 QbitAI 一个专攻大模型的“黑客”&#xff0c;竟摇身一变&#xff0c;当选人工智能大会&#xff08;WAIC&#xff09; “镇馆之宝”&#xff1f;&#xff01; WAIC镇馆之宝展区上&#xff0c;一众人工智能领域创新成果亮相。 不管从科技含量、市…

深度长文 | 数据安全共享技术发展综述及在能源电力领域应用研究

开放隐私计算 编者按 数据要素的流通共享与协同应用是数字时代中数据要素市场培育的核心内容&#xff0c;数据安全共享技术能够有效实现数据的安全共享&#xff0c;避免“数据孤岛”现象、隐私泄露事件等.本文对国内外数据安全共享技术研究成果及进展进行了全面综述.首先&…

Unity Open Day 北京站-游戏专场:AI 驱动反外挂:游戏作弊治理新时代

【获取 2023 Unity Open Day 北京站演讲 PPT】 张本梁&#xff1a;下面和大家分享一下我们团队在游戏安全领域AI方面的尝试和落地。 第一块&#xff0c;做游戏安全比较核心的是情报信息的收集。我们必须知道我们的对手——做外挂、打金等黑灰产团队的情报信息&#xff0c;这是我…

Alpha阶段功能规格书

一、概念 FaaS一种不需要关心部署细节的垂直自动化无需人为干预&#xff0c;以一定周期定时发起的任务静态页面不需要动态数据刷新的单一html页面 二、典型用户 开发入门初学者/爱好者 姓名守好嘉年龄18用户市场比例30%用户重要性较为重要典型场景刚刚学了一门新语言&#…

隐私计算头条周刊(2.20-2.26)

开放隐私计算 收录于合集 #企业动态45个#周刊合辑45个#政策聚焦38个#隐私计算92个#行业研究37个 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神&#xff0c;专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的…

90后程序员后来都去干什么了?又该如何斩断困境

前言 90后没有赶上毕业包分配工作、工作包分房子、就差发放对象的时代&#xff0c;但我们处在一个科技高速发展、遍地是风口、资源更丰富更便捷的时代。 如今在职场中&#xff0c;90后正逐渐成长为与80后70后并肩作战的主力军。 很多人&#xff0c;25岁以前的时光&#xff0…

2023年CCF中国软件大会专刊征稿火热进行中

点击文末的“阅读原文”&#xff0c;可以跳转到中国软件大会官网的“征稿通知”查看详情&#xff01; CCF中国软件大会&#xff08;CCF ChinaSoft&#xff09;由中国计算机学会&#xff08;CCF&#xff09;主办&#xff0c;是中国软件科学与工程相关领域办会规格最高、参会人数…

大模型时代,腾讯云“复制”腾讯|WAIC2023

点击关注 文&#xff5c;郝鑫 编&#xff5c;刘雨琦 刚过去的WAIC&#xff08;世界人工智能大会&#xff09;俨然成为了大模型厂商的成果汇报大会。 百度文心大模型升级到3.5版本&#xff0c;训练速度提升2倍&#xff0c;推理速度提升30倍&#xff1b;华为云发布盘古大模型3…

学会python可以做哪些兼职?

以我差不多四年的 Python 使用经验来看&#xff0c;大概可以按以下这些路子来赚到钱&#xff0c;但编程技能其实只是当中必不可少的一部分&#xff0c;搭配其它技能栈食用风味更佳。 1、爬虫 很多人入门 Python 的必修课之一一定是 Web 开发和爬虫&#xff0c;但这两项要想赚…

人机识别技术再升级,AIGC为验证码带来万亿种新变化

网上输入关键词“破解验证码”&#xff0c;会出现1740万个搜索结果。“验证码识别、轻松破解、暴力破解、逻辑漏洞破解、简单破解”等等各类关键词的内容&#xff0c;不一而足&#xff0c;关于“如何用破解某某验证码”的帖子更是多如牛毛。 搜索引擎的相关结果 2017年&#xf…

数美科技风控前沿| AIGC需要什么内容风控基建?ChatGPT本“人”有话要说

ChatGPT的风从11月发布之日起吹到现在。 这是一款聊天机器人软件&#xff0c;和“前作”们相比&#xff0c;它变得更像一个“人”了&#xff0c;能完成最简单快速的资料检索和整合&#xff0c;也能进行一定程度上的AI写作。 看得见的讨论&#xff0c;从一开始ChatGPT的回答如何…

中国企业出海金字塔:产品出海、渠道出海和品牌出海

中国企业出海金字塔&#xff1a;产品出海、渠道出海和品牌出海 2022年&#xff0c;感受到寒意的不只是任正非麾下的华为。疫情反复这三年&#xff0c;消费赛道中的企业大多从被动地等待“春暖花开”&#xff0c;到主动适应新的市场环境。 艰难的环境是把双刃剑&#xff0c;它…

AppInventor读取百度翻译接口(韩语立刻说)

写在前面&#xff1a;这注定是一篇简单粗暴的文章&#xff0c;由于没有太多时间截图&#xff0c;直接抛源代码给大家了哈&#xff01; 接口地址&#xff1a;http://apistore.baidu.com/astore/serviceinfo/27469.html API的使用详情请查看API接口地址。 Step1&#xff1a;界…

中文翻译韩文软件有哪些?

关于中文翻译韩文的软件对我们日常生活中可能不会起到什么作用&#xff0c;但是在办公中往往会起到很大的作用特别是对于一些外贸公司而言&#xff0c;翻译软件是他们经常会使用到的办公工具&#xff0c;那么中文翻译韩文的软件有哪些呢&#xff1f;下面的俩种方法我们一起了解…

如何将中文快速翻译为韩语?6个步骤解决

如何利用手机将中文在线翻译为韩语&#xff1f;因为地理位置的优越&#xff0c;许多人会选择去韩国旅游&#xff0c;但是双方的语言并不一致&#xff0c;这也给我们的出行带来了不便。所以当我们需要使用翻译的使用&#xff0c;我们可以尝试使用"语音翻译器"软件&…

韩语在线翻译图片识别_Text Scanner for Mac(ocr文字识别工具)

想要将图片中的文字提取出来&#xff1f;小编今天为大家分享一款在线文字识别转换工具—"Text Scanner"。Text Scanner mac版基于AI领先的深度学习算法&#xff0c;利用光学字符识别技术&#xff0c;将图片上的文字内容&#xff0c;直接转换为可编辑文本&#xff0c;…

man手册翻译神器——星际译王

之前对自己的英文水平不自信&#xff0c;每次查看命令的man手册只看个基本语法格式和选项&#xff0c;看到后面汗牛充犊的长段落就头大。后面干脆安装了个manpages-zh&#xff1a; sudo apt install manpages-zh &#xff0c;开始用还觉得很chinese很good&#xff0c;但用着用…

韩语学习

在听一首韩语歌的时候&#xff0c;觉得挺好听的&#xff0c;就是不知道内容&#xff0c;此外&#xff0c;韩流在海外也挺流行的&#xff0c;可以抽空学习下&#xff0c;可以吹吹牛哈。参考知乎的一个回答&#xff0c;挺贴合初学者的。 文章目录 一. 入门第一步——掌握韩语四十…

中英翻译《Thailand泰国》

Thailand 泰国 一、Pre-reading activity 阅前思考 1.Find Thailand in an atlas. 在地图册上找到泰国。 2.What are the names of the countries next to it? 与它相邻的国家都叫什么名字&#xff1f; 3.Is your country near Thailand? 你的国家靠近泰国吗&#xf…

字母钥匙圈

钥匙圈&#xff0c;字母&#xff01; 项目概况&#xff1a; 在这个项目中&#xff0c;您将学习使用字母制作钥匙圈&#xff01; 放置字母 是时候发挥创意了。为您的朋友或您自己设计一个。 指示 首先将字母拖到红色底座上&#xff08;位于“设计入门”>“字母和数字”下…