2022.3.20 初版
2022.3.28 加入代码
2022.11.30 免费给大家使用
众所周知,差异基因的分析方法有很多种:①普通的差异基因计算方法(limma、edgeR、DESeq2等R包)(缺点:针对不同数据集和不同样本来说,批次效应较大,有时候做出来的预测模型不能用于其他的数据,鲁棒性较低),②Robust rank aggregation(RRA)排秩法,通过对几个数据集差异基因进行排序,筛选出普遍适用的差异基因(优点:能高效去除批次效应,鲁棒性较高,结果、模型等普遍适用于其他的数据集;缺点:同时分析多个数据集,单个数据集无法使用)(这个方法网上很多教程也有,只是不是很详细,你们可以去读读然后思考思考,我看情况今后也会讲讲)③基于基因秩序表达秩序关系识别稳定逆转基因对(就是接下来我要讲的这个)(优缺点待会你们就知道啦)
误入BioInfor的大黄鸭 --一个喜欢把教程写着写着写成科普的本科临床医学生
稳定逆转基因对(relative expression orderings,REOs),即一种基因的秩序存在的模式,假设基因i(Gi)和基因j(Gj),若在95%(或90%[a])的正常样本中Gi>Gj(或Gi<Gj),我们称之为稳定基因对。而在95%(或90%)肿瘤样本中情况相反,则我们定义为稳定逆转基因对(REOs),稳定逆转基因对直接用“是”或“否”来定义是否具有差异,故该方法计算结果无差异倍数,但是对每个样本进行了量化,按照每个样本的情况来定义的,不像普通差异分析方法是按照平均表达量来计算,因此批次效应会低很多。因此此差异分析方法仅适用于各模型的构建及特征基因的筛选。
[a]其实这个数是自己随便主观定义的数,只要筛选出的稳定逆转基因对的最后的模型结果够好就行了,80%也可以,我推荐使用90%或95%,因为毕竟有参考文献支持,审稿人问你这个数怎么来的,你也可以有底气的回答。
例:
ID | 样本A_con | 样本B_con | 样本C_con | 样本D_con | 样本E_con | 样本F_treat | 样本G_treat | 样本H_treat | 样本I_treat | 样本J_treat |
---|---|---|---|---|---|---|---|---|---|---|
Gene A | 0.85 | 0.82 | 0.73 | 0.89 | 0.83 | 0.24 | 0.28 | 0.46 | 0.25 | 0.33 |
Gene B | 0.47 | 0.53 | 0.26 | 0.37 | 0.43 | 0.67 | 0.73 | 0.83 | 0.66 | 0.76 |
若Gene A>Gene B,我们用1表示,反之用0表示,则:
ID | 样本A_con | 样本B_con | 样本C_con | 样本D_con | 样本E_con | 样本F_treat | 样本G_treat | 样本H_treat | 样本I_treat | 样本J_treat |
---|---|---|---|---|---|---|---|---|---|---|
Gene A / Gene B | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
在95%(或90%)的样本中,正常组Gene A都大于Gene B,肿瘤组Gene A都小于Gene B,因此我们把Gene A / Gene B定义为稳定逆转基因对。
应用:
稳定逆转基因对的应用主要在于特征基因的筛选,如输入最小冗余最大关联算法(mRMR)、随机森林算法(RF)、LASSO、支持向量机(SVM)等,还有人工神经网络模型的构建。可作为分类器的特征筛选使用,对亚型分型、个性化治疗、早期诊断等提供帮助。
我之前写的这个R包已经更新到了2.0版本,我已上传到Github上,为了感谢各位粉丝的关注,我把包和代码公开了,放到了Github上,方便大家使用。https://github.com/MYNong123/StabRvsPair/
实例代码如下
Normal = read.table("Normal.txt",header=T,sep="\t",check.names=F,row.names=1) #读取Normal矩阵
Tumor = read.table("Tumor.txt",header=T,sep="\t",check.names=F,row.names=1) #读取Tumor矩阵
#加载包
library(StabRvsPair)
library(stringr)
PairTime=testRunTime(Normal,Tumor,0.9,0.1) #测试电脑运行速度
GetPair=FindStabRvsPair(Normal,Tumor,0.9,0.1) #获取稳定逆转基因对
GenePair=CalStabRvsPair(GetPair,Normal,Tumor) #获取稳定逆转基因对矩阵
大家可以使用代码进行安装:
install.packages("devtools")
devtools::install_github("MYNong123/StabRvsPair")
安装完就可以用啦!多核运算仅限于Linux服务器,这个代码需要计算很久。
参考文献:
[1]张子梅. 利用机器学习方法识别肝癌早期诊断标志[D].电子科技大学,2021.DOI:10.27005/d.cnki.gdzku.2021.002251.
由于StabRvsPair包是我辛辛苦苦自己写的,来之不易,想用的朋友在微公号发送“基因对”。
不收费了,直接免费提供给大家!!
本教程就先讲到这啦,后续随后更新,欢迎大家关注支持~大家关注一下我:误入BioInfor的大黄鸭
网友评论