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ù)集差異基因進行排序,篩選出普遍適用的差異基因(優(yōu)點:能高效去除批次效應(yīng)焙糟,魯棒性較高口渔,結(jié)果、模型等普遍適用于其他的數(shù)據(jù)集穿撮;缺點:同時分析多個數(shù)據(jù)集缺脉,單個數(shù)據(jù)集無法使用)(這個方法網(wǎng)上很多教程也有,只是不是很詳細悦穿,你們可以去讀讀然后思考思考攻礼,我看情況今后也會講講)③基于基因秩序表達秩序關(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ù),但是對每個樣本進行了量化绣的,按照每個樣本的情況來定義的叠赐,不像普通差異分析方法是按照平均表達量來計算欲账,因此批次效應(yīng)會低很多。因此此差異分析方法僅適用于各模型的構(gòu)建及特征基因的篩選芭概。
[a]其實這個數(shù)是自己隨便主觀定義的數(shù)赛不,只要篩選出的穩(wěn)定逆轉(zhuǎn)基因?qū)Φ淖詈蟮哪P徒Y(jié)果夠好就行了,80%也可以罢洲,我推薦使用90%或95%踢故,因為畢竟有參考文獻支持,審稿人問你這個數(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ū)仃?
大家可以使用代碼進行安裝:
install.packages("devtools")
devtools::install_github("MYNong123/StabRvsPair")
安裝完就可以用啦!多核運算僅限于Linux服務(wù)器芜赌,這個代碼需要計算很久仰挣。
參考文獻:
[1]張子梅. 利用機器學(xué)習(xí)方法識別肝癌早期診斷標(biāo)志[D].電子科技大學(xué),2021.DOI:10.27005/d.cnki.gdzku.2021.002251.
由于StabRvsPair包是我辛辛苦苦自己寫的,來之不易缠沈,想用的朋友在微公號發(fā)送“基因?qū)Α薄?/del>
不收費了膘壶,直接免費提供給大家4砗!
本教程就先講到這啦颓芭,后續(xù)隨后更新顷锰,歡迎大家關(guān)注支持~大家關(guān)注一下我:誤入BioInfor的大黃鴨