R包已上傳Github免費給大家使用!差異基因篩選方法:基于基因表達(dá)秩序關(guān)系識別穩(wěn)定逆轉(zhuǎn)基因?qū)?/h2>

2022.3.20 初版
2022.3.28 加入代碼
2022.11.30 免費給大家使用
眾所周知,差異基因的分析方法有很多種:①普通的差異基因計算方法(limma、edgeR、DESeq2等R包)(缺點:針對不同數(shù)據(jù)集和不同樣本來說,批次效應(yīng)較大,有時候做出來的預(yù)測模型不能用于其他的數(shù)據(jù),魯棒性較低),②Robust rank aggregation(RRA)排秩法,通過對幾個數(shù)據(jù)集差異基因進(jìn)行排序,篩選出普遍適用的差異基因(優(yōu)點:能高效去除批次效應(yīng),魯棒性較高,結(jié)果、模型等普遍適用于其他的數(shù)據(jù)集;缺點:同時分析多個數(shù)據(jù)集,單個數(shù)據(jù)集無法使用)(這個方法網(wǎng)上很多教程也有,只是不是很詳細(xì),你們可以去讀讀然后思考思考,我看情況今后也會講講)③基于基因秩序表達(dá)秩序關(guān)系識別穩(wěn)定逆轉(zhuǎn)基因?qū)Γň褪墙酉聛砦乙v的這個)(優(yōu)缺點待會你們就知道啦)


誤入BioInfor的大黃鴨 --一個喜歡把教程寫著寫著寫成科普的本科臨床醫(yī)學(xué)生


穩(wěn)定逆轉(zhuǎn)基因?qū)Γ╮elative expression orderings,REOs),即一種基因的秩序存在的模式,假設(shè)基因i(Gi)和基因j(Gj),若在95%(或90%[a])的正常樣本中Gi>Gj(或Gi<Gj),我們稱之為穩(wěn)定基因?qū)Α6?5%(或90%)腫瘤樣本中情況相反,則我們定義為穩(wěn)定逆轉(zhuǎn)基因?qū)Γ≧EOs),穩(wěn)定逆轉(zhuǎn)基因?qū)χ苯佑谩笆恰被颉胺瘛眮矶x是否具有差異,故該方法計算結(jié)果無差異倍數(shù),但是對每個樣本進(jìn)行了量化,按照每個樣本的情況來定義的,不像普通差異分析方法是按照平均表達(dá)量來計算,因此批次效應(yīng)會低很多。因此此差異分析方法僅適用于各模型的構(gòu)建及特征基因的篩選。
[a]其實這個數(shù)是自己隨便主觀定義的數(shù),只要篩選出的穩(wěn)定逆轉(zhuǎn)基因?qū)Φ淖詈蟮哪P徒Y(jié)果夠好就行了,80%也可以,我推薦使用90%或95%,因為畢竟有參考文獻(xiàn)支持,審稿人問你這個數(shù)怎么來的,你也可以有底氣的回答。

例:

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定義為穩(wěn)定逆轉(zhuǎn)基因?qū)Α?/p>

應(yīng)用:

穩(wěn)定逆轉(zhuǎn)基因?qū)Φ膽?yīng)用主要在于特征基因的篩選,如輸入最小冗余最大關(guān)聯(lián)算法(mRMR)、隨機森林算法(RF)、LASSO、支持向量機(SVM)等,還有人工神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建。可作為分類器的特征篩選使用,對亞型分型、個性化治療、早期診斷等提供幫助。

我之前寫的這個R包已經(jīng)更新到了2.0版本,我已上傳到Github上,為了感謝各位粉絲的關(guān)注,我把包和代碼公開了,放到了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) #獲取穩(wěn)定逆轉(zhuǎn)基因?qū)?
GenePair=CalStabRvsPair(GetPair,Normal,Tumor) #獲取穩(wěn)定逆轉(zhuǎn)基因?qū)仃?

大家可以使用代碼進(jìn)行安裝:

install.packages("devtools")
devtools::install_github("MYNong123/StabRvsPair")

安裝完就可以用啦!多核運算僅限于Linux服務(wù)器,這個代碼需要計算很久。

參考文獻(xiàn):
[1]張子梅. 利用機器學(xué)習(xí)方法識別肝癌早期診斷標(biāo)志[D].電子科技大學(xué),2021.DOI:10.27005/d.cnki.gdzku.2021.002251.


由于StabRvsPair包是我辛辛苦苦自己寫的,來之不易,想用的朋友在微公號發(fā)送“基因?qū)Α薄?/del>
不收費了,直接免費提供給大家!!

本教程就先講到這啦,后續(xù)隨后更新,歡迎大家關(guān)注支持~大家關(guān)注一下我:誤入BioInfor的大黃鴨

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容