兩個(gè)檢驗(yàn)給ceRNA錦上添花

前面提到過gdcRNAtools里面的ceRNA網(wǎng)絡(luò)構(gòu)建

構(gòu)建鑒定ceRNA的標(biāo)準(zhǔn)有4個(gè):
(1)lncRNA和mRNA之間共享的miRNA數(shù)量篡撵;
(2)lncRNA與mRNA的表達(dá)相關(guān)性追迟;
(3)共享miRNA對lncRNA和mRNA的調(diào)控相似性;
(4)(sensitivity)靈敏度相關(guān)性

前兩條在很多ceRNA網(wǎng)絡(luò)構(gòu)建的文章中提及,比如:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6308055/

https://pubmed.ncbi.nlm.nih.gov/29082457/

當(dāng)然也有大把的文章里沒有提及這兩個(gè)檢驗(yàn)酗失,做了是錦上添花姐霍,不做也沒有太大問題。

落到具體的代碼實(shí)現(xiàn)盯荤,就是計(jì)算一個(gè)是幾何分布檢驗(yàn)的p值馋吗,一個(gè)皮爾遜相關(guān)性p值。(我知道很多人要被名字嚇跑了廷雅。但是我還是要說耗美,別走京髓!不難!)

gdcRNAtools里構(gòu)建網(wǎng)絡(luò)的函數(shù)需要將miRNA的表達(dá)矩陣一起輸入商架,今天做的數(shù)據(jù)是沒有miRNA表達(dá)矩陣的堰怨,其實(shí)不影響網(wǎng)絡(luò)構(gòu)建,只是不能用這個(gè)一步到位的函數(shù)啦蛇摸。

超幾何分布檢驗(yàn)就是反應(yīng)二者交集足夠多不

關(guān)于超幾何分布檢驗(yàn)备图,放進(jìn)R語言也無非就是一個(gè)函數(shù)。有一個(gè)講的比較好的例子赶袄,參考自:https://blog.csdn.net/linkequa/article/details/88189582

設(shè)總共有29個(gè)人揽涮,其中11個(gè)吸煙者,18個(gè)非吸煙者饿肺,現(xiàn)從中隨機(jī)抽取16個(gè)樣本(在此實(shí)驗(yàn)中對應(yīng)著肺癌病人)蒋困,有10個(gè)是吸煙者,這樣的事件是否顯著敬辣?

p_value=phyper(10-1, #10個(gè)是吸煙者
               11, #11個(gè)吸煙者
               18, #18個(gè)非吸煙者
               16, #隨機(jī)抽取16個(gè)(癌癥人數(shù))
               lower.tail=F)
p_value
## [1] 0.003135274

設(shè)總共有29個(gè)人雪标,其中16個(gè)癌癥患者,13個(gè)正常人溉跃,現(xiàn)從中隨機(jī)選出11個(gè)人(對應(yīng)著所有抽煙的人)村刨,有10個(gè)是癌癥患者,這樣的事件是否顯著撰茎?

p_value=phyper(10-1, #10個(gè)是癌癥患者
               16, #16個(gè)癌癥患者
               13, #13個(gè)正常人
               11, #隨機(jī)選出11個(gè)人(吸煙人數(shù))
               lower.tail=F)
p_value
## [1] 0.003135274

emmm......想繼續(xù)寫點(diǎn)啥的嵌牺,算了。

只需要學(xué)個(gè)小函數(shù)

我去找了gdcRNAtools 在github上的代碼龄糊,發(fā)現(xiàn)超幾何分布檢驗(yàn)其實(shí)被寫成函數(shù)了逆粹,只是沒有export,因此只是相當(dāng)于作者寫的時(shí)候分段绎签,而用戶無法使用枯饿。

所以我將這個(gè)函數(shù)拿下來自己捯飭了一下,放進(jìn)了tinyarray诡必,下載1.3.3以上的版本可以用奢方。使用起來很簡單的!0质妗蟋字!

https://github.com/xjsun1221/tinyarray

1.輸入數(shù)據(jù)

