RNAseq數(shù)據(jù)推斷兩種表型之間分泌蛋白活性的變化

推斷兩種表型之間 (如處理 vs 對(duì)照、腫瘤 vs 正常、應(yīng)答者 vs 非應(yīng)答者) 分泌蛋白活性的變化。輸入的表達(dá)值應(yīng)來自RNAseq或MicroArray數(shù)據(jù),需經(jīng)過log2(x+1)轉(zhuǎn)換,x可以是RNAseq數(shù)據(jù)中的FPKM、RPKM或TPM值。演示數(shù)據(jù)來自一個(gè)接受抗IFNG抗體AMG 811單劑治療的盤狀紅斑狼瘡患者臨床隊(duì)列。通過SecAct框架,預(yù)測(cè)治療組與對(duì)照組之間分泌蛋白活性的變化。


library(SecAct)

dataPath <- file.path(system.file(package="SecAct"), "extdata/")
expr <- read.csv(paste0(dataPath,"GSE100093.IFNG.expr.gz"), sep="\t")
meta <- read.csv(paste0(dataPath,"GSE100093.IFNG.meta"), sep="\t")
expr.treatment <- expr[, meta[,"Treatment"]=="Anti-IFNG"]
expr.control <- expr[, meta[,"Treatment"]=="Control"]

expr.treatmentexpr.control輸入到SecAct.activity.inference函數(shù)中,以推斷處理組與對(duì)照組之間分泌蛋白活性的變化。默認(rèn)參數(shù)下,SecAct計(jì)算的是兩種表型之間的整體活性變化 (is.singleSampleLevel = FALSE),可以通過設(shè)置 is.singleSampleLevel = TRUE來獲得每個(gè)處理組樣本的活性變化。注意,如果是配對(duì)樣本,將默認(rèn)設(shè)置is.paired = FALSE改為TRUE

res <- SecAct.activity.inference(inputProfile = expr.treatment, inputProfile_control = expr.control, is.singleSampleLevel = F, is.paired = F)
act.change <- res$zscore
head(act.change)
          Change
A1BG   11.004840
A2M    12.095746
A2ML1  -7.503564
ABHD15 -4.295565
ABI3BP 11.102537
ABO    -6.030371

如果已經(jīng)有差異表達(dá)變化結(jié)果,而不是兩個(gè)表型的表達(dá)矩陣,也可以直接運(yùn)行 SecAct.activity.inference,并設(shè)置 is.differential = TRUE,也可以得到相同的結(jié)果。

expr.diff <- matrix(data = rowMeans(expr.treatment) - rowMeans(expr.control), ncol = 1, dimnames = list(row_names = rownames(expr.treatment), col_names = "Diff"))
res <- SecAct.activity.inference(inputProfile = expr.diff, is.differential = T)
act.change <- res$zscore
head(act.change)
          Change
A1BG   11.004840
A2M    12.095746
A2ML1  -7.503564
ABHD15 -4.295565
ABI3BP 11.102537
ABO    -6.030371

結(jié)果中正值表示分泌蛋白在處理組中活性更高,負(fù)值表示在對(duì)照組中活性更高。從下面結(jié)果的可以看到,IFNG的活性下降符合預(yù)期,這與治療組接受抗IFNG治療的結(jié)果一致。

act.change["IFNG","Change"]
[1] -44.19696

可視化活性變化

可以使用 SecAct.bar.plot 函數(shù)可視化感興趣的分泌蛋白。這里選取處理組與對(duì)照組之間活性變化最顯著的前10個(gè)分泌蛋白來展示。

up.SPs <- names(sort(act.change[,"Change"], decreasing = TRUE))[1:10]
down.SPs <- names(sort(act.change[,"Change"]))[1:10]
SPs <- c(up.SPs, down.SPs)
fg.vec <- act.change[SPs, "Change"]
SecAct.bar.plot(fg.vec, title="Activity Change (treatment vs control)")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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