在R中,对已有的TCGA乳腺癌基因表达谱数据根据barcode命名规则,筛选出匹配的正常样本和乳腺癌样本
时间: 2024-05-12 13:19:16 浏览: 201
首先需要了解TCGA的barcode命名规则:
TCGA的barcode共有四个部分,分别是TCGA组织类型代码、TCGA患者ID、TCGA样本类型代码和TCGA数据处理批次号。例如,TCGA-BRCA中的BRCA表示乳腺癌组织类型代码,而样本类型代码中的11表示原发肿瘤样本,01表示对应的正常样本。
根据这个规则,可以使用正则表达式筛选出对应的样本。假设已有的数据框命名为df,其中包含了所有的样本barcode信息,可以使用下面的代码筛选出对应的正常样本和乳腺癌样本:
```
# 筛选出所有乳腺癌样本
breast_cancer_samples <- df[grep("^TCGA-BRCA.*-11", df$barcode),]
# 筛选出所有对应的正常样本
normal_samples <- df[grep("^TCGA-BRCA.*-01", df$barcode),]
```
其中,grep()函数用于匹配正则表达式,"^TCGA-BRCA.*-11"表示以TCGA-BRCA开头,中间可以是任意字符,结尾为-11的样本barcode,即乳腺癌样本;"^TCGA-BRCA.*-01"表示以TCGA-BRCA开头,中间可以是任意字符,结尾为-01的样本barcode,即对应的正常样本。
相关问题
在R中,对TCGA基因表达谱根据barcode命名规则筛选样本匹配的正常样本和乳腺癌样本
首先,需要下载TCGA数据,并解析出barcode信息。可以使用TCGAbiolinks包来实现这一步骤。
```R
library(TCGAbiolinks)
library(dplyr)
# 下载TCGA数据
query <- GDCquery(project = "TCGA-BRCA", data.category = "Transcriptome Profiling",
data.type = "Gene Expression Quantification", platform = "Illumina HiSeq")
GDCdownload(query)
# 解析barcode信息
TCGA <- GDCprepare(query, save.filename = "TCGA.rda", summarizedExperiment = TRUE)
barcode <- colnames(TCGA)[1:12]
barcode_df <- data.frame(barcode = barcode, stringsAsFactors = FALSE)
```
接下来,需要根据barcode命名规则,筛选出和乳腺癌样本匹配的正常样本和乳腺癌样本。TCGA的barcode命名规则为:
```
[Barcode]-[SampleType]-[Portion]-[Analyte]-[Plate]-[Center]-[Set]-[Batch]-[Date]
```
其中,SampleType为样本类型,BRCA-N表示正常样本,BRCA-T表示乳腺癌样本。我们可以使用正则表达式来匹配符合条件的barcode。
```R
# 筛选乳腺癌样本
BRCA_barcode <- filter(barcode_df, grepl("BRCA-T", barcode))$barcode
# 筛选匹配的正常样本
normal_barcode <- filter(barcode_df, grepl("BRCA-N", barcode))$barcode
normal_barcode <- normal_barcode[gsub("-01A-", "-11A-", normal_barcode) %in%
gsub("-01A-", "-11A-", BRCA_barcode)]
```
最后,可以使用TCGA数据的表达矩阵和筛选出的样本barcode进行分析。
```R
# 提取表达矩阵
TCGA_mat <- assay(TCGA)
# 筛选样本
TCGA_BCCA <- TCGA_mat[, c(BRCA_barcode, normal_barcode)]
```
在R中对TCGA基因表达谱根据barcode命名规则,提取样本匹配的正常样本和乳腺癌样本
在TCGA中,正常样本的barcode一般以"NT"开头,乳腺癌样本的barcode一般以"TCGA"开头。
可以使用以下代码来提取正常样本和乳腺癌样本:
```r
# 导入TCGA数据
library(TCGAbiolinks)
query <- GDCquery(project = "TCGA-BRCA", data.category = "Transcriptome Profiling",
data.type = "Gene Expression Quantification")
TCGA_data <- GDCprepare(query)
# 提取正常样本和乳腺癌样本
normal_samples <- TCGA_data$meta$sample_id[grep("^NT", TCGA_data$meta$sample_id)]
cancer_samples <- TCGA_data$meta$sample_id[grep("^TCGA", TCGA_data$meta$sample_id)]
# 查看结果
head(normal_samples)
head(cancer_samples)
```
其中,"TCGA-BRCA"是乳腺癌项目的名称,"Transcriptome Profiling"是数据类型,"Gene Expression Quantification"是数据格式。可以根据需要修改这些参数。
阅读全文