Xtail (ribo-seq計算差異翻譯效率)

ribo-seq數(shù)據(jù)可以提供不同狀態(tài)下的翻譯效率,本帖子主要介紹2016年發(fā)表在NC上的簡便的工具:Xtail合搅。詳情請參照github網(wǎng)址:https://github.com/xryanglab/xtail

  1. Z. Xiao, Q. Zou, Y. Liu, X. Yang, Genome-wide assessment of differential translations with ribosome profiling data. Nat Commun 7, 11194 (2016).

背景及簡介

mRNA翻譯的嚴格調(diào)控對于精確控制蛋白質(zhì)的豐度和質(zhì)量至關(guān)重要蒋歌。核糖體分析是一種結(jié)合核糖體足跡測序和RNA深度測序的技術(shù),已在多種研究中用于定量全基因組范圍的mRNA翻譯汰蓉。在此绷蹲,研究者開發(fā)了Xtail,一種專為核糖體分析數(shù)據(jù)設(shè)計的分析流程顾孽,能夠全面且準確地識別成對比較中差異翻譯的基因祝钢。通過對模擬數(shù)據(jù)和實際數(shù)據(jù)集的應(yīng)用,Xtail展現(xiàn)出高靈敏度和極低的假陽性率若厚,在差異翻譯量化的準確性方面優(yōu)于現(xiàn)有方法太颤。利用已發(fā)布的核糖體分析數(shù)據(jù)集,Xtail不僅揭示了具有生物學(xué)意義的差異翻譯基因盹沈,還發(fā)現(xiàn)了在人類癌細胞mTOR信號擾動和人類初級巨噬細胞干擾素γ(IFN-γ)處理中的新差異翻譯事件龄章。這表明吃谣,Xtail在揭示涉及翻譯失調(diào)的分子機制方面具有提供新見解的價值。

原理+流程

對于特定的mRNA轉(zhuǎn)錄本做裙,RPF(核糖體保護片段)的豐度表明所有該mRNA物種副本上的核糖體占有率岗憋。映射到特定基因編碼區(qū)的RPF counts取決于mRNA豐度及其翻譯速率。因此锚贱,在比較兩種條件時仔戈,差異翻譯可以通過兩種條件下mRNA和RPF表達變化的不同來表征。

Schematic description of Xtail

Xtail通過三個主要步驟(統(tǒng)計建模拧廊、概率分布建立和差異翻譯評估)定量分析兩種條件下基因的差異翻譯监徘。最終通過兩個并行管道比較RPF和mRNA的log2折疊變化或RPF對mRNA的log2比率,得出差異翻譯的評估結(jié)果吧碾。

安裝及使用

1.安裝

library(devtools)
install_github("xryanglab/xtail")

2.使用

setwd('~/project/HKU/data/20240325/riboseq/xtail/N0/')
library(xtail)
library(tidyverse)
library(ggplot2)

# 讀取riboseq和mrna的reads counts matrix凰盔。
dir_ribo <- '~/project/HKU/data/20240325/riboseq/HTSeq/'
dir_mrna <- '~/project/HKU/data/20240325/RNA/METTL3_KO/HTSeq'

ribo0<- read.table(file.path(dir_ribo,'HTSeq_merged.txt'),header=T,quote='',check.names=F, sep='\t',row.names=1)
mrna0<- read.table(file.path(dir_mrna,'HTSeq_merged.txt'),header=T,quote='',check.names=F, sep='\t',row.names=1)
head(ribo0)
mrna0
ribo0

# 去除任何樣本表達都是0的
ribo_f <- ribo0[rowSums(ribo0 == 0) == 0, ]
mrna_f <- mrna0[rowSums(mrna0 == 0) == 0, ]
GENE <- intersect(rownames(ribo_f), rownames(mrna_f)) # 剩余交集基因:8722

# 提取目標基因行 ;PS:如果不去除在樣本中表達為0的基因就會報錯
ribo <- ribo_f[GENE,]
mrna <- mrna_f[GENE,]

# 樣本信息
condition <- c("control","control","treat","treat") # 每個樣本對應(yīng)的分組

# 最關(guān)鍵的一步倦春,xtail按照q-value排序户敬,選擇輸出log2FCs和log2R
results <- xtail(mrna,ribo,condition,baseLevel = "control",threads = 55,minMeanCount=1,bins=10000) 
# log2FC: 2366
# log2R: 12500

# 輸出xtail分析結(jié)果
saveRDS(results,"./files/ribo_EPSC.rds")
results_tab <-resultsTable(results,sort.by="pvalue.adjust",log2FCs=TRUE,log2Rs=TRUE)
write.table(results_tab,"./files/ribo_EPSC.csv",quote=F,sep=",")

得到的結(jié)果如下所示,行是基因睁本,列是結(jié)果尿庐,有具體的mRNA和RPF(對應(yīng)ribo-seq)的差異結(jié)果,最后三列給出了最終確定的差異翻譯基因呢堰,可以后續(xù)進行分析抄瑟、繪圖。


results_tab

3.可視化

results <- readRDS("./files/ribo_EPSC.rds")
results_tab <- as.data.frame(resultsTable(results,sort.by="pvalue.adjust",log2FCs=TRUE,log2Rs=TRUE))

