美文网首页
R语言绘图-CRISPR筛选结果分析冒泡图

R语言绘图-CRISPR筛选结果分析冒泡图

作者: 火卫控 | 来源:发表于2024-06-20 17:51 被阅读0次

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 (排序冒泡)

基础绘图


image.png

加标签加颜色:


image.png

加颜色


image.png

加颜色加大小


image.png

横坐标为Id(原始冒泡)

加颜色加大小


image.png

相关文章

网友评论

      本文标题:R语言绘图-CRISPR筛选结果分析冒泡图

      本文链接:https://www.haomeiwen.com/subject/wdxhcjtx.html