為什麼我一行代碼就可以完成3個R包的RNA-seq差異分析呢

2022-01-30 生信技能樹

收錄於話題 #RNA 36個

在教師節收到學生提問,刷我B站74小時視頻的時候看到我演示了RNA-seq差異分析只用了一行代碼就完成了3大R包的全部分析,並且輸出了對應的圖表結果,覺得很神奇,但是B站視頻並沒有配套講義和代碼還有測試數據

首先我一直使用airway數據集做測試

airway數據集這裡我就不多說了,搜索生信技能樹早期教程可以看到很多介紹,使用下面代碼就可以簡單探索。


if(F){
  library(airway)
  data(airway)
  exprSet=assay(airway)
  group_list=colData(airway)[,3]
  save(exprSet,group_list,file = 'airway_exprSet.Rdata')
}

load(file = 'airway_exprSet.Rdata')

if(T){
  colnames(exprSet)
  pheatmap::pheatmap(cor(exprSet))
  group_list
  tmp=data.frame(g=group_list)
  rownames(tmp)=colnames(exprSet)
  
  pheatmap::pheatmap(cor(exprSet),annotation_col = tmp)
  dim(exprSet)
  exprSet=exprSet[apply(exprSet,1, function(x) sum(x>1) > 5),]
  dim(exprSet)

  exprSet=log(edgeR::cpm(exprSet)+1)
  dim(exprSet)
  exprSet=exprSet[names(sort(apply(exprSet, 1,mad),decreasing = T)[1:500]),]
  dim(exprSet)
  M=cor(log2(exprSet+1))
  tmp=data.frame(g=group_list)
  rownames(tmp)=colnames(M)
  pheatmap::pheatmap(M,annotation_col = tmp)
  pheatmap::pheatmap(M,annotation_col = tmp,filename = 'cor.png')

  library(pheatmap)
  pheatmap(scale(cor(log2(exprSet+1))))

}

很明顯可以看到, 組內的樣本的相似性應該是要高於組間的!

而且為了顯示這個規律,我還做了一個統計學技巧展示,當然了,很多人非常的不用心,所以把視頻聽10遍也看不懂,get不到我的點,需要批評!

使用我包裝好的函數即可

可以看到,下面的代碼非常簡潔,因為僅僅是使用了 run_DEG_RNAseq 函數,就根據表達矩陣和分組信息,完成了全部的分析!

rm(list = ls())
options(stringsAsFactors = F)
load(file = 'airway_exprSet.Rdata')
group_list
group_list=relevel(group_list,ref = 'untrt')
source('run_DEG_RNA-seq.R')
run_DEG_RNAseq(exprSet,group_list,
               g1="untrt",g2="trt",
               pro='airway')

這就是大家看視頻後提的問題,為什麼這麼神奇呢?下面的圖表是如何自動出來的呢?

因為這個 run_DEG_RNAseq 函數的代碼非常長,這裡我就不貼在公眾號了哈,大家可以在我的GitHub的GEO項目找到它!

https://github.com/jmzeng1314/GEO/blob/master/airway_RNAseq/run_DEG_RNA-seq.R


GEO傳奇代碼

一不留神,這個GEO項目就成為了點讚數最多的,直接孵化出12篇數據挖掘類SCI文章,至於間接的那些就不計其數了,因為大家都是偷偷的使用,也不告訴我,甚至某些別有用心者還不告訴身邊的人,要一個人獨享這些代碼

https://github.com/jmzeng1314/GEO

https://github.com/jmzeng1314/GEO/tree/master/airway_RNAseq

既然是多個R包,結果該如何取捨呢?

這個時候是沒有標準答案的,因為每個R包都非常熱門,引用量都是好幾千,你選擇哪個都符合市場規律,不過,我這裡有一個代碼,對3個結果根據閾值篩選交集。

https://github.com/jmzeng1314/GEO/tree/master/airway_RNAseq

差異基因後是不是也可以批量GO/KEGG資料庫注釋呢?

當然是啊,都會寫代碼了,還有什麼是不能為所欲為的呢?

同樣的,代碼也是在GitHub,需要你仔細理解,不過我有一個小小的要求,請不要把我的代碼雪藏,或者刻意隱瞞。

https://github.com/jmzeng1314/GEO/tree/master/airway_RNAseq

值得一提的是這裡面的一行代碼是需要格外注意的哦:

group_list=relevel(group_list,ref = 'untrt')

本來到這裡應該是要貼上我們全國巡講的宣傳,但是中秋節臨時加開的廣州特別班,我們沒想過會有很多人報名,畢竟只有區區十天不到的報名時間,但是很快就滿20人了,而且非常多迫切想學習的小夥伴找到我們,即使拒絕後仍然是發生如下的對話:

