單細(xì)胞|RNA-seq & ATAC-seq 聯(lián)合分析

引言

本文將介紹如何利用SignacSeurat這兩個(gè)工具私杜,對(duì)一個(gè)同時(shí)記錄了DNA可接觸性和基因表達(dá)的單細(xì)胞數(shù)據(jù)集進(jìn)行綜合分析救欧。我們將以一個(gè)公開的10x Genomics Multiome數(shù)據(jù)集為例笆怠,該數(shù)據(jù)集針對(duì)的是人體的外周血單核細(xì)胞誊爹。

數(shù)據(jù)準(zhǔn)備

library(Signac)
library(Seurat)
library(EnsDb.Hsapiens.v86)
library(BSgenome.Hsapiens.UCSC.hg38)

# load the RNA and ATAC data
counts <- Read10X_h5("../vignette_data/multiomic/pbmc_granulocyte_sorted_10k_filtered_feature_bc_matrix.h5")
fragpath <- "../vignette_data/multiomic/pbmc_granulocyte_sorted_10k_atac_fragments.tsv.gz"

# get gene annotations for hg38
annotation <- GetGRangesFromEnsDb(ensdb = EnsDb.Hsapiens.v86)
seqlevels(annotation) <- paste0('chr', seqlevels(annotation))

# create a Seurat object containing the RNA adata
pbmc <- CreateSeuratObject(
  counts = counts$`Gene Expression`,
  assay = "RNA"
)

# create ATAC assay and add it to the object
pbmc[["ATAC"]] <- CreateChromatinAssay(
  counts = counts$Peaks,
  sep = c(":", "-"),
  fragments = fragpath,
  annotation = annotation
)

pbmc

質(zhì)控

我們可以通過DNA可及性數(shù)據(jù)來評(píng)估每個(gè)細(xì)胞的質(zhì)量控制指標(biāo),并排除那些指標(biāo)異常的細(xì)胞办成。此外,對(duì)于那些在RNA或ATAC檢測中計(jì)數(shù)特別低或特別高的細(xì)胞某弦,我們也會(huì)進(jìn)行剔除而克。

DefaultAssay(pbmc) <- "ATAC"

pbmc <- NucleosomeSignal(pbmc)
pbmc <- TSSEnrichment(pbmc)

對(duì)象數(shù)據(jù)中變量之間的相互關(guān)系可以通過 DensityScatter() 函數(shù)來直觀展示员萍。此外,設(shè)置 quantiles=TRUE 選項(xiàng)螃壤,可以幫助我們迅速確定不同質(zhì)量控制指標(biāo)的適宜閾值筋帖。

DensityScatter(pbmc, x = 'nCount_ATAC', y = 'TSS.enrichment', log_x = TRUE, quantiles = TRUE)
VlnPlot(
  object = pbmc,
  features = c("nCount_RNA", "nCount_ATAC", "TSS.enrichment", "nucleosome_signal"),
  ncol = 4,
  pt.size = 0
)
# filter out low quality cells
pbmc <- subset(
  x = pbmc,
  subset = nCount_ATAC < 100000 &
    nCount_RNA < 25000 &
    nCount_ATAC > 1800 &
    nCount_RNA > 1000 &
    nucleosome_signal < 2 &
    TSS.enrichment > 1
)
pbmc

基因表達(dá)數(shù)據(jù)處理

我們可以使用 SCTransform 對(duì)基因表達(dá)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化蚁滋,并使用 PCA 降低維度赘淮。

DefaultAssay(pbmc) <- "RNA"
pbmc <- SCTransform(pbmc)
pbmc <- RunPCA(pbmc)

DNA可及性數(shù)據(jù)處理

在這里,我們通過執(zhí)行潛在語義索引 ( LSI )走诞,以處理 scATAC-seq 數(shù)據(jù)集的相同方式處理 DNA 可及性檢測蛤高。

DefaultAssay(pbmc) <- "ATAC"
pbmc <- FindTopFeatures(pbmc, min.cutoff = 5)
pbmc <- RunTFIDF(pbmc)
pbmc <- RunSVD(pbmc)

注釋細(xì)胞類型

為了注釋數(shù)據(jù)集中的細(xì)胞類型,我們可以使用 Seurat 包中的工具塞绿,將細(xì)胞標(biāo)簽從現(xiàn)有的 PBMC 參考數(shù)據(jù)集中轉(zhuǎn)移過來恤批。

我們將使用 Hao 等人(2020年)的注釋 PBMC 參考數(shù)據(jù)集,可以從這里下載:https://atlas.fredhutch.org/data/nygc/multimodal/pbmc_multimodal.h5seurat

請(qǐng)注意诀浪,加載參考數(shù)據(jù)集需要安裝 SeuratDisk 包。

library(SeuratDisk)

# load PBMC reference
reference <- LoadH5Seurat("../vignette_data/multiomic/pbmc_multimodal.h5seurat", assays = list("SCT" = "counts"), reductions = 'spca')
reference <- UpdateSeuratObject(reference)

