当前位置: 代码网 > it编程>编程语言>Javascript > 新版TCGA数据转录组表达数据下载及整理(R语言)

新版TCGA数据转录组表达数据下载及整理(R语言)

2024年07月28日 Javascript 我要评论
新版TCGA转录组数据整理——R语言(傻瓜式代码)

简介

由美国05年发起的癌症和肿瘤基因图谱(tcga,the cancer genome atlas)计划,旨在应用基因组分析技术研究癌症中的基因组变化,做了大规模的基因组测序,样本量过万,包含了三十多种癌症,其中尤其宝贵的是这些样本都有很详细的预后随访信息。tcga提供了大量的深度测序数据,包括gene expression, dna methylation, copy number variant, mutation还有更深度的exon expression外显子测序结果,最常用的是33种肿瘤及正常组织的高通量芯片或测序数据,其次包括10种罕见肿瘤,无疑是一座巨大宝库。此外其临床数据包含。

tcga数据下载网址:https://www.cancer.gov/ccg/research/genome-sequencing/tcga

tcga数据概况

  • clinical: 包括病人的一般情况、诊治情况、tnm分期、肿瘤病理、生存情况等。

  • mrna表达数据: 通过mrna芯片或者rnaseq测得的mrna表达量

  • microrna: microrna芯片或者microrna-seq测得的microrna表达量

  • copy number variation: snp芯片得到的肿瘤组织比对正常组织的染色体上各片段的比值

  • mutation: 肿瘤组织测序结果相对参考基因组的核苷酸突变,包括插入和缺失等变化

  • protein: 蛋白芯片测序得到的约200种常见癌症相关蛋白的表达量mythelation: 甲基化芯片测得的dna甲基化数据,主要为27和450两种芯片的数

转录组数据的下载

进入网页:

https://www.cancer.gov/ccg/research/genome-sequencing/tcga

①选择access tcga data

②选择projects

③左侧的原发部位primary site,选在自己的方向(以乳腺癌为例)

④项目program选择tcga

⑤选择队列cohort bulider

⑥在program栏目选择tcga

⑦在project栏目选择简称tcga-brca

⑧选择repository

⑨在左侧找到data category选择转录组数据transcriptome profiliing

数据类型data type选择gene expression quantification

⑩加入到cart

下载两个文件分别是cart文件和metadata文件

下载完成后我们将cart,解压在他的原始文件夹中,我们可以打开其中一例数据看看包含哪些项目

包含项目:

  • gene_id:此处的为ensmble格式;

  • gene_name:symbol格式

  • unstrandes:基因的表达counts值

  • tpm_unstranded:tpm值

  • fpkm_unstranded:fpkm值

mrna-seq数据分为4种:

counts;tpm;fpkm;fpkm-uq。其中counts属于原始的格式

counts: 测序的reads中比对到某个基因上的计数;tpm、fpkm: 用来衡量转录本表达丰度的一种量度方式;uq-fpkm:通过上四分位点进行标准后的fpkm;

数据格式转换参考:

https://docs.gdc.cancer.gov/data/bioinformatics_pipelines/expression_mrna_pipeline/

使用r语言数据整理fpkm数据

library(rjson)
library(limma)
setwd("c:\\users\\tcga-brca") #此处我将下载的数据,均放在tcga-brca文件夹中,更改为自己的文件夹
metafile="metadata.cart.2024-03-24.json" #下载的metadata文件的名称
gdcfliename="gdc_download_20240324_144347.209765" #cart文件的名称
path1="gdc_download_20240324_144347.209765\\" #cart文件名+“\\”
outfilename="tcga-stad_fpkm.txt" #输出表达矩阵文件的名称
#为了方便大家使用,大家只用修改以上内容
json = jsonlite::fromjson(metafile)
id = json$associated_entities[[1]][,1]
sample_id = sapply(json$associated_entities,function(x){x[,1]})
file_sample = data.frame(sample_id,file_name=json$file_name)  
count_file <- list.files(gdcfliename,pattern = '*gene_counts.tsv',recursive = true)
count_file_name <- strsplit(count_file,split='/')
count_file_name <- sapply(count_file_name,function(x){x[2]})
matrix = data.frame(matrix(nrow=60660,ncol=0))
for (i in 1:length(count_file_name)){
  path = paste0(path1,count_file[i])
  data<- read.delim(path,fill = true,header = false,row.names = 1)
  colnames(data)<-data[2,]
  data <-data[-c(1:6),]
  data <- data[7] 
  colnames(data) <- file_sample$sample_id[which(file_sample$file_name==count_file_name[i])]
  matrix <- cbind(matrix,data)
}
sample1 = paste0(path1,count_file[1])
names=read.delim(sample1,fill = true,header = false,row.names = 1)
colnames(names)<-names[2,]
names <-names[-c(1:6),]
names = names[,1:2]
same=intersect(rownames(matrix),rownames(names))
matrix=matrix[same,]
names=names[same,]
matrix$symbol=names[,1]
matrix=matrix[,c(ncol(matrix),1:(ncol(matrix)-1))]
write.table(matrix,file=outfilename,row.names = f,quote = f,sep = "\t")

最终得到的结果:

以上就是tcga转录组数据的下载和整理。

【公众号:小庞统计】

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com