METABRIC 数据下载和处理

METABRIC 数据下载和处理

1. 下载数据

cbioportal下载整理好的数据

2. 查看数据

3. 读取数据

  • data_clinical_sample.txt

  • data_clinical_patient.txt

  • data_mrna_illumina_microarray_zscores_ref_diploid_samples.txt

## 1.清洗数据  
rm(list = ls())  
options(stringsAsFactors = F)  
library(tidyverse)  

## 读取甲状腺的临床数据  
cl <- data.table::fread("./brca_metabric/data_clinical_sample.txt",data.table = F,skip = 4)  
OS <- data.table::fread("./brca_metabric/data_clinical_patient.txt",data.table = F,skip = 4)  
names(cl)  

## [1] "PATIENT_ID" "SAMPLE_ID" "CANCER_TYPE"  
## [4] "CANCER_TYPE_DETAILED" "ER_STATUS" "HER2_STATUS"  
## [7] "GRADE" "ONCOTREE_CODE" "PR_STATUS"  
## [10] "SAMPLE_TYPE" "TUMOR_SIZE" "TUMOR_STAGE"  
## [13] "TMB_NONSYNONYMOUS"  

pd <- cl %>% filter(ER_STATUS!=""&  
HER2_STATUS!=""&  
PR_STATUS!="")  

pd$Type <- ifelse(pd$ER_STATUS=="Negative"&  
pd$PR_STATUS=="Negative"&  
pd$HER2_STATUS=="Negative","TNBC",  
ifelse(pd$ER_STATUS=="Negative"&  
pd$PR_STATUS=="Negative"&  
pd$HER2_STATUS=="Positive","HER2","Luminal"  

))  

# 1. 合并数据 -----------------------------------------------------------------  

pd <- pd %>% inner_join(OS,by = "PATIENT_ID")  

names(pd)  

## [1] "PATIENT_ID" "SAMPLE_ID"  
## [3] "CANCER_TYPE" "CANCER_TYPE_DETAILED"  
## [5] "ER_STATUS" "HER2_STATUS"  
## [7] "GRADE" "ONCOTREE_CODE"  
## [9] "PR_STATUS" "SAMPLE_TYPE"  
## [11] "TUMOR_SIZE" "TUMOR_STAGE"  
## [13] "TMB_NONSYNONYMOUS" "Type"  
## [15] "LYMPH_NODES_EXAMINED_POSITIVE" "NPI"  
## [17] "CELLULARITY" "CHEMOTHERAPY"  
## [19] "COHORT" "ER_IHC"  
## [21] "HER2_SNP6" "HORMONE_THERAPY"  
## [23] "INFERRED_MENOPAUSAL_STATE" "SEX"  
## [25] "INTCLUST" "AGE_AT_DIAGNOSIS"  
## [27] "OS_MONTHS" "OS_STATUS"  
## [29] "CLAUDIN_SUBTYPE" "THREEGENE"  
## [31] "VITAL_STATUS" "LATERALITY"  
## [33] "RADIO_THERAPY" "HISTOLOGICAL_SUBTYPE"  
## [35] "BREAST_SURGERY" "RFS_MONTHS"  
## [37] "RFS_STATUS"  

pd <- pd %>%  
mutate(`OS.time`=OS_MONTHS/365) %>%  
separate(OS_STATUS,into = c("OS","STATUS"),sep = ":")  

# 2. 整理表达数据 ---------------------------------------------------------------  
exprSet <- data.table::fread("./brca_metabric/data_mrna_illumina_microarray_zscores_ref_diploid_samples.txt",  
data.table = F)  

names(exprSet)[1:6]  

## [1] "Hugo_Symbol" "Entrez_Gene_Id" "MB-0362" "MB-0346"  
## [5] "MB-0386" "MB-0574"  

exprSet <- exprSet[,-2]  
duplicated(exprSet$Hugo_Symbol) %>% table()  

## .  
## FALSE TRUE  
## 20385 218  

# 去除重复探针  
exprSet <- limma::avereps(exprSet[,-1],ID=exprSet$Hugo_Symbol)  
head(exprSet [,1:6])  

