TCGAbiolinks整理表达数据和临床数据

新版TCGAbiolinks的整理表达数据和临床数据

没有废话直接干

##加载包
rm(list = ls())
options(stringsAsFactors = F)
gc()
library(TCGAbiolinks)
library(scRNAseq)
library(data.table)
library(limma)
library(dplyr)
library(DT)

表达数据下载,跟GDC官网一样的参数

?GDCquery ##好好看参数,真的很简单对着选就可以
###表达数据下载
query <- GDCquery(
  project = "TCGA-ESCA",
  data.category = "Transcriptome Profiling",
  data.type = "Gene Expression Quantification", 
  workflow.type = "STAR - Counts"
)
GDCdownload(query = query)
expData<- GDCprepare(query = query,
                   save = TRUE,
                   save.filename = 'ESCA_exp.rda'
)
##利用scRNAseq这个包直接获取
tpm_data <- assay(expData,i = "tpm_unstrand")##选择的比较多根据下面图的列名选取需要的数据

在这里插入图片描述

我们得到标准化的TPM矩阵

在这里插入图片描述

行名转换

目录下会生成一个GDCdata的文件夹,需要你选取里面任意的一个表达文件,格式为tsv的哈

#随便找个表达文件
row_file <-  data.table::fread('./GDCdata/TCGA-ESCA/harmonized/Transcriptome_Profiling/Gene_Expression_Quantification/00373cba-948b-4fb5-a8ea-8aa612f4ea99/625933e1-f9c9-43d9-8335-9de0c7ecb367.rna_seq.augmented_star_gene_counts.tsv',data.table = F)
row_file <- row_file[-c(1:4),]
rownames(row_file) <- row_file[,1]
###
same <- intersect(row.names(tpm_data),row.names(row_file))
length(same)
ESCA_tpmExp <- cbind(row_file[same,],tpm_data[same,])
ESCA_tpmExp <- ESCA_tpmExp[,-c(1,3:9)]
dim(ESCA_tpmExp)
#60660   175 ##含有基因的名字所以175
##去重
rt=as.matrix(ESCA_tpmExp)
rownames(rt)=rt[,1]
exp=rt[,2:ncol(rt)]
dimnames=list(rownames(exp),colnames(exp))
data=matrix(as.numeric(as.matrix(exp)),nrow=nrow(exp),dimnames=dimnames)
data=avereps(data)
ESCA_exp=data[rowMeans(data)>0,]
dim(ESCA_exp)
#56911   174
Out=rbind(id=colnames(ESCA_exp), ESCA_exp)
write.table(Out, file="./00.data/ESCA_exp.txt", sep="\t", quote=F, col.names=F)

接下来下载临床数据

解释下这个参数,需要你选择下需要的信息

cli <- GDCprepare_clinic(query,'follow_up')

在这里插入图片描述

rm(list = ls())
options(stringsAsFactors = F)
gc()
###临床数据下载
query <- GDCquery(
  project = "TCGA-ESCA", 
  data.category = "Clinical",
  data.type = "Clinical Supplement", 
  data.format = "BCR XML"
)
GDCdownload(query)
cli <- GDCprepare_clinic(query,'follow_up')

接着把生存时间给合并下

2个人没有生存状态信息

#合并时间
cli <- cli  %>%
  select(bcr_followup_barcode,vital_status,                            
                days_to_death,days_to_last_followup) %>%
  distinct(bcr_followup_barcode, .keep_all = TRUE)
table(cli$vital_status)
# NA  Alive  Dead 
#  2   121    32 
##死亡的信息
dead_patient <-  cli %>%
  dplyr::filter(vital_status == 'Dead') %>%
  dplyr::select(-days_to_last_followup) %>%
    rename(c(bcr_followup_barcode = 'Barcode',
                    vital_status = 'fustat',
                    days_to_death='futime'
                    )) %>%
  mutate(fustat=ifelse(fustat=='Dead',1,0))%>%
  mutate(futime=futime/365) 
#活的信息
alive_patient <-  cli %>%
  dplyr::filter(vital_status == 'Alive') %>%
  dplyr::select(-days_to_death) %>%
  rename(c(bcr_followup_barcode = 'Barcode',
           vital_status = 'fustat',
           days_to_last_followup='futime'
  )) %>%
  mutate(fustat=ifelse(fustat=='Dead',1,0))%>%
  mutate(futime=futime/365) 
#合并
survival_data <- rbind(dead_patient,alive_patient)
write.csv(survival_data,file="./00.data/ESCA_surviv.csv")

接着把生存时间跟表达数据合并下