DefaultAssay(pbmc) <- "SCT"

# transfer cell type labels from reference to query
transfer_anchors <- FindTransferAnchors(
  reference = reference,
  query = pbmc,
  normalization.method = "SCT",
  reference.reduction = "spca",
  recompute.residuals = FALSE,
  dims = 1:50
)

predictions <- TransferData(
  anchorset = transfer_anchors, 
  refdata = reference$celltype.l2,
  weight.reduction = pbmc[['pca']],
  dims = 1:50
)

pbmc <- AddMetaData(
  object = pbmc,
  metadata = predictions
)

# set the cell identities to the cell type predictions
Idents(pbmc) <- "predicted.id"

# remove low-quality predictions
pbmc <- pbmc[, pbmc$prediction.score.max > 0.5]

聯(lián)合 UMAP 可視化

使用 Seurat v4 中的加權(quán)最近鄰方法睛竣,我們可以計(jì)算代表基因表達(dá)和 DNA 可及性測量的UMAP圖射沟。

# build a joint neighbor graph using both assays
pbmc <- FindMultiModalNeighbors(
  object = pbmc,
  reduction.list = list("pca", "lsi"), 
  dims.list = list(1:50, 2:40),
  modality.weight.name = "RNA.weight",
  verbose = TRUE
)

# build a joint UMAP visualization
pbmc <- RunUMAP(
  object = pbmc,
  nn.name = "weighted.nn",
  assay = "RNA",
  verbose = TRUE
)

DimPlot(pbmc, label = TRUE, repel = TRUE, reduction = "umap") + NoLegend()

將峰與基因聯(lián)系起來

為了找到可能調(diào)控每個(gè)基因的峰值集合躏惋,我們可以計(jì)算基因表達(dá)與其附近峰值可及性之間的相關(guān)性嚷辅,并校正由于 GC 含量、整體可及性和峰值大小引起的偏差簸搞。

在整個(gè)基因組上執(zhí)行這一步驟可能非常耗時(shí),因此我們在這里以部分基因?yàn)槔虺穑故痉?基因鏈接寺擂。通過省略 genes.use 參數(shù),可以使用相同的函數(shù)來找到所有基因的鏈接:

DefaultAssay(pbmc) <- "ATAC"

# first compute the GC content for each peak
pbmc <- RegionStats(pbmc, genome = BSgenome.Hsapiens.UCSC.hg38)

# link peaks to genes
pbmc <- LinkPeaks(
  object = pbmc,
  peak.assay = "ATAC",
  expression.assay = "SCT",
  genes.use = c("LYZ", "MS4A1")
)

我們可以使用 CoveragePlot() 函數(shù)可視化這些鏈接垦细,或者我們可以在交互式分析中使用 CoverageBrowser() 函數(shù):

idents.plot <- c("B naive", "B intermediate", "B memory",
                 "CD14 Mono", "CD16 Mono", "CD8 TEM", "CD8 Naive")

p1 <- CoveragePlot(
  object = pbmc,
  region = "MS4A1",
  features = "MS4A1",
  expression.assay = "SCT",
  idents = idents.plot,
  extend.upstream = 500,
  extend.downstream = 10000
)

p2 <- CoveragePlot(
  object = pbmc,
  region = "LYZ",
  features = "LYZ",
  expression.assay = "SCT",
  idents = idents.plot,
  extend.upstream = 8000,
  extend.downstream = 5000
)

patchwork::wrap_plots(p1, p2, ncol = 1)

本文由mdnice多平臺(tái)發(fā)布

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末括改,一起剝皮案震驚了整個(gè)濱河市嘱能,隨后出現(xiàn)的幾起案子虱疏,更是在濱河造成了極大的恐慌,老刑警劉巖做瞪,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穿扳,死亡現(xiàn)場離奇詭異,居然都是意外死亡茫死,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門峦萎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爱榔,“玉大人糙及,你說我怎么就攤上這事〗牵” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵迟郎,是天一觀的道長聪蘸。 經(jīng)常有香客問我,道長控乾,這世上最難降的妖魔是什么浑劳? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮衷咽,結(jié)果婚禮上蒜绽,老公的妹妹穿的比我還像新娘。我一直安慰自己躲雅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布慰于。 她就那樣靜靜地躺著,像睡著了一般婆赠。 火紅的嫁衣襯著肌膚如雪佳励。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天妙黍,我揣著相機(jī)與錄音瞧剖,去河邊找鬼。 笑死噩凹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的驮宴。 我是一名探鬼主播呕缭,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼迎罗!你這毒婦竟也來了片仿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤厢岂,失蹤者是張志新(化名)和其女友劉穎阳距,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筐摘,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年圃酵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荸镊。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡堪置,死狀恐怖舀锨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情坎匿,我是刑警寧澤雷激,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站承桥,受9級(jí)特大地震影響根悼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挤巡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喉恋。 院中可真熱鬧母廷,春花似錦、人聲如沸徘意。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蟋座,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間向臀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工君纫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芹彬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓会喝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肢执。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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