火山图标记基因_火山地形图

火山图标记基因_火山地形图现在很多文章会要求火山图中显示某一个基因名称,或者是某一些基因的名称,这时候我们应该怎么做呢?很多人会选择使用AI或者PS来做,在这里我介绍的是,如何用R绘制这样的图加载R包library(ggpubr)library(ggthemes)如果没有安装,可以使用下面的代码进行安装install.packages(‘ggthemes’)install.packages(‘ggpubr’)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

现在很多文章开始出现这样的一种情况,在绘制火山图中,显示我们所关注的基因,那么如何去显示呢?很多人可能会这么做,在绘制普通的火山图之后,使用AI对图进行修改,添加部分基因,但是现在我要介绍的是如何用R绘制
library(ggpubr)
library(ggthemes)
data <- read.csv(“easy_input_limma.csv”, head=T,sep=’,’)
#绘制基本热图
data l o g p &lt; − − l o g 10 ( d a t a logp &lt;- -log10(data logp<log10(dataadj.P.Val)
ggscatter(data,x=“logFC”,y=“logp”)+theme_base()
在这里插入图片描述
#新增一列,选出上调和下调
data G r o u p = &quot; n o t − s i g n i f i c a n t &quot; d a t a Group=&quot;not-significant&quot; data Group=notsignificantdataGroup[which((dataKaTeX parse error: Expected ‘EOF’, got ‘&’ at position 16: adj.P.Val<0.05)&̲(datalogFC > 2))]=“up-regulated”
data G r o u p [ w h i c h ( ( d a t a Group[which((data Group[which((dataadj.P.Val<0.05)&(dataKaTeX parse error: Expected ‘EOF’, got ‘#’ at position 32: …own-regulated” #̲查看上调和下调的基因个数 ta…Group)
#绘制新的火山图
ggscatter(data,x=“logFC”,y=“logp”,color=“Group”)+theme_base()
在这里插入图片描述
#添加颜色和点的大小
ggscatter(data,x=“logFC”,y=“logp”,color=“Group”,palette=c(
“blue”,“gray”,“red”),size=1)+theme_base()
在这里插入图片描述
ggscatter(data,x=“logFC”,y=“logp”,color=“Group”,palette=c(
“blue”,“gray”,“red”),size=1)+theme_base()+geom_hline(yintercept=1.3,
linetype=“dashed”)+geom_vline(xintercept=c(-2,2),linetype=“dashed”)
在这里插入图片描述
#新增一列,这一列是需要展示的基因名在这里我展示前10
data l a b e l = &quot; &quot; d a t a &lt; − d a t a [ o r d e r ( d a t a label=&quot;&quot; data&lt;-data[order(data label=data<data[order(datalogp),]
#data S y m b o l &lt; − r o w n a m e s ( d a t a ) u p . g e n e &lt; − h e a d ( d a t a Symbol&lt;-rownames(data) up.gene&lt;-head(data Symbol<rownames(data)up.gene<head(dataSymbol[which(data G r o u p = = &quot; u p − r e g u l a t e d &quot; ) ] , 10 ) d o w n . g e n e &lt; − h e a d ( d a t a Group==&quot;up-regulated&quot;)],10) down.gene&lt;-head(data Group==upregulated)],10)down.gene<head(dataSymbol[which(dataKaTeX parse error: Expected ‘EOF’, got ‘#’ at position 31: …gulated”)],10) #̲将up.gene和down.g…label[match(data.top.genes,dataKaTeX parse error: Expected ‘EOF’, got ‘#’ at position 26: …data.top.genes #̲重新绘制 ggscatter(…label,font_label=8,repel=T)+theme_base()+geom_hline(yintercept=0.05,
linetype=“dashed”)+geom_vline(xintercept=c(-2,2),linetype=“dashed”)
在这里插入图片描述
很多人会说,这样的终究不太分明,我想让点的大小来反映FC,这样可以做到吗?当然可以了!如果有想了解的,可以试试,其实很简单的。

最近看到一个更加强大的包,绘制的火山图更加好看
EnhancedVolcano包
1、首先安装这个包
if (!requireNamespace(‘devtools’, quietly = TRUE))
install.packages(‘devtools’)
devtools::install_github(‘kevinblighe/EnhancedVolcano’)
加载包
library(EnhancedVolcano)
#res1是带有基因ID的列名,log2FoldChange是去过对数的差异倍数的列名,pvalue可以选择是校正前和校正后的,xlim是对log2FoldChange的范围进行限定
EnhancedVolcano(res1, lab = rownames(res1), x = ‘log2FoldChange’, y = ‘pvalue’,xlim = c(-5, 8))
绘制之后就是这样了
在这里插入图片描述
2、 还可以通过这个包直接修改点的大小和标签的大小
#title图片的名称, transcriptPointSize点的大小, transcriptLabSize标签的大小
EnhancedVolcano(res2,lab = rownames(res2), x = ‘log2FoldChange’,y = ‘pvalue’,
xlim = c(-8, 8),title = ‘N061011 versus N61311’,pCutoff = 10e-16,
FCcutoff = 1.5, transcriptPointSize = 1.5,transcriptLabSize = 3.0)
3、调整点的颜色和透明度
#colAlpha点的透明度,col是点的颜色,默认第一个是NS,第二个是log2FC,第三个是P,第四个是p&log2FC
EnhancedVolcano(res2, lab = rownames(res2),x = ‘log2FoldChange’,
y = ‘pvalue’,xlim = c(-8, 8),title = ‘N061011 versus N61311’, pCutoff = 10e-16,
FCcutoff = 1.5, transcriptPointSize = 1.5, transcriptLabSize = 3.0,
col=c(“grey30”, “forestgreen”, “royalblue”, “red2”), colAlpha = 1)
4、修改点的形状
shape点的形状,可以选择一个,也可以选择多个
选择一个形状
EnhancedVolcano(res2, lab = rownames(res2),x = ‘log2FoldChange’,
y = ‘pvalue’,xlim = c(-8, 8),title = ‘N061011 versus N61311’, pCutoff = 10e-16,
FCcutoff = 1.5, transcriptPointSize = 1.5, transcriptLabSize = 3.0,shape=4,
col=c(“grey30”, “forestgreen”, “royalblue”, “red2”), colAlpha = 1)
选择多个形状
EnhancedVolcano(res2, lab = rownames(res2),x = ‘log2FoldChange’,
y = ‘pvalue’,xlim = c(-8, 8),title = ‘N061011 versus N61311’, pCutoff = 10e-16,
FCcutoff = 1.5, transcriptPointSize = 1.5, transcriptLabSize = 3.0,shape=c(1,4,23,25),col=c(“grey30”, “forestgreen”, “royalblue”, “red2”), colAlpha = 1)
5、添加额外的阈值线,自定义阈值线,可以自己查看文档
hlineType线条的类型(平行于x轴),vline—是平行于Y轴的
cutoffLineCol线条的颜色,cutoffLineWidth线条的粗细
EnhancedVolcano(res2,lab = rownames(res2), x = ‘log2FoldChange’,y = ‘pvalue’,
xlim = c(-6, 6),title = ‘N061011 versus N61311’,pCutoff = 10e-12,FCcutoff = 1.5,transcriptPointSize = 1.5,transcriptLabSize = 3.0,colAlpha = 1,
cutoffLineType = ‘blank’,cutoffLineCol = ‘black’, cutoffLineWidth = 0.8,
hline = c(10e-12, 10e-36, 10e-60, 10e-84),
hlineCol = c(‘grey0’, ‘grey25’,‘grey50’,‘grey75’),
hlineType = ‘longdash’,hlineWidth = 0.8
,gridlines.major = FALSE,gridlines.minor = FALSE)
6、调整图例
#legend图例内容,legendPosition图例的位置,legendLabSize文字的大小
legendIconSize标签的大小
EnhancedVolcano(res2,lab = rownames(res2),x = ‘log2FoldChange’,y = ‘pvalue’,
xlim = c(-6, 6),pCutoff = 10e-12, FCcutoff = 1.5,cutoffLineType = ‘twodash’,cutoffLineWidth = 0.8,transcriptPointSize = 3.0,transcriptLabSize = 4.0,
colAlpha = 1,legend=c(‘NS’,‘Log (base 2) fold-change’,‘P value’, ‘P value & Log (base 2) fold-change’), legendPosition = ‘right’,legendLabSize = 16,legendIconSize = 5.0)
详细的请查看说明文档

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179441.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月21日 下午3:46
下一篇 2022年10月21日 下午4:00


相关推荐

  • Java多线程(超详细!)

    Java多线程(超详细!)1 什么是进程 什么是线程 进程是 一个应用程序 1 个进程是一个软件 线程是 一个进程中的执行场景 执行单元 注意 一个进程可以启动多个线程 eg 对于 java 程序来说 当在 DOS 命令窗口中输入 javaHelloWor 回车之后 会先启动 JVM 而 JVM 就是一个进程 JVM 再启动一个主线程调用 main 方法 同时再启动一个垃圾回收线程负责看护 回收垃圾 最起码 现在的 java 程序中至少有两个线程并发 一个是垃圾回收线程 一个是执行 main 方法的主线程 3 进程和线程是什么关系

    2026年3月19日
    3
  • Linux系统官网下载「建议收藏」

    Linux系统官网下载「建议收藏」CentOS-6.9-x86_64-bin-DVD1.isohttp://archive.kernel.org/centos-vault/6.9/isos/x86_64/CentOS-6.9-x86_

    2022年7月1日
    40
  • 英语词性大全+详解

    英语词性大全+详解英语词性有 10 种 另有 2 种特殊词性分别是及物 不及物 10 种词性 1 名词 n Nouns 表示人或事物的名称 box pen tree apple2 代词 pron Pronouns 代替名词 数词 形容词 We this them myself3 形容词 adj Adjectives 用来修饰名词 表示人或事物的特征 good sad high short

    2026年3月19日
    4
  • Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包&gt;&gt;&gt;&gt;&gt;©Copyright 蕃薯耀2017年3月6日http://fanshuyao.iteye.com/ 一、Linux快速部署War包操作,暂时是最简单的操作1、先关闭Tomcat/home/java/tomcat7/bin/shutdown.sh 2、进入War包存放目录(可以通过工具:SSHSecureShellClient把War传到Linux服务器)cd/home/projec

    2022年5月29日
    41
  • python中变量的基本使用及命名规则

    python中变量的基本使用及命名规则目标变量定义变量的类型变量的命名标识符和关键字变量的命名规则01.变量定义在Python中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建等号(=)用来给变量赋

    2022年7月5日
    28
  • 华硕服务器主板装系统,装机高手教你华硕主板bios设置图解

    华硕服务器主板装系统,装机高手教你华硕主板bios设置图解bios 设置的作用非常明确的 主板里面比较有个性的要属华硕主板了 所以很多人都不知道华硕主板 bios 设置 在寻找华硕主板 bios 设置图解 其实方法还是蛮简单的面小编就给大家演示设置华硕主板 bios 最近华硕主板有了新花样 导致很多想进入华硕主板 bios 设置的朋友在寻找华硕主板 bios 设置图解并对 bios 进行设置 可能出于需要安装系统的需要设置 bios 那么电脑华硕主板 bios 设置怎么操作呢 别急

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号