如何火眼金睛鉴定那些单细胞转录组中的混杂因素
單細胞系列教程
收藏 北大生信平臺” 單細胞分析、染色質分析” 視頻和PPT分享
Science:?小鼠腎臟單細胞轉錄組+突變分析揭示腎病潛在的細胞靶標
10X單細胞測序分析軟件:Cell?ranger,從拆庫到定量
Hemberg-lab單細胞轉錄組數據分析(一)- 引言
Hemberg-lab單細胞轉錄組數據分析(二)- 實驗平臺
Hemberg-lab單細胞轉錄組數據分析(三)- 原始數據質控
Hemberg-lab單細胞轉錄組數據分析(四)- 文庫拆分和細胞鑒定
Hemberg-lab單細胞轉錄組數據分析(五)- STAR, Kallisto定量
Hemberg-lab單細胞轉錄組數據分析(六)- 構建表達矩陣,UMI介紹
Hemberg-lab單細胞轉錄組數據分析(七)- 導入10X和SmartSeq2數據Tabula Muris
Hemberg-lab單細胞轉錄組數據分析(八)- Scater包輸入導入和存儲
Hemberg-lab單細胞轉錄組數據分析(九)- Scater包單細胞過濾
Hemberg-lab單細胞轉錄組數據分析(十)- Scater基因評估和過濾
Hemberg-lab單細胞轉錄組數據分析(十一)- Scater單細胞表達譜PCA可視化
Hemberg-lab單細胞轉錄組數據分析(十二)- Scater單細胞表達譜tSNE可視化
單細胞分群后,怎么找到Marker基因定義每一類群?
DESeq2差異基因分析和批次效應移除
識別基因表達檢測影響因素
混雜因素簡介
scRNA-seq數據會受到一些人為因素、操作偏差、批次等因素的影響。scRNA-seq分析的一個挑戰是沒有辦法通過評估技術重復來區分生物和技術各自帶來的變化有多大比例。前面的分析,我們考慮了批次效應,下面我們看下還有沒有其它實驗因素會影響單細胞基因表達檢測并移除這些因素。scater包提供了一些評估實驗因素和生物因素對表達數據影響的檢測方法。我們用Blischak數據做例子展示其應用。
library(scater, quietly = TRUE) options(stringsAsFactors = FALSE) # umi <- readRDS("tung/umi.rds") # umi.qc <- umi[rowData(umi)$use, colData(umi)$use] #?endog_genes?<-?!rowData(umi.qc)$is_feature_controlumi_endog_genes?<-?!rowData(umi)$is_feature_control umi_endog <- umi[umi_endog_genes,] umi.qc <- umi[rowData(umi)$use, colData(umi)$use] umi_qc_endog_genes?<-?!rowData(umi.qc)$is_feature_control umi.qc_endog <- umi.qc[umi_qc_endog_genes,]umi.qc數據集包含質控過濾后的細胞和基因。下一步是探索技術因素導致的表達變化以應用于下游的基因表達標準化分析中。
與主成分的相關性
質控后數據集的PCA展示
# plotPCA( # umi.qc[endog_genes, ], # exprs_values = "logcounts_raw", # colour_by = "batch", # size_by = "total_features" # ) umi.qc_endog <- runPCA(umi.qc_endog, ncomponents=100, exprs_values = "logcounts_raw") scater::plotPCA(umi.qc_endog,by_exprs_values = "logcounts_raw",colour_by = "batch",size_by = "total_features_by_counts",shape_by = "individual" )scater通過構建線性模型判斷主成分與各個影響變量的相關性,從而判斷哪些實驗或質控變量導致細胞在主成分上的分布。
檢測到的基因數與主成分的關系
# plotQC( # umi.qc[umi_qc_endog_genes, ], # type = "find-pcs", # exprs_values = "logcounts_raw", # variable = "total_features" # ) umi.qc_endog <- runPCA(umi.qc_endog, ncomponents=500, exprs_values = "logcounts_raw") explanatoryPCs <- getExplanatoryPCs(umi.qc_endog, variables = "total_features_by_counts") #explanatoryPCs <- getExplanatoryPCs(umi.qc_endog) plotExplanatoryPCs(explanatoryPCs, nvars_to_plot = 5, npcs_to_plot = 10)確實,PC1幾乎完全可以被檢測到的基因數解釋。從上面PCA圖的結果也可以看出,延PC1從左至右,細胞檢測到的基因數整體逐步降低的趨勢。這也是scRNA-seq一個已經知道的現象,具體見http://biorxiv.org/content/early/2015/12/27/025528.
Explanatory variables (解釋變量)
scater也可以把質控變量與所有基因分別進行線性模型擬合獲取其邊際?(marginal)?,繪制其概率密度分布圖譜。
# umi.qc_endog <- normalize(umi.qc_endog) ExplanatoryVariable <- getVarianceExplained(umi.qc_endog, exprs_values = "logcounts_raw",variables=c("total_features_by_counts","total_counts","batch","individual","pct_counts_MT","pct_counts_ERCC")) plotExplanatoryVariables(ExplanatoryVariable)# plotQC( # umi.qc[endog_genes, ], # type = "expl", # exprs_values = "logcounts_raw", # variables = c( # "total_features", # "total_counts", # "batch", # "individual", # "pct_counts_ERCC", # "pct_counts_MT" # ) # )結果顯示檢測到的基因數(total_features_by_counts)和測序深度 (total_counts)對基因表達的貢獻度很大。因此在基因表達標準化過程中需要考慮移除這些因素的影響或整合到下游的統計分析模型中。ERCC的表達也是重要的解釋變量,另外一個顯著的特征是batch比individual更多解釋基因表達的差異。
其他影響因素
除了考慮校正批次影響?(依賴于實驗記錄的外部信息),還有其他技術因子需要考慮如何進行抵消。一個常用方法是scLVM (https://github.com/PMBio/scLVM)?是允許識別和移除細胞周期或程序性死亡引入的影響。(Seurat+Scran也可以)
另外,不同的實驗方案對轉錄本的覆蓋偏好也不同,這一偏好依賴于A/T的平均含量或短的轉錄本的捕獲能力。理想情況下,我們需要消除這些所有的差異和偏差。
往期精品(點擊圖片直達文字對應教程)
后臺回復“生信寶典福利第一波”或點擊閱讀原文獲取教程合集
總結
以上是生活随笔為你收集整理的如何火眼金睛鉴定那些单细胞转录组中的混杂因素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 太省事了!高分SCI全套优质模板下载
- 下一篇: 给大家推荐9个专业分享生信技术的公众号