一邊學(xué)習(xí),一邊總結(jié),一邊分享营袜!
教程圖形
前言
最近的事情較多炕泳,教程更新實(shí)在是跟不上,主要原因是自己沒(méi)有太多時(shí)間來(lái)學(xué)習(xí)和整理相關(guān)的內(nèi)容勺美。一般在下半年基本都是非常忙,所有一個(gè)人的精力和時(shí)間有限,只能顧一方面杠袱。所以,長(zhǎng)時(shí)間不更新是很正常的窝稿,若在看本教程的你楣富,若有愿意分享的教程,可以投稿伴榔,我們也歡迎投稿纹蝴。
今天,來(lái)分享一下近兩天自己的學(xué)習(xí)筆記踪少。火山圖塘安,此圖也是實(shí)用性很強(qiáng),80%的同學(xué)應(yīng)該可以用得到援奢,今天分享的只是學(xué)習(xí)筆記的一部分兼犯,后面會(huì)逐漸完善。既然是學(xué)習(xí)筆記集漾,那么我們也有參考的教程切黔,我們也會(huì)再文末附上參考的教程,大家也可以直接到對(duì)應(yīng)教程中學(xué)習(xí)帆竹。
設(shè)置路勁
setwd("E:\\小杜的生信筆記\\2023\\20231117-火山圖")
rm(list = ls())
加載相關(guān)包
library(ggplot2)
library(RColorBrewer)
library(ggrepel)
library(RUnit)
library(ggforce)
library(tidyverse)
library(ggpubr)
library(ggprism)
library(paletteer)
1绕娘、加載及處理數(shù)據(jù)
加載數(shù)據(jù)
df <- read.csv("all.limmaOut.csv",header = T,row.names = 1)
head(df)
1.2 數(shù)據(jù)分類
使用runif
對(duì)添加數(shù)據(jù)logCMP
,用于后續(xù)的分析
df$logCMP <- stats::runif(12035, 0, 16)
對(duì)數(shù)據(jù)進(jìn)行Up
和Down
分類
分類標(biāo)準(zhǔn):
- P值小于0.05
- |logFC| >= 1
篩選標(biāo)準(zhǔn)可以進(jìn)行自己的需求進(jìn)行設(shè)置
##'@判斷基因up or down
df$Group <- factor(ifelse(df$P.Value < 0.05 & abs(df$logFC) >= 1,
ifelse(df$logFC >= 1, 'Up','Down'),'NotSignifi'))
df[1:10,1:8]
table(df$Group)
添加基因名栽连,用于后續(xù)的火山圖顯示基因名使用
df$gene <- row.names(df)
1.3 設(shè)置主題
可根據(jù)自己需求進(jìn)行設(shè)置险领,或是統(tǒng)一在這里設(shè)置即可。
##'@主題
mytheme <- theme(panel.background = element_rect(fill = NA),
plot.margin = margin(t=10,r=10,b=5,l=5,unit = "mm"),
# axis.ticks.y = element_blank(),
axis.ticks.x = element_line(colour = "grey40",size = 0.5),
axis.line = element_line(colour = "grey40",size = 0.5),
axis.text.x = element_text(size = 10),
axis.title.x = element_text(size = 12),
panel.grid.major.y = element_line(colour = NA,size = 0.5),
panel.grid.major.x = element_blank())
2 繪制基礎(chǔ)差異基因火山圖
2.1 繪制基礎(chǔ)圖形
####'@繪制基礎(chǔ)圖形
ggplot(df, aes(x = logFC, y = -log10(P.Value), colour = Group))+
geom_point(size =4, shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡秒紧,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
ylab('-log10 (Pvalue)')+
xlab('log2 (FoldChange)')+
## 增加橫豎線條
geom_vline(xintercept = c(-1,1),lty = 2, col = "black", lwd = 0.5)+
geom_hline(yintercept = -log10(0.05), lty = 2, col = "black", lwd = 0.5)
難點(diǎn)代碼解讀
1.增加橫豎線條
geom_vline()
添加垂直輔助線,xintercept
表示輔助線的位置绢陌,lty
表示線的類型(虛-實(shí)),col
表示線的顏色熔恢,lwd
表示線的粗細(xì)
geom_hline()
添加水平輔助線脐湾,yintercept
表示輔助線的位置,lty
表示線的類型(虛-實(shí))叙淌,col
表示線的顏色秤掌,lwd
表示線的粗細(xì)
2.2 設(shè)置火山圖散點(diǎn)的大小
在上面的圖形中愁铺,火山圖中所有的使用size = logCMP
進(jìn)行修改
ggplot(df, aes(x = logFC, y = -log10(P.Value), size = logCMP,colour = Group))+
geom_point(shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
ylab('-log10 (Pvalue)')+
xlab('log2 (FoldChange)')+
## 增加橫豎線條
geom_vline(xintercept = c(-1,1),lty = 2, col = "black", lwd = 0.5)+
geom_hline(yintercept = -log10(0.05), lty = 2, col = "black", lwd = 0.5)
2.2 調(diào)整火山圖的X軸坐標(biāo)
調(diào)整X軸的取值范圍
有時(shí)候闻鉴,我們?cè)诶L制火山圖時(shí)茵乱,會(huì)出現(xiàn)X或Y軸坐標(biāo)較大的現(xiàn)象,對(duì)火山圖整體美觀性較差孟岛,那么適當(dāng)限制基因調(diào)整圖形美觀.
###'@查看差異基因最大值是多少
###'@此步根據(jù)自己的火山圖進(jìn)行設(shè)置是否有需要設(shè)置
max(abs(df$logFC))
使用xlim()
函數(shù)進(jìn)行修改
ggplot(df, aes(x = logFC, y = -log10(P.Value), size = logCMP,colour = Group))+
geom_point(shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡瓶竭,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
ylab('-log10 (Pvalue)')+
xlab('log2 (FoldChange)')+
## 增加橫豎線條
geom_vline(xintercept = c(-1,1),lty = 2, col = "black", lwd = 0.5)+
geom_hline(yintercept = -log10(0.05), lty = 2, col = "black", lwd = 0.5)+
##設(shè)置X軸的取值范圍
xlim(c(-1.5,1.5))
2.3 修改圖中圖例
使用ggplot()
繪圖最方便就是修改圖形或調(diào)整圖形很方便,但是很多時(shí)間都需要我們自己不斷的練習(xí)渠羞,加深自己印象斤贰。
使用label()
修改圖中標(biāo)題和圖例
ggplot(df, aes(x = logFC, y = -log10(P.Value), size = logCMP,colour = Group))+
geom_point( shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
# ylab('-log10 (Pvalue)')+
# xlab('log2 (FoldChange)')+
labs(x = 'log2 (FoldChange)',
y = '-log10 (Pvalue)',
## 圖例
fill = "",
size = "")+
# ## 增加橫豎線條
geom_vline(xintercept = c(-1,1),lty = 2, col = "black", lwd = 0.5)+
geom_hline(yintercept = -log10(0.05), lty = 2, col = "black", lwd = 0.5)+
## 設(shè)置主題
theme_classic(
base_line_size = 0.8 ## 設(shè)置坐標(biāo)軸的粗細(xì)
)+
## 設(shè)置圖例大小
guides(fill = guide_legend(override.aes = list(size = 8)))
2.4 添加基因名
使用一下命令添加標(biāo)記基因名字
#'@添加關(guān)注的點(diǎn)的基因名
geom_text_repel(
data = df[df$P.Value < 0.05 & abs(df$logFC) > 1,],
aes(label = gene),
size = 4.5,
color = "black",
segment.color = "black", show.legend = FALSE)
ggplot(df, aes(x = logFC, y = -log10(P.Value), size = logCMP,colour = Group))+
geom_point( shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡次询,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
ylab('-log10 (Pvalue)')+
xlab('log2 (FoldChange)')+
#'@添加關(guān)注的點(diǎn)的基因名
geom_text_repel(
data = df[df$P.Value < 0.05 & abs(df$logFC) > 1,],
aes(label = gene),
size = 4.5,
color = "black",
segment.color = "black", show.legend = FALSE)+
# ## 增加橫豎線條
geom_vline(xintercept = c(-1,1),lty = 2, col = "black", lwd = 0.5)+
geom_hline(yintercept = -log10(0.05), lty = 2, col = "black", lwd = 0.5)+
## 設(shè)置主題
theme_classic(
base_line_size = 0.8 ## 設(shè)置坐標(biāo)軸的粗細(xì)
)+
## 設(shè)置圖例大小
guides(fill = guide_legend(override.aes = list(size = 8)))
2.5 圖形美化
ggplot(df, aes(x = logFC, y = -log10(P.Value), size = logCMP,colour = Group))+
geom_point( shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡荧恍,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
ylab('-log10 (Pvalue)')+
xlab('log2 (FoldChange)')+
#'@添加關(guān)注的點(diǎn)的基因名
geom_text_repel(
data = df[df$P.Value < 0.05 & abs(df$logFC) > 1,],
aes(label = gene),
size = 3.5,
color = "black",
segment.color = "black", show.legend = FALSE)+
# ## 增加橫豎線條
geom_vline(xintercept = c(-1,1),lty = 2, col = "black", lwd = 0.5)+
geom_hline(yintercept = -log10(0.05), lty = 2, col = "black", lwd = 0.5)+
## 設(shè)置主題
theme_classic(
base_line_size = 0.8 ## 設(shè)置坐標(biāo)軸的粗細(xì)
)+
## 設(shè)置圖例大小
guides(fill = guide_legend(override.aes = list(size = 5)))+
mytheme
##設(shè)置主題
# theme(axis.title.x = element_text(color = "black",
# size = 10,
# face = "bold"),
# axis.title.y = element_text(color = "black",
# size = 10),
# ##'@設(shè)置圖例
# legend.text = element_text(color = "red",
# size = 8,
# face = "bold"))
解讀
theme(axis.title.x = element_text(color = "black",
size = 10,
face = "bold"),
axis.title.y = element_text(color = "black",
size = 10),
##'@設(shè)置圖例
legend.text = element_text(color = "red",
size = 8,
face = "bold"))
- X軸、Y軸字體調(diào)整
axis.title.x
/axis.title.y
color
渗蟹、size
块饺、bold
表示;顏色雌芽、大小授艰、加粗 - 圖例
legend.text
3 漸變火山圖繪制
該教程在前面的文章中已經(jīng)發(fā)出,感興趣的可以自己查看世落。教程鏈接差異表達(dá)基因火山圖繪制
3.1 數(shù)據(jù)處理
head(df)
把各列數(shù)據(jù)整理成畫(huà)圖所需的格式
### Score列淮腾、或是DESep輸出數(shù)據(jù)
fc <- df$AveExpr
head(fc)
names(fc) <- rownames(dat) ## 匹配數(shù)據(jù)
### -log10P列
p <- dat$`-log10P`
names(p) <- names(dat)
3.2 自定義顏色
mycol <- c("#B2DF8A","#FB9A99","#33A02C","#E31A1C","#B15928","#6A3D9A","#CAB2D6","#A6CEE3","#1F78B4","#FDBF6F","#999999","#FF7F00")
cols.names <- unique(df$Group)
cols.code <- mycol[1:length(cols.names)]
names(cols.code) <- cols.names
col <- paste(cols.code[as.character(df$Group)],"BB", sep="")
i <- df$Group %in% c("Up","Not","Down")
###'@-log10P列
p <- -log10(df$P.Value)
names(p) <- names(df)
###'@size列
size = df$logCMP
names(size) <- rownames(df)
###'@pval列
pp <- df$P.Value
names(pp) <- rownames(df)
3.3 繪圖
plot(df, p, log = 'y',
col = paste(cols.code[as.character(df$logCMP)], "BB", sep = ""),
pch = 16,
# ylab = bquote(~Log[10]~"P value"),
# xlab = "Enrich score",
# 用小泡泡畫(huà)不感興趣的pathway
cex = ifelse(i, size,1)
)
# 添加橫線
abline(h=1/0.05, lty=2, lwd=1)
abline(h=1/max(pp[which(p.adjust(pp, "bonf") < 0.001)]), lty=3, lwd=1) #標(biāo)黑圈和文字的閾值
# 添加豎線
abline(v=-0.5, col="blue", lty=2, lwd=1)
abline(v=0.5, col="red", lty=2, lwd=1
w <- which(p.adjust(pp,"bonf") < 0.001) #bonferroni correction
points(fc[w], p[w], pch=1, cex=ifelse(i[w], dat[w,"size"],1))
## Add an alpha value to a colour
add.alpha <- function(col, alpha=1){
if(missing(col))
stop("Please provide a vector of colours.")
apply(sapply(col, col2rgb)/255, 2,
function(x)
rgb(x[1], x[2], x[3], alpha=alpha))
}
## 標(biāo)記最顯著的基因
cols.alpha <- add.alpha(cols.code[dat[w,]$group], alpha=0.6)
text(fc[w], p[w], names(fc[w]),
pos=4, #1, 2, 3 and 4, respectively indicate positions below, to the left of, above and to the right of the specified coordinates.
col=cols.alpha)
# 添加size的圖例
par(xpd = TRUE) #all plotting is clipped to the figure region
f <- c(0.01,0.05,0.1,0.25)
s <- sqrt(f*50)
legend("topright",
inset=c(-0.2,0), #把圖例畫(huà)到圖外
legend=f, pch=16, pt.cex=s, bty='n', col=paste("#88888888"))
# 添加pathway顏色的圖例
legend("bottomright",
inset=c(-0.25,0), #把圖例畫(huà)到圖外
pch=16, col=cols.code, legend=cols.names, bty="n")
4. 篩選Top5的差異基因進(jìn)行標(biāo)記
4.1 篩選的down和up前5個(gè)(或N個(gè))基因進(jìn)行標(biāo)記
##down
down <- filter(df, Group == "Down") %>%
distinct(gene, .keep_all = T) %>%
top_n(5, -log10(P.Value))
##up top 5
up <- filter(df, Group == "Up") %>%
distinct(gene, .keep_all = T) %>%
top_n(5, -log10(P.Value))
4.2繪圖
ggplot(df, aes(x = logFC, y = -log10(P.Value), size = logCMP,colour = Group))+
geom_point( shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
#scale_colour_manual(name = "", values = alpha(c("#EB4232","#d8d8d8","#2DB2EB"), 0.7)) +
##'@X軸和Y軸限制
# scale_x_continuous(limits = c(-12, 12),breaks = seq(-12, 12, by = 4)) +
# scale_y_continuous(expand = expansion(add = c(0, 0)),limits = c(0, 180),breaks = seq(0, 180, by = 20)) +
ylab('-log10 (Pvalue)')+
xlab('log2 (FoldChange)')+
#'@添加關(guān)注的點(diǎn)的基因名
#'@添加down top gene
geom_text_repel(
data = up,aes(x = logFC, y = -log10(P.Value), label = gene),
seed = 123,color = 'black',show.legend = FALSE,
min.segment.length = 0,#始終為標(biāo)簽添加指引線段屉佳;若不想添加線段谷朝,則改為Inf
segment.linetype = 1, #線段類型,1為實(shí)線,2-6為不同類型虛線
force = 2,#重疊標(biāo)簽間的排斥力
force_pull = 2,#標(biāo)簽和數(shù)據(jù)點(diǎn)間的吸引力
size = 4,
box.padding = unit(2, "lines"),
point.padding = unit(1, "lines"),#點(diǎn)到線的距離
max.overlaps = Inf)+
##'@添加up top gene
geom_text_repel(
data = down,aes(x = logFC, y = -log10(P.Value), label = gene),
seed = 123,
color = 'black',show.legend = FALSE,
min.segment.length = 0,#始終為標(biāo)簽添加指引線段;若不想添加線段武花,則改為Inf
segment.linetype = 1, #線段類型,1為實(shí)線,2-6為不同類型虛線
force = 6,#重疊標(biāo)簽間的排斥力
force_pull = 1,#標(biāo)簽和數(shù)據(jù)點(diǎn)間的吸引力
size = 4,
box.padding = unit(2, "lines"),
point.padding = unit(1, "lines"),#點(diǎn)到線的距離
max.overlaps = Inf)+
# ## 增加橫豎線條
geom_vline(xintercept = c(-1,1),lty = 2, col = "black", lwd = 0.5)+
geom_hline(yintercept = -log10(0.05), lty = 2, col = "black", lwd = 0.5)+
## 設(shè)置主題
theme_classic(
base_line_size = 0.8 ## 設(shè)置坐標(biāo)軸的粗細(xì)
)+
## 設(shè)置圖例大小
guides(fill = guide_legend(override.aes = list(size = 5)))+
mytheme
4.3 對(duì)齊標(biāo)簽
需要重新進(jìn)行調(diào)整坐標(biāo)信息,此坐標(biāo)位置圆凰,可以根據(jù)自己需求進(jìn)行調(diào)整
nudge_x_up = 2.5 - up$logFC
nudge_x_down = -2.5 - down$logFC
通過(guò)添加nudge_x
信息即可實(shí)現(xiàn)此功能
ggplot(df, aes(x = logFC, y = -log10(P.Value), size = logCMP,colour = Group))+
geom_point( shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
#scale_colour_manual(name = "", values = alpha(c("#EB4232","#d8d8d8","#2DB2EB"), 0.7)) +
##'@X軸和Y軸限制
# scale_x_continuous(limits = c(-12, 12),breaks = seq(-12, 12, by = 4)) +
# scale_y_continuous(expand = expansion(add = c(0, 0)),limits = c(0, 180),breaks = seq(0, 180, by = 20)) +
ylab('-log10 (Pvalue)')+
xlab('log2 (FoldChange)')+
#'@添加關(guān)注的點(diǎn)的基因名
#'@添加down top gene
geom_text_repel(
data = up,aes(x = logFC, y = -log10(P.Value), label = gene),
seed = 123,color = 'black',show.legend = FALSE,
min.segment.length = 0,#始終為標(biāo)簽添加指引線段体箕;若不想添加線段专钉,則改為Inf
segment.linetype = 1, #線段類型,1為實(shí)線,2-6為不同類型虛線
segment.color = 'black', #線段顏色
segment.alpha = 0.5, #線段不透明度
nudge_x = nudge_x_up, #標(biāo)簽x軸起始位置調(diào)整
direction = "y", #按y軸調(diào)整標(biāo)簽位置方向,若想水平對(duì)齊則為x
hjust = 0, #對(duì)齊標(biāo)簽:0右對(duì)齊累铅,1左對(duì)齊跃须,0.5居中
force = 2,#重疊標(biāo)簽間的排斥力
force_pull = 2,#標(biāo)簽和數(shù)據(jù)點(diǎn)間的吸引力
size = 4,
box.padding = unit(0.1, "lines"),
point.padding = unit(0.1, "lines"),
max.overlaps = Inf)+
##'@添加up top gene
geom_text_repel(
data = down,aes(x = logFC, y = -log10(P.Value), label = gene),
seed = 123,color = 'black',show.legend = FALSE,
min.segment.length = 0,#始終為標(biāo)簽添加指引線段;若不想添加線段娃兽,則改為Inf
segment.linetype = 1, #線段類型,1為實(shí)線,2-6為不同類型虛線
segment.color = 'black', #線段顏色
segment.alpha = 0.5, #線段不透明度
nudge_x = nudge_x_down, #標(biāo)簽x軸起始位置調(diào)整
direction = "y", #按y軸調(diào)整標(biāo)簽位置方向菇民,若想水平對(duì)齊則為x
hjust = 1, #對(duì)齊標(biāo)簽:0右對(duì)齊,1左對(duì)齊,0.5居中
force = 2,#重疊標(biāo)簽間的排斥力
force_pull = 2,#標(biāo)簽和數(shù)據(jù)點(diǎn)間的吸引力
size = 4,
box.padding = unit(0.1, "lines"),
point.padding = unit(0.1, "lines"),
max.overlaps = Inf)+
# ## 增加橫豎線條
geom_vline(xintercept = c(-1,1),lty = 2, col = "black", lwd = 0.5)+
geom_hline(yintercept = -log10(0.05), lty = 2, col = "black", lwd = 0.5)+
## 設(shè)置主題
theme_classic(
base_line_size = 0.8 ## 設(shè)置坐標(biāo)軸的粗細(xì)
)+
## 設(shè)置圖例大小
guides(fill = guide_legend(override.aes = list(size = 5)))
4.4 添加箭頭
top5 <- filter(df, Group != "Stable") %>% distinct(gene, .keep_all = T) %>% top_n(5, -log10(P.Value))
ggplot(df, aes(x = logFC, y = -log10(P.Value), size = logCMP,colour = Group))+
geom_point( shape = 20, stroke = 0.5)+
#控制最人氣泡和最小氣泡第练,調(diào)節(jié)氣泡相對(duì)大小
scale_size(limits = c(2,16))+
##設(shè)置顏色
#scale_fill_manual(values = c("#fe0000","#13fc00","#bdbdbd"))+
scale_color_manual(values=c('steelblue','gray','brown'))+
#scale_colour_manual(name = "", values = alpha(c("#EB4232","#d8d8d8","#2DB2EB"), 0.7)) +
##'@X軸和Y軸限制
# scale_x_continuous(limits = c(-12, 12),breaks = seq(-12, 12, by = 4)) +
# scale_y_continuous(expand = expansion(add = c(0, 0)),limits = c(0, 180),breaks = seq(0, 180, by = 20)) +
ylab('-log10 (Pvalue)')+
xlab('log2 (FoldChange)')+
##'@添加箭頭
geom_text_repel(data = top5,aes(x = logFC, y = -log10(P.Value), label = gene),
seed = 2345,color = 'black',show.legend = FALSE,
min.segment.length = 1,#始終為標(biāo)簽添加指引線段阔馋;若不想添加線段,則改為Inf
arrow = arrow(length = unit(0.02, "npc"),type = "open", ends = "last"),
force = 10,force_pull = 1,
size = 4,
box.padding = 2,point.padding = 1,
max.overlaps = Inf)
5 漸變火山圖
5.1 加載所需的包
#devtools::install_github("BioSenior/ggvolcano")
library(ggVolcano)
library(RColorBrewer)
5.2 繪圖
df[1:10,1:9]
gradual_volcano(df, x = "logFC", y = "P.Value",
label = "gene",
label_number = 5, ## 顯示top5的基因名
output = FALSE)
修改顯示顏色
gradual_volcano(df, x = "logFC", y = "P.Value",
label = "gene",
fills = brewer.pal(5, "RdYlBu"),
colors = brewer.pal(8, "RdYlBu"),
label_number = 5, ## 顯示top5的基因名
output = FALSE)
使用
RColorBrewer
進(jìn)行修改顏色
gradual_volcano(df, x = "logFC", y = "P.Value",
label = "gene",
label_number = 5, ## 顯示top5的基因名
output = FALSE)+
ggsci::scale_color_gsea()+
ggsci::scale_fill_gsea()
5.3 GO通路火山圖
或你有相關(guān)GO注釋文件复旬,你可以提供給相關(guān)的數(shù)據(jù)垦缅,進(jìn)行繪制。
在這里驹碍,我們不在演示,若你需要凡恍,可以根據(jù)原文的方法進(jìn)行繪制圖形志秃。
ata("term_data")
# Gene.names term
#1 TDP1 myelin
#2 YDR387C myelin
#3 MAM33 myelin
#4 BAR1 myelin
#5 IQG1 myelin
#6 AIM3 myelin
p1 <- term_volcano(deg_data, term_data,
x = "log2FoldChange", y = "padj",
label = "row", label_number = 10, output = FALSE)
#修改散點(diǎn)顏色和描邊
library(RColorBrewer)
deg_point_fill <- brewer.pal(5, "RdYlBu")
names(deg_point_fill) <- unique(term_data$term)
p2 <- term_volcano(data, term_data,
x = "log2FoldChange", y = "padj",
normal_point_color = "#75aadb",
deg_point_fill = deg_point_fill,
deg_point_color = "grey",
legend_background_fill = "#deeffc",
label = "row", label_number = 10, output = FALSE)
本教程參考鏈接:<學(xué)習(xí)者可以直接訪問(wèn)原文鏈接>
- https://mp.weixin.qq.com/s/wkUxY_zzYnCDwAPD0btHow
- https://mp.weixin.qq.com/s/R6yb-sFKRkzGuACs61TbsQ
- https://mp.weixin.qq.com/s/TWI-Tt741Gqe9ERzZr23yg
- https://mp.weixin.qq.com/s/yVahDcmuUU7cPikTt4ahNg
往期文章:
2. 《生信知識(shí)庫(kù)訂閱須知》,同步更新,易于搜索與管理嚼酝。
3. 最全WGCNA教程(替換數(shù)據(jù)即可出全部結(jié)果與圖形)
4. 精美圖形繪制教程
5. 轉(zhuǎn)錄組分析教程
小杜的生信筆記 浮还,主要發(fā)表或收錄生物信息學(xué)的教程,以及基于R的分析和可視化(包括數(shù)據(jù)分析闽巩,圖形繪制等)钧舌;分享感興趣的文獻(xiàn)和學(xué)習(xí)資料!!