rm(list = ls())
library(tinyarray)
load("exp_target.Rdata")
ls()
## [1] "lnc_exp"  "lnc_mi"   "m_mi"     "mRNA_exp"
lnc_exp[1:4,1:4]
##           TCGA-BR-A4QL-01
## LINC00337          4.0000
## CDC42-IT1          2.5850
## LINC00853          5.2854
## ROR1-AS1           1.5850
##           GTEX-QLQ7-0826-SM-447B3
## LINC00337                       1
## CDC42-IT1                       0
## LINC00853                       0
## ROR1-AS1                        1
##           TCGA-VQ-A927-01
## LINC00337          3.8074
## CDC42-IT1          2.5850
## LINC00853          3.7004
## ROR1-AS1           4.1699
##           GTEX-132AR-2426-SM-5IFFD
## LINC00337                        0
## CDC42-IT1                        2
## LINC00853                        1
## ROR1-AS1                         2
mRNA_exp[1:4,1:4]
##        TCGA-BR-A4QL-01 GTEX-QLQ7-0826-SM-447B3
## CFAP74          5.4919                  0.0000
## GABRD           4.3219                  2.8074
## TP73            9.9092                  3.3291
## HES2           10.6812                  0.0000
##        TCGA-VQ-A927-01 GTEX-132AR-2426-SM-5IFFD
## CFAP74          2.3219                   2.0000
## GABRD           6.0444                   2.8074
## TP73            7.8184                   4.9773
## HES2            6.8826                   2.0000
head(lnc_mi)
##      geneName      miRNAname
## 1211   MALAT1   hsa-miR-1-3p
## 1212   MALAT1   hsa-miR-1-3p
## 1258     UCA1   hsa-miR-1-3p
## 1303 SND1-IT1 hsa-miR-101-3p
## 1316   MALAT1 hsa-miR-101-3p
## 1336   TYMSOS hsa-miR-101-3p
head(m_mi)
##     target_symbol mature_mirna_id
## 125          ACHE  hsa-miR-212-3p
## 128        ADRA2A  hsa-miR-26b-5p
## 129          ACAN hsa-miR-181a-5p
## 130           AGT  hsa-miR-26b-5p
## 132       ALDH3B2  hsa-miR-124-3p
## 141        ALOX15     hsa-miR-665

lnc_mi是從數(shù)據(jù)庫獲取的lncRNA與miRNA對應(yīng)關(guān)系,m_mi 是從數(shù)據(jù)庫獲取的mRNA和miRNA的對應(yīng)關(guān)系扭勉。注意miRNA都應(yīng)放在第二列的位置上鹊奖,列名可以隨意。

2.超幾何分布檢驗(yàn)

hyperoutput = hypertest(
  lnc = rownames(lnc_exp),
  pc  = rownames(mRNA_exp), 
  lnctarget = lnc_mi,
  pctarget = m_mi
)

hyperPValue 是超幾何分布檢驗(yàn)的p值涂炎,Counts是共享miRNA的數(shù)量忠聚,可以根據(jù)這兩個(gè)指標(biāo)來篩選设哗。

k1 = hyperoutput$hyperPValue<0.05;table(k1)
## k1
## FALSE  TRUE 
##  3112   510
k2 = hyperoutput$Counts>2;table(k2)
## k2
## FALSE  TRUE 
##  2691   931
table(k1&k2)
## 
## FALSE  TRUE 
##  3337   285
hysmall = hyperoutput[k1&k2,];dim(hysmall)
## [1] 285   9

3.相關(guān)性檢驗(yàn)

直接選擇符合超幾何分布檢驗(yàn)的基因和lncRNA來做,減少計(jì)算時(shí)間两蟀。plcortest函數(shù)网梢,直接返回相關(guān)性p值<0.05的基因,以列表的形式組織赂毯,列表元素名字為lncRNA战虏,元素內(nèi)容為mRNA。

hylnc = unique(hysmall$lncRNAs)
hypc = unique(hysmall$Genes)

v = plcortest(lnc_exp[hylnc,],
              mRNA_exp[hypc,])
length(v) #有多少個(gè)lncRNA找到了顯著相關(guān)的mRNA
## [1] 19
str(v[1:3])
## List of 3
##  $ TRPM2-AS : chr [1:169] "NUSAP1" "APOBEC3B" "GPRC5A" "CXCL5" ...
##  $ TEX41    : chr [1:169] "NUSAP1" "APOBEC3B" "GPRC5A" "CXCL5" ...
##  $ LINC00944: chr [1:169] "NUSAP1" "APOBEC3B" "GPRC5A" "CXCL5" ...

相關(guān)性顯著與超幾何分布檢驗(yàn)顯著的lncRNA就是v列表元素的名字党涕。而兩個(gè)都顯著的mRNA烦感,就需要取交集來實(shí)現(xiàn)了。

hc  = lapply(hylnc,function(x){
  intersect(hysmall[hysmall$lncRNAs==x,"Genes"],
            v[[x]])
})
names(hc) = hylnc
hc = hc[sapply(hc,length)!=0]
str(hc[1:3])
## List of 3
##  $ TRPM2-AS : chr [1:78] "NUSAP1" "GPRC5A" "ASPM" "MMP9" ...
##  $ TEX41    : chr [1:77] "APOBEC3B" "CXCL5" "KIF18B" "KIF14" ...
##  $ LINC00944: chr [1:3] "KLK10" "CREG2" "CCR6"

最后組合起來膛堤,成為一個(gè)數(shù)據(jù)框手趣。可以統(tǒng)計(jì)經(jīng)過這兩種檢驗(yàn)的三種RNA的個(gè)數(shù)了骑祟。