#第一步导入你的表达矩阵
exp <- read.csv(yourfile,header = T,row.names = 1)##替换yourfile
exp <- data.frame(t(exp))
rownames(exp) <- gsub('\\.','\\-',rownames(exp))
cli <- read.csv(yourcli,header = T,row.names = 1)##替换yourcli
exp$ID1 <- substr(rownames(exp), 1, 12)
cli$ID2 <- substr(rownames(cli), 1, 12)
map <- match(exp$ID,cli$ID)##前后顺序很很关键,想要的放第一个
data3 <- cli[map,]##注意看这个
data4 <- cbind(exp,data3)
data5 <- na.omit(data4)
desired_columns <- c("fustat","futime",'ID1','ID2')
all_columns <- c(desired_columns, setdiff(names(data5), desired_columns))
data6 <- data5[all_columns]

不要问我原理,不要问我为啥报错,复制一堆代码给我看,应用自己数据的时候你要一行行的RUN,不要全选跑,多多比较与我给的例子每一步的差异,你就会进步,各位同学,拿来主义快乐。工具就是用的,没有那么多为啥

  • 20
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
### 回答1: tcgabiolinks是一个R包,可以用来下载TCGA(The Cancer Genome Atlas)项目的临床数据。使用该包,可以方便地获取TCGA项目中的患者临床信息,如年龄、性别、病理诊断、治疗方案等。这些信息对于研究肿瘤的发病机制、预后、治疗等方面都有很大的帮助。 ### 回答2: TCGA BioLinks是一种非常实用的工具,可以帮助研究人员访问TCGA的临床数据,以及其他数据源,并且包含了诸如RNA序列、miRNA序列、表观遗传学、基因组学、蛋白质组学等多种类型的数据,并且进行了整合。该工具可以轻松地访问临床数据,使得研究人员能够研究许多不同的癌症类型,从而更好地了解这些癌症的基本属性和疾病进展情况。 TCGA BioLinks提供了一些简单而有效的下载功能,以帮助用户获得源数据和元数据,并合并它们以供后续分析。此外,这个工具还提供了一些高级搜索功能,可以根据研究人员的需求,精确地定位他们想要的数据,并根据不同的生物学特征对它们进行过滤和排序,以便进行进一步的研究。 为了下载临床数据,研究人员需要登录TCGA BioLinks的网站,并选择“数据下载”选项。在这里,用户可以选择他们感兴趣的数据集,并选择下载数据,同时也可以定制下载的选项。例如,用户可以选择下载某个癌症类型的RNA序列数据,或者下载所有癌症类型的外显子组数据,并且还可以通过基因名称或某个特定的生物学特征进行过滤。 总的来说,TCGA BioLinks是一个非常强大且易于使用的工具,可以帮助研究人员快速访问TCGA的临床数据,并且提供高级搜索功能,允许定制下载选项,以便进行下游分析。它为研究人员提供了一种新的且简便的方法来分析临床数据,并提供了必要的元数据和工具,帮助研究人员更好地理解癌症的生物学特征和疾病进程。 ### 回答3: tcgabiolinks是一个R语言包,可以用于从TCGA(癌症基因组图谱)数据库下载临床数据TCGA项目旨在为全球研究人员提供高质量的癌症分子数据,以便进行更深入的生物信息学研究和数据分析。 首先,您需要在R语言环境下安装tcgabiolinks包。可以使用以下命令安装: ``` R install.packages("tcgabiolinks") ``` 一旦安装了这个包,您就可以使用以下命令从TCGA数据库下载临床数据: ``` R clinical_data <- GDCquery_clinic(project = "TCGA-BRCA", save = TRUE) ``` 上述命令将下载TCGA-BRCA项目的临床数据,然后将其保存在名为clinical_data的变量中。TCGA-BRCA项目指的是乳腺癌研究,您可以替换为您感兴趣的项目名称。 下载的临床数据包括许多有用的信息,例如患者的生存期、治疗方式、癌症等级、转录组数据等等。您可以使用以下命令查看这些信息: ``` R head(clinical_data) ``` 此命令将显示clinical_data变量的前几行,其中包含了下载的临床数据。 如果您想下载其他类型的TCGA数据,例如转录组数据,可以使用GDCquery函数并提供所需的参数。例如,以下命令将从TCGA数据库中下载BRCA项目的全部RNA-Seq数据: ``` R GDCquery(project = "TCGA-BRCA", data.category = "Transcriptome Profiling", data.type = "Gene Expression Quantification", workflow.type = "HTSeq - FPKM", save = TRUE) ``` tcgabiolinks包使得从TCGA数据库中下载临床数据变得非常容易。在R语言环境中进行生物信息学研究和数据分析时,该包是非常有用的工具之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值