因為加人就要換大一點會議室,成本就增加幾千塊錢,所以只能是看有沒有3個以上的人報名,至少把成本cover掉!

大家仍然是可以嘗試報名,廣州今年就這一場了,還有很多其他城市的粉絲嗷嗷待哺者等著我們!

號外:中秋節廣州3天入門課程報名馬上截止:(中秋節一起來學習!)全國巡講第16站-廣州(生信入門課加量不加價)

相關焦點

  • 一個RNAseq完整數據分析腳本
    RNAseq的分析方法有很多很多種,定量的方法也有很多指標可供選擇。這裡面我們選擇比較常用的一種經典的定量方法來完成一個無參轉錄組的分析案例,使用hisat2比對,featureCounts進行reads計數,使用DESeq2包進行定量。從測序數據比對,到得到差異表達基因,再到對差異表達可視化以及對差異表達基因進行功能注釋。
  • R語言與RNAseq
    gene表達矩陣我們進行差異分析所採用的是這兩個不同平臺產生的表達矩陣(gene x samples),其中行為gene,列為samples。一般我們都是在Linux系統中進行NGS數據分析,但是大部分小夥伴現階段還沒有Linux操作基礎,可又很想嘗試處理RNAseq Rawdata。那麼R在一定程度上,可以滿足你這種需求。對於常規的RNAseq Rawdata,可以嘗試使用Rsubread包(反正我個人電腦是帶不動😖)。
  • RNASeq實戰練習-軟體安裝及數據下載
    RNASeq實戰練習-軟體安裝及數據下載軟體安裝新建 rnaseq 分析環境conda env listconda create -n rnaseq -y安裝軟體# 激活rnaseq分析環境conda activate rnaseq# 安裝所需的軟體conda install -c biobuilds sra-tools -yconda install -c hcc aspera-cli -yconda install -c bioconda gffread -yconda install
  • 新司機帶你學RNA-Seq數據分析
    在R裡面使用Ballgown處理需要得到:而大多數的差異表達分析都會包括下面幾個步驟:數據可視化和檢查差異表達的統計分析多重檢驗校正下遊檢查和數據summaryBallgown包可以完成以上的幾個步驟並且可以聯合R語言的其它操作進行分析Ballgown使用:數據的讀入:需要將
  • C-Myc 與RNA-seq分析
    說到主題,RNA-seq, 一個2008年出現的技術,基於solexa測序,完成轉錄本(可以mRNA,也可以是non-coding RNA等)定量。這個技術相較於以往所用的microarray優勢明顯,可以不依賴參考基因組,還可以發現新的轉錄本等,成本也在隨著測序成本的降低而在降低,而且隨著單細胞轉錄組的測序發展,更極大的加深了我們對體內生物學過程的理解。
  • RNAseq常規主成分分析(PCA)不好看,可以這樣做
  • 差異分析|DESeq2完成配對樣本的差異分析
    考慮到平時limma和DESeq2包進行差異分析時沒有特別註明是否配對,這配對和非配對有啥區別呢?於是分別嘗試使用limma和DESeq2包的非配對分析,發現得到的差異基因和公司的差距很大。我查了好多關於RNA-seq配對分析的資料,發現幾乎沒有這方面的帖子。詢問公司DESeq配對分析的代碼,公司說保密不能給,此外公司還告知現在的配對樣本的分析都改用了DESeq2。好吧,那就只能自己動手,以下為探索過程的一個記錄。
  • RSEM:RNA-seq數據的一站式分析
    RNA-seq的目的就是確定樣本中基因的表達量,通過基因表達定量,可以比較同一個樣本中各個基因表達的高低,也可以鑑定在不同樣本間表達有差異的基因等。不管後續的分析目的是什麼,RNA-seq數據分析都必須先進行基因表達定量。最常用的RNA-seq表達定量的技術思路是先將測序得到的reads比對到參考基因組,然後再根據比對結果,結合參考基因組的注釋文件,得到每個基因的表達量。
  • RNA seq第十七講 | 全面而詳細!RNA-seq 數據分析最佳實戰
    一篇RNA-seq分析流程的綜述,全面而詳細!深度好文,可用來反覆閱讀。初學者用於把握RNA-seq真箇流程及各個流程選擇上的差異。已經開始學習者可用來查缺補漏和發現新的分析角度。其次研究者可以對感興趣的mRNA亞型表達或microRNA水平或等位變異分析。在此分析過程中可以只進行RNA-seq分析也可以聯合其他組學一起分析。不同的RNA-seq分析有不同的轉錄組定量,均一化以及差異表達分析,並且質控可確保結果的可重複性和可靠性。圖一為Illumina sequencing實驗設計、分析流程圖。
  • RNA-seq差異表達分析步驟
    ,這是RNA-seq數據分析中最為常規的任務。分析每一步,我們都會描述分析目的,一些典型的選項,輸入和輸出的文件,並指出可以找到詳細步驟的完整章節。我們希望提供整個RNA-seq數據分析流程的概述,以便使用者可以看到各個步驟間是如何相互關聯的。
  • R語言mRNA差異表達分析
    (1,9)) {metadata[i,2] <- "tumor"} if (num %in% seq(10,29)) {metadata[i,2] <- "normal"}}     打開基因數據這個文件夾 可以看到裡面有182個文件夾,每一個文件夾裡面還有1個壓縮文件。
  • 史上最全 | 39個RNAseq分析工具與對比
    這是一篇在NC上發表的使用RNAseq工具對比的一篇文獻,解讀這篇文獻對我們使用RNAseq發文提供了思路。下面小編具體解說一下。文獻摘要:RNA-sequencing(RNA-seq)是一個重要的轉錄組學研究技術,數百款分析工具目前已經開發出來。儘管最近相關研究評估了最新的可用的RNAseq工具,但他們沒有全面綜合的評估RNAseq分析的工作流。
  • RNA-seq數據分析最佳實踐調查
    儘管有些作者會爭辯說,在大多數真核轉錄組中只有500萬個定位的讀段足以準確定量中等至高度表達的基因,但另一些作者則將對多達1億個讀段進行測序,以精確定量表達水平較低的基因和轉錄段[ 7]。當研究樣本複雜度有限的單細胞時,定量通常只需要一百萬個讀數即可完成,但對於只有50,000個讀數的高表達基因來說,可以可靠地完成[ 8 ]。甚至有20,000個讀數已用於區分脾臟組織中的細胞類型[ 9 ]。
  • 使用salmon和sleuth進行小麥RNA-seq差異表達分析
    目前1.0版本的數據有如下幾個不足:首先,基因的3』和5』端比較短,沒有到頭;第二是,很多基因具有多個轉錄本,1.0給的比較少;第三,遺漏了不少轉錄本。具體到我們手裡的數據,我們可以採用以下做法。也即先找出自己數據中的新轉錄本或新基因,然後補充進參考轉錄組進行下一步的差異表達分析。這樣有利於發現數據中獨特的轉錄本或基因。
  • 計算差異表達分析方法(rna-seq)
    比較了11種RNA-seq數據的差異表達分析方法。
  • R包ggseqlogo 繪製seq logo圖
    簡介在生物信息分析中,經常會做序列分析圖(sequence logo),這裡的序列指的是核苷酸(DNA/RNA鏈中)或胺基酸(在蛋白質序列中)。
  • RNA-seq數據深度分析—motif的鑑定
    11個 隨著測序技術的飛速發展,RNA-seq在現在的我們實驗設計中,為了驗證基因表達水平,以及關聯基因的表達變化,越來越成為一個重要的part。通常來講,RNA-seq的差異基因表達分析按照前面已經寫過的流程進行。RNA-seq數據分析-reads mapping,RNA-seq數據分析-edgeR。
  • 【The Plant Cell 】玉米轉錄因子的RNA-seq和CHIP-seq聯合分析
    本研究採用RNA-seq和CHIP-seq分別從整個轉錄水平和全基因組水平研究Opaque2突變型玉米的表達情況並搜索O2在全基因組水平的DNA位點情況,聯合兩者分析可以揭示差異基因是否為O2所調控。3)信息分析 RNA-seq數據分析:mapping至玉米基因組(軟體TopHat2.0.6)、DEGs分析、LncRNA分析(軟體PhyloCSF) CHIP-seq數據分析
  • RNA-seq最強綜述名詞解釋&思維導圖|關於RNA-seq,你想知道的都在這(續)
    Short-read 短讀長:測序得到的長度最大是500 bp的reads,常見的測序片段長度為100-300 bp;本文中的短讀長測序片段代表測到的mRNA片段和降解了的mRNA。Long-read 長讀長:測序得到的超過1000 bp的reads,本文中代表全長或近乎全長的mRNA。
  • 【流程】使用limma、Glimma和edgeR,RNA-seq數據分析易如反掌
    摘要簡單且高效地分析RNA測序數據的能力是Bioconductor的核心優勢。RNA-seq分析通常從基因水平的序列計數開始,涉及到數據預處理,探索性數據分析,差異表達檢驗以及通路分析,得到的結果可用於指導進一步實驗和驗證研究。