ce = hysmall[hysmall$lncRNAs %in% names(hc) & hysmall$Genes %in% unlist(hc),
             c(1,2,ncol(hysmall))]
head(ce,3)
##        lncRNAs    Genes
## 17746 TRPM2-AS   NUSAP1
## 3780     TEX41 APOBEC3B
## 17701 TRPM2-AS   GPRC5A
##                                                                                                                                     miRNAs
## 17746                                                              hsa-miR-103a-3p,hsa-miR-107,hsa-miR-138-5p,hsa-miR-16-5p,hsa-miR-195-5p
## 3780                                                                              hsa-miR-103a-3p,hsa-miR-107,hsa-miR-16-5p,hsa-miR-195-5p
## 17701 hsa-miR-103a-3p,hsa-miR-107,hsa-miR-15a-5p,hsa-miR-15b-5p,hsa-miR-16-5p,hsa-miR-195-5p,hsa-miR-424-5p,hsa-miR-497-5p,hsa-miR-6838-5p
length(unique(ce$lncRNAs))
## [1] 18
length(unique(ce$Genes))
## [1] 169
length(unique(unlist(stringr::str_split(ce$miRNAs,","))))
## [1] 135

tinyarray包里現(xiàn)有的函數(shù)有不少啦回懦,還會(huì)繼續(xù)更新:
geo_download() : 提供geo編號,返回表達(dá)矩陣次企、臨床信息表格和使用的平臺編號。
get_deg() :提供芯片表達(dá)矩陣潜圃、分組信息缸棵、探針注釋,返回差異分析結(jié)果谭期。
multi_deg() : 多個(gè)分組(最多5個(gè))的差異分析
cor.full()和cor.one() :批量計(jì)算基因間的相關(guān)性
幾個(gè)繪圖函數(shù):draw_heatmap,draw_volcano,draw_venn
trans_exp():將tcga或tcga+gtex數(shù)據(jù)進(jìn)行基因id轉(zhuǎn)換
t_choose():批量做單個(gè)基因的t檢驗(yàn)
point_cut():批量計(jì)算生存分析最佳截點(diǎn)
surv_KM():批量做KM生存分析堵第,支持用最佳截點(diǎn)分組
surv_cox():批量做cox生存分析,支持用最佳截點(diǎn)分組
hypertest():批量做mRNA和lncRNA的超幾何分布檢驗(yàn)
plcortest():批量做mRNA和lncRNA的相關(guān)性檢驗(yàn)

順便說一句隧出,我上課時(shí)會(huì)和學(xué)員說:你運(yùn)行一個(gè)代碼報(bào)錯(cuò)了踏志,不代表代碼錯(cuò)了,在這里再補(bǔ)一句胀瞪,你裝不上一個(gè)包针余,也不代表這個(gè)包的作者寫錯(cuò)了。解決安裝R包的報(bào)錯(cuò)凄诞,是所有R語言學(xué)習(xí)者的必修課圆雁,會(huì)遇到很多坑,網(wǎng)絡(luò)問題占大多數(shù)帆谍。github上的包可以下載下來伪朽,使用devtools::install_local進(jìn)行本地安裝,但仍然不能確保一次成功汛蝙,需要解決問題的能力烈涮。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朴肺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坚洽,更是在濱河造成了極大的恐慌宇挫,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酪术,死亡現(xiàn)場離奇詭異器瘪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绘雁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門橡疼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人庐舟,你說我怎么就攤上這事欣除。” “怎么了挪略?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵历帚,是天一觀的道長。 經(jīng)常有香客問我杠娱,道長挽牢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任摊求,我火速辦了婚禮禽拔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘室叉。我一直安慰自己睹栖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布茧痕。 她就那樣靜靜地躺著野来,像睡著了一般。 火紅的嫁衣襯著肌膚如雪踪旷。 梳的紋絲不亂的頭發(fā)上曼氛,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音埃脏,去河邊找鬼搪锣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛彩掐,可吹牛的內(nèi)容都是我干的构舟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼狗超!你這毒婦竟也來了弹澎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤努咐,失蹤者是張志新(化名)和其女友劉穎苦蒿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渗稍,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡佩迟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了竿屹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片报强。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拱燃,靈堂內(nèi)的尸體忽然破棺而出秉溉,到底是詐尸還是另有隱情,我是刑警寧澤碗誉,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布召嘶,位于F島的核電站,受9級特大地震影響哮缺,放射性物質(zhì)發(fā)生泄漏弄跌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一蝴蜓、第九天 我趴在偏房一處隱蔽的房頂上張望碟绑。 院中可真熱鬧,春花似錦茎匠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谊惭,卻和暖如春汽馋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背圈盔。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工豹芯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人驱敲。 一個(gè)月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓铁蹈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親众眨。 傳聞我的和親對象是個(gè)殘疾皇子握牧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345