美文网首页
R包已上传Github免费给大家使用!差异基因筛选方法:基于基因

R包已上传Github免费给大家使用!差异基因筛选方法:基于基因

作者: 误入BioInfor的大黄鸭 | 来源:发表于2022-11-29 22:11 被阅读0次

    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的大黄鸭

    相关文章

      网友评论

          本文标题:R包已上传Github免费给大家使用!差异基因筛选方法:基于基因

          本文链接:https://www.haomeiwen.com/subject/lpuwxdtx.html