R语言绘图-CRISPR筛选结果分析冒泡图
准备:
测序后 mageck 进行分析,获得分析结果
“*.gene_summary.txt ”
结果形式如下:
> head(data)
id num neg.score neg.p.value neg.fdr neg.rank neg.goodsgrna neg.lfc pos.score pos.p.value pos.fdr pos.rank
1 STAT2 8 0.38770 0.65148 0.971004 1313 1 2.93920 1.4200e-15 0.00000236 0.001238 1
2 IRF9 8 0.99923 0.99927 0.999960 2096 0 1.80920 4.9300e-09 0.00000236 0.001238 4
3 IFNAR1 8 0.99948 0.99950 0.999960 2098 0 1.94550 9.3700e-11 0.00000236 0.001238 2
4 STAT1 8 0.99997 0.99996 0.999960 2099 0 1.99880 2.7700e-09 0.00000236 0.001238 3
5 ARNT2 8 0.99562 0.99551 0.999799 2090 0 0.87438 2.8653e-04 0.00194580 0.632426 5
6 LAG3 8 0.90148 0.94604 0.996401 1988 1 0.81036 3.5486e-04 0.00239860 0.632426 6
pos.goodsgrna pos.lfc sign
1 7 2.93920 STAT2
2 7 1.80920 IRF9
3 8 1.94550 IFNAR1
4 8 1.99880 STAT1
5 6 0.87438 <NA>
6 7 0.81036 <NA>
代码如下:
library(tidyverse)
library(ggrepel)
set.seed(42)
# data <- read.table("E:/big_data/CRISPR-HHN/test/top5/top5-mock.gene_summary.txt",header=T,na.strings = c("NA"))
# data <- read.table("E:/big_data/CRISPR-HHN/test/top20/top20-mock.gene_summary.txt",header=T,na.strings = c("NA"))
data <- read.table("E:/big_data/CRISPR-HHN/2024.5.15-CRISPR-2nd/results/mock_vs_top30.gene_summary.txt ",header=T,na.strings = c("NA"))
head(data)
# 基础绘图(排序冒泡)
ggplot(data=data, mapping=aes( x=pos.rank, y=-log(pos.score)))+
geom_point(size=0.21)
# ggplot(data=data, mapping=aes( x=pos.rank, y=-log(pos.fdr)))+
# geom_point(size=0.21)
# 定义颜色
labelcolor = ifelse(data$pos.score<0.0001,"red1","black1")
# 定义标签
data$sign <- ifelse(data$pos.score < 0.0001 ,data$id,NA)
data$sign
#geom_text(aes(label = sign), size = 3)
# 加标签加颜色
ggplot(data=data, mapping=aes( x=pos.rank, y=-log(pos.score)))+
geom_point(size=1.5,aes(col=labelcolor))+
geom_label_repel(aes(pos.rank,-log(pos.score),
label=sign), max.overlaps=100,fontface="bold", color="red",
box.padding=unit(0.35, "lines"), point.padding=unit(0.5, "lines"),
segment.colour = "grey50")+ theme_classic(base_size = 16)+
scale_color_manual(values=c("black", "red"))
# 加颜色
ggplot(data=data, mapping=aes( x=pos.rank, y=-log(pos.score)))+
geom_point(size=1.5,aes(col=labelcolor))+
scale_color_manual(values=c("black", "red"))+
ggtitle("Top20_Mock")
# 加颜色加大小
ggplot(data=data, mapping=aes( x=pos.rank, y=-log(pos.score)))+
geom_point(aes(col=labelcolor,size=-log(pos.score)))+
scale_color_manual(values=c("black", "red"))+
ggtitle("Top30_Mock")
labelcolor = ifelse(data$pos.score<0.0001,"red1","black1")
# 加颜色家大小(原始冒泡)
ggplot(data=data, mapping=aes( x=id, y=-log(pos.score)))+
geom_point(aes(col=labelcolor,size=-log(pos.score)))+
scale_color_manual(values=c("black", "red"))+
ggtitle("Top10_Mock")+
theme(axis.text.x = element_blank())
绘图结果如下:
横坐标为rank (排序冒泡)
基础绘图
![](https://img.haomeiwen.com/i20692894/096595bc1fbe7148.png)
加标签加颜色:
![](https://img.haomeiwen.com/i20692894/e799ec17a228b752.png)
加颜色
![](https://img.haomeiwen.com/i20692894/d06c166cbca6a6ae.png)
加颜色加大小
![](https://img.haomeiwen.com/i20692894/a3916590b71c94d6.png)
横坐标为Id(原始冒泡)
加颜色加大小
![](https://img.haomeiwen.com/i20692894/46795897dfaa31f8.png)
网友评论