# 轉(zhuǎn)錄組/核糖體組枉疼、翻譯組總體情況
pdf("./plots/ribo_RNA_EPSC.pdf", width = 5, height = 3)
plotFCs(results) # mRNA差異散點圖
plotRs(results) # 差異翻譯散點圖
volcanoPlot(results) # 差異翻譯火山圖
dev.off()
Xtail自帶可視化函數(shù)

4. 功能富集

#### 定義上下調(diào)基因 ---
library(tidyverse)
library(clusterProfiler)
library(org.Hs.eg.db)
colnames(results_tab) #"log2FC_TE_final" "pvalue_final" "pvalue.adjust"  
results_tab <- results_tab %>% mutate(change = ifelse(
  pvalue_final <= 0.05 & abs(log2FC_TE_final) >= 1,
  ifelse(log2FC_TE_final > 1, "Up", "Down"),
  "Stable" ))
results_tab %>% dplyr::count(change)
#    change     n
# 1   Down  462
# 2 Stable 7766
# 3     Up  494

# 名稱轉(zhuǎn)換為易懂的SYMBOL格式
results_tab$ENSEMBL <- rownames(results_tab)
results_tab$ENSEMBL <- sub("\\..*", "", results_tab$ENSEMBL)
ref <- bitr(results_tab$ENSEMBL, fromType="ENSEMBL", toType=c("SYMBOL"), OrgDb="org.Hs.eg.db")
results_tab <- left_join(results_tab, ref, by = c("ENSEMBL" = "ENSEMBL"))
write.table(results_tab,"./files/ribo_EPSC_2.csv",quote=F,sep=",")

#### 功能富集 ----
outdir <- './files/FUN'
outdir2 <- './plots/FUN'
for(i in c("Up", "Down")){
  s_gene <- results_tab |> filter(change %in% i) |> pull('SYMBOL')
  bp <-
    enrichGO(
      s_gene,
      OrgDb = org.Hs.eg.db,
      keyType = 'SYMBOL',
      ont = "BP",
      pAdjustMethod = "BH",
      pvalueCutoff = 0.05,
      qvalueCutoff = 0.2)
  term <- bp@result
  write.table(term,
              file = file.path(outdir , paste0(i,'_EPSC_terms.csv')),
              quote = F,sep = ",", row.names = F)
  
  #繪制TOP30
  df <- term[1:30,]
  df$labelx=rep(0,nrow(df))
  df$labely=seq(nrow(df),1)
  ggplot(data = df,
         aes(x = -log10(pvalue),
             y = reorder(Description,-log10(pvalue))))  +
    geom_bar(stat="identity",
             alpha=1,
             fill= "#BEBADA",
             width = 0.8) +
    geom_text(aes(x=labelx,
                  y=labely,
                  label = df$Description),
              size=3.5,
              hjust =0)+
    theme_classic()+
    theme(axis.text.y = element_blank(),
          axis.line.y = element_blank(),
          axis.title.y = element_blank(),
          axis.ticks.y = element_blank(),
          axis.line.x = element_line(colour = 'black', linewidth = 1),
          axis.text.x = element_text(colour = 'black', size = 10),
          axis.ticks.x = element_line(colour = 'black', linewidth = 1),
          axis.title.x = element_text(colour = 'black', size = 12))+
    xlab("-log10(pvalue)")+
    ggtitle(i)+
    scale_x_continuous(expand = c(0,0))
  ggsave(file.path(outdir2, paste0(i, '_EPSC_Barplot_TOP30.pdf')),
         ggplot2::last_plot(),#最后一張圖
         height=6,
         width=6)
}

根據(jù)上調(diào)的差異翻譯基因可能發(fā)現(xiàn)血管運輸皮假、物質(zhì)轉(zhuǎn)運、細胞黏附等過程在實驗組中上調(diào)往衷;而胞質(zhì)翻譯钞翔、物質(zhì)合成严卖、RNA剪切等生物學(xué)過程在實驗組中下調(diào)席舍。

功能富集

歡迎大家評論交流!
(每帖分享:人生一直游蕩于“自信巔峰”到“絕望之谷”的動態(tài)過程中)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哮笆,一起剝皮案震驚了整個濱河市来颤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌稠肘,老刑警劉巖福铅,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異项阴,居然都是意外死亡滑黔,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來略荡,“玉大人庵佣,你說我怎么就攤上這事⊙炊担” “怎么了巴粪?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長粥谬。 經(jīng)常有香客問我肛根,道長,這世上最難降的妖魔是什么漏策? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任派哲,我火速辦了婚禮,結(jié)果婚禮上哟玷,老公的妹妹穿的比我還像新娘狮辽。我一直安慰自己,他們只是感情好巢寡,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布喉脖。 她就那樣靜靜地躺著,像睡著了一般抑月。 火紅的嫁衣襯著肌膚如雪树叽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天谦絮,我揣著相機與錄音题诵,去河邊找鬼。 笑死层皱,一個胖子當著我的面吹牛性锭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叫胖,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼草冈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瓮增?” 一聲冷哼從身側(cè)響起怎棱,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绷跑,沒想到半個月后拳恋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡砸捏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年谬运,在試婚紗的時候發(fā)現(xiàn)自己被綠了隙赁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡梆暖,死狀恐怖鸳谜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情式廷,我是刑警寧澤咐扭,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站滑废,受9級特大地震影響蝗肪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蠕趁,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一薛闪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俺陋,春花似錦豁延、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缴挖,卻和暖如春袋狞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背映屋。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工苟鸯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棚点。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓早处,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瘫析。 傳聞我的和親對象是個殘疾皇子砌梆,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容