使用Signac包進行單細胞ATAC-seq數據分析(二):Motif analysis with Signac

在本教程中,我們將學習使用Signac包進行DNA序列的motif富集分析仔蝌。Signac包可以使用兩種互補的方法進行motif分析:一種是通過在一組差異可及性peaks中找到overrepresented的基序motifs揩魂,另一種是在不同細胞組之間執(zhí)行差異基序活性(motif activity)分析的方法剂邮。

安裝并加載所需的R包

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("JASPAR2018")
BiocManager::install("TFBSTools")

library(Signac)
library(Seurat)
library(JASPAR2018)
library(TFBSTools)
library(BSgenome.Mmusculus.UCSC.mm10)
library(patchwork)
set.seed(1234)

加載所需的數據集

mouse_brain <- readRDS("../vignette_data/adult_mouse_brain.rds")
mouse_brain
## An object of class Seurat 
## 178653 features across 3503 samples within 2 assays 
## Active assay: peaks (157203 features, 157203 variable features)
##  1 other assay present: RNA
##  2 dimensional reductions calculated: lsi, umap

p1 <- DimPlot(mouse_brain, label = TRUE, pt.size = 0.1) + NoLegend()
p1
image

構建Motif類

為了有助于Signac進行motif富集分析呜笑,我們需要創(chuàng)建一個Motif類來存儲所有必需的信息,其中包括位置權重矩陣(PWM)或位置頻率矩陣(PFM)的列表以及motif出現矩陣殖熟。在這里局待,我們構造了一個Motif對象,并將其添加到我們的小鼠大腦數據集中吗讶×敲停可以使用AddMotifObject函數將motif對象添加到Seurat對象的assay中:

# Get a list of motif position frequency matrices from the JASPAR database
# 使用getMatrixSet函數從JASPAR數據庫中提取Motif的PFM矩陣信息
pfm <- getMatrixSet(
  x = JASPAR2018,
  opts = list(species = 9606, all_versions = FALSE)
)

# Scan the DNA sequence of each peak for the presence of each motif
# 使用CreateMotifMatrix函數構建Motif矩陣對象
motif.matrix <- CreateMotifMatrix(
  features = StringToGRanges(rownames(mouse_brain), sep = c(":", "-")),
  pwm = pfm,
  genome = 'mm10',
  sep = c(":", "-"),
  use.counts = FALSE
)

# Create a new Mofif object to store the results
# 使用CreateMotifObject函數構建Motif對象
motif <- CreateMotifObject(
  data = motif.matrix,
  pwm = pfm
)

# Add the Motif object to the assay
# 使用AddMotifObject函數將Motif類添加到Seurat對象中
mouse_brain[['peaks']] <- AddMotifObject(
  object = mouse_brain[['peaks']],
  motif.object = motif
)

為了找出overrepresented的motifs基序,我們還需要計算peaks的一些序列特征照皆,例如GC含量,序列長度和二核苷酸頻率沸停。我們可以使用RegionStats函數計算這些信息膜毁,并將結果存儲在Seurat對象的元數據中。

# 使用RegionStats函數計算peaks區(qū)域的序列特生
mouse_brain <- RegionStats(
  object = mouse_brain,
  genome = BSgenome.Mmusculus.UCSC.mm10,
  sep = c(":", "-")
)

Finding overrepresented motifs

為了鑒定出潛在的重要細胞類型特異性調控序列愤钾,我們可以富集出在不同細胞類型之間差異可及性的peaks中overrepresented的DNA基序瘟滨。
這里,我們首先鑒定出Pvalb和Sst細胞類群之間的差異可及性peaks能颁。然后杂瘸,對它們進行一次超幾何測試檢驗,以檢驗在給定頻率下偶然觀察到基序的可能性伙菊,并與GC含量匹配的背景峰進行比較败玉。

# 使用FindMarkers函數鑒定差異可及性peaks
da_peaks <- FindMarkers(
  object = mouse_brain,
  ident.1 = 'Pvalb',
  ident.2 = 'Sst',
  only.pos = TRUE,
  test.use = 'LR',
  latent.vars = 'nCount_peaks'
)

# Test the differentially accessible peaks for overrepresented motifs
# 使用FindMotifs函數進行motif富集分析
enriched.motifs <- FindMotifs(
  object = mouse_brain,
  features = head(rownames(da_peaks), 1000)
)