## MB-0362 MB-0346 MB-0386 MB-0574 MB-0185 MB-0503  
## RERE -0.7139 1.2266 -0.0053 -0.4399 -0.5958 0.4729  
## RNF165 -0.4606 0.3564 -0.6800 -1.0563 -0.0377 -0.6829  
## PHF7 -0.3325 -1.0617 0.2587 -0.2982 -1.2422 0.0558  
## CIDEA -0.0129 -1.0394 3.2991 -0.2632 -1.0949 1.2628  
## TENT2 -0.7853 0.0337 -0.6649 2.1640 -0.2031 1.0304  
## SLC17A3 0.7630 -0.5175 0.6719 -1.1036 -0.9250 -1.2571  

exprSet <- as.data.frame(exprSet)  
boxplot(exprSet[,1:6],las=2)  

![](https://files.mdnice.com/user/25661/dcc29750-7b76-4b61-94f0-b3e8718e0088.png)

exprSet[1:6,1:6]  

## MB-0362 MB-0346 MB-0386 MB-0574 MB-0185 MB-0503  
## RERE -0.7139 1.2266 -0.0053 -0.4399 -0.5958 0.4729  
## RNF165 -0.4606 0.3564 -0.6800 -1.0563 -0.0377 -0.6829  
## PHF7 -0.3325 -1.0617 0.2587 -0.2982 -1.2422 0.0558  
## CIDEA -0.0129 -1.0394 3.2991 -0.2632 -1.0949 1.2628  
## TENT2 -0.7853 0.0337 -0.6649 2.1640 -0.2031 1.0304  
## SLC17A3 0.7630 -0.5175 0.6719 -1.1036 -0.9250 -1.2571  

save(exprSet,pdf,file = "./01CleanDate/MetabricaData.Rdata")  

df <- as.data.frame(t(exprSet)) %>%  
rownames_to_column("PATIENT_ID") %>% inner_join(pd,by = "PATIENT_ID")  
head(df[,1:6])  

## PATIENT_ID RERE RNF165 PHF7 CIDEA TENT2  
## 1 MB-0362 -0.7139 -0.4606 -0.3325 -0.0129 -0.7853  
## 2 MB-0346 1.2266 0.3564 -1.0617 -1.0394 0.0337  
## 3 MB-0386 -0.0053 -0.6800 0.2587 3.2991 -0.6649  
## 4 MB-0574 -0.4399 -1.0563 -0.2982 -0.2632 2.1640  
## 5 MB-0185 -0.5958 -0.0377 -1.2422 -1.0949 -0.2031  
## 6 MB-0503 0.4729 -0.6829 0.0558 1.2628 1.0304  

library(ggpubr)  

# Box plots  
bxp <- ggboxplot(df, x = "Type", y = "TRPS1", fill = "Type",  
palette = c("#00AFBB", "#E7B800", "#FC4E07"))  

stat.test <- df %>% t_test(TRPS1 ~ Type)  
stat.test  

## # A tibble: 3 × 10  
## .y. group1 group2 n1 n2 statistic df p p.adj p.adj.signif  

## 1 TRPS1 HER2 Lumin… 134 1526 -14.6 170. 8.35e-32 1.67e-31 ****  
## 2 TRPS1 HER2 TNBC 134 320 -2.35 309. 2 e- 2 2 e- 2 *  
## 3 TRPS1 Lumin… TNBC 1526 320 14.1 455. 8.63e-38 2.59e-37 ****  

combinations <- combn(x =unique(df$Type),m = 2 )  
my_comparisons <- split(combinations, col(combinations))  

compare_means(TRPS1 ~ Type, df,method = "t.test")  

## # A tibble: 3 × 8  
## .y. group1 group2 p p.adj p.format p.signif method  

## 1 TRPS1 Luminal HER2 8.35e-32 1.70e-31 <2e-16 **** T-test  
## 2 TRPS1 Luminal TNBC 8.63e-38 2.60e-37 <2e-16 **** T-test  
## 3 TRPS1 HER2 TNBC 1.97e- 2 2 e- 2 0.02 * T-test  

ggviolin(df, x = "Type", y = "TRPS1", fill = "Type",  
palette = c("#00AFBB", "#E7B800", "#FC4E07"),  
add = "boxplot", add.params = list(fill = "white"))+  
stat_compare_means(comparisons = my_comparisons, label = "p.signif",method = "t.test") # Add significance levels  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容