TCGA 数据分析实战 —— 干性指数(mRNAsi、mDNAsi)
前言
干细胞(stem cells
, SC
)是人体内具有自我复制和多向分化潜能的原始细胞,而这种自我更新和分化为成熟细胞的能力称为干性
肿瘤干细胞 (cancer stem cells
,CSCs
) 是指拥有与正常干细胞相关特征的癌细胞,能在特定癌症样本中产生所有细胞类型。通常这类的细胞被认为有形成肿瘤、发展成癌症的潜力,特别是随着癌症的转移,能产生新型的癌症
与不具有干性的肿瘤细胞相比,CSCs
通过 DNA
损伤修复、抑制凋亡通路和产生耐药蛋白等自我保护机制,会导致肿瘤的进展、转移、耐药并增强了自我更新能力
我们要介绍的是一篇发表在 Cell
上的文章所提出的一种机器学习算法(OCLR
,One Class Linear Regression
),对肿瘤样本的干性进行量化。通过对干细胞转录组、甲基化组等多平台数据进行分析,计算出两种不同的干性指数:
mRNAsi
:反映干细胞的基因表达特征mDNAsi
:反映干细胞的表观遗传特征
下面我们来介绍这两种干性指数的计算
mRNAsi
1. 数据处理
训练数据使用的是 Progenitor Cell Biology Consortium
(PCBC
)(https://www.synapse.org
) 提供的人类干细胞数据,数据组成包括
我们使用 synapser
包来下载对应的数据,当然也可以手动下载。
首先,安装并导入包
install.packages("synapser", repos = c("http://ran.synapse.org", "http://cran.fhcrc.org"))
library(synapser)
在 https://www.synapse.org/
网站上注册账号,并记住邮箱号密码
在 R
中,调用 synLogin
函数并传入刚才注册的邮箱和密码来登录
synLogin(email = "email@xxx.com", password = "123456")
# Welcome, !NULL
登录成功之后,使用 synGet
函数获取 RNA
表达数据
synRNA <- synGet( "syn2701943", downloadLocation = "~/Downloads/PCBC" )
读入表达数据
library(tidyverse)
exp <- read_delim(file = synRNA$path) %>%
# 去除 Ensembl ID 的后缀
separate(col = "tracking_id", sep = "\\.", into = c("Ensembl_ID", "suffix")) %>%
dplyr::select(-suffix) %>%
column_to_rownames("Ensembl_ID") %>%
as.matrix()
exp[1:3,1:3]
# H9.102.2.5 H9.102.2.6 H9.119.3.7
# ENSG00000000003 0.6306521 0.6071539 0.7197784
# ENSG00000000005 -1.2838794 -1.0152271 -0.8893850
# ENSG00000000419 0.6509436 0.5833117 0.7618753
将 ENSEMBL
转换为 Symbol
library(org.Hs.eg.db)
unimap <- mapIds(
org.Hs.eg.db, keys = rownames(exp), keytype = "ENSEMBL",
column = "SYMBOL", multiVals = "filter"
)
data.exp <- exp[names(unimap),]
rownames(data.exp) <- unimap
使用 synTableQuery
函数来获取元数据,使用 SQ