# 查看motif富集分析的結果
# sort by p-value and fold change
enriched.motifs <- enriched.motifs[order(enriched.motifs[, 7], -enriched.motifs[, 6]), ]
head(enriched.motifs)
##             motif observed background percent.observed percent.background
## MA0497.1 MA0497.1      431       9019             43.1            22.5475
## MA1151.1 MA1151.1      226       3227             22.6             8.0675
## MA0773.1 MA0773.1      304       5421             30.4            13.5525
## MA0072.1 MA0072.1      218       3160             21.8             7.9000
## MA0052.3 MA0052.3      315       5844             31.5            14.6100
## MA1150.1 MA1150.1      211       3108             21.1             7.7700
##          fold.enrichment       pvalue  motif.name
## MA0497.1        1.911520 1.549646e-48       MEF2C
## MA1151.1        2.801363 5.818264e-47        RORC
## MA0773.1        2.243129 1.365161e-44       MEF2D
## MA0072.1        2.759494 4.091607e-44 RORA(var.2)
## MA0052.3        2.156057 6.539737e-43       MEF2A
## MA1150.1        2.715573 1.600301e-41        RORB

我們還可以使用MotifPlot函數繪制motif的位置權重矩陣敌土,可視化不同的motif序列。

MotifPlot(
  object = mouse_brain,
  motifs = head(rownames(enriched.motifs))
)
image

Computing motif activities

我們還可以通過運行chromVAR計算每個細胞的基序活性得分(motif activity score)运翼,這樣我們可以查看每個細胞的motif activities返干,并且還提供了一種識別細胞類型之間差異激活的基序的替代方法。ChromVAR可識別與細胞之間染色質可及性變異相關的基序血淌,有關該方法的完整說明矩欠,請參見chromVAR的說明文檔

# 使用RunChromVAR函數計算所有細胞中的motif activities
mouse_brain <- RunChromVAR(
  object = mouse_brain,
  genome = BSgenome.Mmusculus.UCSC.mm10
)

DefaultAssay(mouse_brain) <- 'chromvar'

# look at the activity of Mef2c, the top hit from the overrepresentation testing
p2 <- FeaturePlot(
  object = mouse_brain,
  features = rownames(enriched.motifs)[[1]],
  min.cutoff = 'q10',
  max.cutoff = 'q90',
  pt.size = 0.1
)
p1 + p2
image

我們還可以直接測試不同細胞類型之間motif的差異活性得分悠夯,這和對不同細胞類型之間的差異可及性peaks進行富集測試的結果相類似癌淮。

differential.activity <- FindMarkers(
  object = mouse_brain,
  ident.1 = 'Pvalb',
  ident.2 = 'Sst',
  only.pos = TRUE,
  test.use = 'LR',
  latent.vars = 'nCount_peaks'
)

# 使用MotifPlot函數對富集到的motif進行可視化
MotifPlot(
  object = mouse_brain,
  motifs = head(rownames(differential.activity)),
  assay = 'peaks'
)
image

參考來源:https://satijalab.org/signac/articles/motif_vignette.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末丁频,一起剝皮案震驚了整個濱河市匠题,隨后出現的幾起案子,更是在濱河造成了極大的恐慌地啰,老刑警劉巖策彤,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栓袖,死亡現場離奇詭異,居然都是意外死亡店诗,警方通過查閱死者的電腦和手機裹刮,發(fā)現死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庞瘸,“玉大人捧弃,你說我怎么就攤上這事〔聊遥” “怎么了违霞?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長瞬场。 經常有香客問我买鸽,道長,這世上最難降的妖魔是什么贯被? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任眼五,我火速辦了婚禮,結果婚禮上彤灶,老公的妹妹穿的比我還像新娘看幼。我一直安慰自己,他們只是感情好幌陕,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布诵姜。 她就那樣靜靜地躺著,像睡著了一般搏熄。 火紅的嫁衣襯著肌膚如雪棚唆。 梳的紋絲不亂的頭發(fā)上暇赤,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機與錄音瑟俭,去河邊找鬼翎卓。 笑死,一個胖子當著我的面吹牛摆寄,可吹牛的內容都是我干的失暴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼微饥,長吁一口氣:“原來是場噩夢啊……” “哼逗扒!你這毒婦竟也來了?” 一聲冷哼從身側響起欠橘,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤矩肩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肃续,有當地人在樹林里發(fā)現了一具尸體黍檩,經...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年始锚,在試婚紗的時候發(fā)現自己被綠了刽酱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞧捌,死狀恐怖棵里,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情姐呐,我是刑警寧澤殿怜,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站曙砂,受9級特大地震影響头谜,放射性物質發(fā)生泄漏。R本人自食惡果不足惜鸠澈,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一乔夯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧款侵,春花似錦、人聲如沸侧纯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽眶熬。三九已至妹笆,卻和暖如春块请,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拳缠。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工墩新, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人窟坐。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓海渊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親哲鸳。 傳聞我的和親對象是個殘疾皇子臣疑,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內容