肿瘤干性细胞指数si是一种描述肿瘤细胞与干细胞相似程度的指标,可以认为是CSCs的量化。干细胞具有自我更新以及治疗耐药性的特征,在癌症中发挥着重要作用。
2018年发表在Cell上面的一篇文章采用创新的单类逻辑回归(OCLR)机器学习算法,通过对干细胞转录组、甲基化组和转录因子结合位点的多平台分析,得到了两个独立的干性指数,其中mRNAsi可以反映干细胞的基因表达特征,另一种mDNAsi则反映干细胞的表观遗传特征。目前研究肿瘤干细胞大多通过RNA计算的mRNAsi进行相似程度评估,因此本次我们也针对mRNAsi的OCLR计算过程进行分享。
流程大体思路如下:
利用PCBC数据库中的干细胞类群及其分化的外胚层、中胚层和内胚层祖细胞信息作为初始数据集,使用OCLR算法训练推导出干性指数。然后将基于OCLR的计算得到的干性指数对应的转录组表达量应用于TCGA数据集,计算每个样本的mRNAsi。每个干性指数(si)的范围从低(0)到高(1)。
一、加载相应R包
二、创建genes2hugo函数
该函数可以将Ensemble ID转换为HUGO Symbols。
三、创建模型训练函数
首先我们创建函数main.train对新数据进行训练,该函数的流程分为以下几步:
1)利用synGet获取PCBC数据,包括两种数据,其中X是一个由229个细胞样本的13189个基因构成的表达矩阵,Y是一个含有301个观测值的单变量数据框;
2)从 metadata 获取 labels;
3)调用之前创建的genes2hugo函数,将Ensembl ID转换为HUGO Symbols;
4)计算每个基因的平均值中心(初始值-平均值);
5)根据y是否等于“SC”判断干细胞并将所有样本划分为干细胞组X.tr和非干细胞组X.bk;
6)执行gelnet函数来训练模型,gelnet函数使用协调下降的迭代方法,具有四个主要的参数:
# X: 由( X.r )转置后的矩阵
# y: 如果为`NULL`则为一类模型
# l1: L1范数惩罚的系数=> 0
# l2: L2范数惩罚的系数=> 1
7)将signature文件存储为pcbc-stemsig.tsv;
8)使用留一法交叉验证测试模型的准确性。
函数main.train完整代码如下:
四、创建预测函数
接下来创建main.predict函数预测未知样本的mRNAsi指数,该函数的流程分为以下几步:
1)读入上个模块中保存的signature文件,同时读入样本的基因表达数据(该示例从synapse中获取表达数据);
2)过滤基因ID,保留仅在signature中包含的HUGO symbols, 并将表达矩阵X转为矩阵形式,其中行为基因名,列为样本名称;
3)使用Spearman相关性对矩阵`X`评分,并将评分标准化为0到1之间;
4)分数输出到文件mRNA_StemScore.tsv。
函数main.predict完整代码如下:
五、执行完整分析
在创建完上述函数main.train和main.predict后,我们使用main函数将这两个函数打包,最后运行main函数执行完整的分析。
参考文献:Malta TM, Sokolov A, Gentles AJ, Burzykowski T, Poisson L, Weinstein JN, Kamińska B, Huelsken J, Omberg L, Gevaert O, Colaprico A, Czerwińska P, Mazurek S, Mishra L, Heyn H, Krasnitz A, Godwin AK, Lazar AJ; Cancer Genome Atlas Research Network, Stuart JM, Hoadley KA, Laird PW, Noushmehr H, Wiznerowicz M. Machine Learning Identifies Stemness Features Associated with Oncogenic Dedifferentiation. Cell. 2018 Apr 5;173(2):338-354.e15. doi: 10.1016/j.cell.2018.03.034. PMID: 29625051; PMCID: PMC5902191.