Seurat DEG로 VolcanoPlot그리기: 간단버전
오늘은 Seurat에서 FindMarker로 DEG구하고, volcano plot그리는 간단한 작업을 아카이브해보려함
Differentially Expressed Genes 구하기
보통 Seurat object에서 가장 간단하게 DEG구하는 방법은 FindMarker()
function을 사용하는 것!
아무런 옵션변경 없이 기본옵션으로 ident.1
, ident.2
정도만 설정해서 구하게 되면 pct(몇프로나 발현되는지)나 logFC threshold에 걸려서 전체 유전자에 대한 결과값을 얻지 못하기 때문에 제대로된 volcano plot이나 MA plot을 그릴수 없다.
따라서 반드시 min.pct=0
& logfc.threshold=-Inf
으로 설정해줘야 그림을 그릴수 있음
1
2
de <- FindMarkers(seurat.obj, ident.1 = "treated", ident.2 = "ctrl", test.use = "MAST",min.pct =0,logfc.threshold=-Inf)
# write.table(de, paste0("deg.txt"), sep='\t')
Volcano plot 그리기 : EnhancedVolcano()
R package중에 EnhancedVolcano
라고 DEG결과만 있으면 알아서 예쁘게 그려주는 package가 있음 세상 좋아졌다
1
2
# Installation
BiocManager::install("EnhancedVolcano")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
nono <- rownames(markers.old[markers.old$avg_log2FC<1 & markers.old$avg_log2FC>-1,])
old_up_deg <- rownames(markers.old[markers.old$avg_log2FC > 0 & markers.old$p_val_adj < 0.05, ])
old_down_deg <- rownames(markers.old[markers.old$avg_log2FC < 0 & markers.old$p_val_adj < 0.05, ])
markers.old$color <- "#E5E4E2"
markers.old$color[rownames(markers.old) %in% old_up_deg] <- "#FF9999"
markers.old$color[rownames(markers.old) %in% old_down_deg] <- "#7199EB"
markers.old$color[rownames(markers.old) %in% rownames(old_specific_up_deg)] <- "#EE2E31"
markers.old$color[rownames(markers.old) %in% rownames(old_specific_down_deg)] <- "#004F98"
markers.old$color[rownames(markers.old) %in% nono] <- "#E5E4E2"
colors <- markers.old$color
names(colors)[colors=="#E5E4E2"] <- "Not sig."
names(colors)[colors=="#FF9999"] <- "sig.up"
names(colors)[colors=="#7199EB"] <- "sig.down"
names(colors)[colors=="#EE2E31"] <- "Old.specific.sig.up"
names(colors)[colors=="#004F98"] <- "Old.specific.sig.down"
EnhancedVolcano(markers.old, rownames(markers.old), x ="avg_log2FC", y ="p_val_adj",
pCutoff = 0.05, FCcutoff = 1,
selectLab = rownames(markers.old)[which(names(colors) %in% c('Old.specific.sig.up', 'Old.specific.sig.down'))],
ylab = bquote('-'~Log[10]~ 'FDR'),
xlab = bquote('avg' ~Log[2]~ 'fold change'),
title="Old group: Wilcox", subtitle = "Infected - Ctrl",
colCustom = colors)
ggsave("Old.Vol.colored.png", width=10, height=15)
Results
끝
This post is licensed under CC BY 4.0 by the author.