Volcano3D绘制3D火山图

一边学习,一边总结,一边分享!

本期教程内容

**注:**本教程详细内容
Volcano3D绘制3D火山图

一、前言

火山图是做差异分析中最常用到的图形,在前面的推文中,我们也推出了好几期火山图的绘制教程,以及很多火山图的教程也可以参考。R语言绘制精美图形 | 火山图 | 学习笔记、各类差异基因火山图汇总 | 学习笔记等等。大家根据自己的需求绘制相关的火山图即可。

今天,我们学习使用volcano3D绘制3D火山图,我们会给出详细的绘图过程。

注意: 小杜的生信笔记分享的教程是结合自己的需求进行分享,难免会有错误或遗漏,望见谅!

二、GitHub网址

https://github.com/KatrionaGoldmann/volcano3D

三、 加载R包和数据

3.1 安装volcano3D包

### 安装volcano3D包
library(devtools)
#install_github("KatrionaGoldmann/volcano3D")### 或是使用以下方法进行安装
# repos = getOption("repos")
# repos["volcano3Ddata"] = "http://KatrionaGoldmann.github.io/volcano3Ddata"
# options(repos = repos)
#install.packages("volcano3Ddata")
library(volcano3Ddata)

3. 2 安装R包时报错问题处理

我自己在安装volcano3D1时出现的报错,安装不了。我开了VPN,但也是报错。后看了是如下的问题,volcano3D相关的包vctrs版本太低了,然后进行升级后即可安装。

3.3 加载数据包

devtools::install_github("KatrionaGoldmann/volcano3Ddata")

citation("volcano3D")

3.4 加载R包

library(volcano3D)
library(volcano3Ddata)# Basic DESeq2 set up
library(DESeq2)
library(ggplot2)
library(kableExtra)

3.5 数据展示

结合示例数据进行准备数据,基本与我们平时做差异分析数据保持一致,或是你直接使用DESep2做差异分析,使用其结果进行绘图。

citation("volcano3D")## 
## To cite package 'volcano3D' in publications use:
## 
##   Goldmann K, Lewis M (2020). _volcano3D: 3D Volcano Plots and Polar
##   Plots for Three-Class Data_.
##   https://katrionagoldmann.github.io/volcano3D/index.html,
##   https://github.com/KatrionaGoldmann/volcano3D.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {volcano3D: 3D Volcano Plots and Polar Plots for Three-Class Data},
##     author = {Katriona Goldmann and Myles Lewis},
##     year = {2020},
##     note = {https://katrionagoldmann.github.io/volcano3D/index.html, https://github.com/KatrionaGoldmann/volcano3D},
##   }

data("syn_data")
data("syn_txi")

3.6 差异分析

创建数据集

counts <- matrix(rnbinom(n=3000, mu=100, size=1/0.5), ncol=30)
rownames(counts) <- paste0("gene", 1:100)
cond <- rep(factor(rep(1:3, each=5), labels = c('A', 'B', 'C')), 2)
resp <- factor(rep(1:2, each=15), labels = c('non.responder', 'responder'))
metadata <- data.frame(drug = cond, response = resp)
counts[1:10,1:5]

dds <- DESeqDataSetFromMatrix(counts, metadata, ~response)
res <- deseq_2x3(dds, ~response, "drug")


差异结果

head(res)


函数deseq_2x3()返回一个包含3个DESeq2对象的列表,其中包含3种药物中每一种的响应分析。这些响应与非响应差异表达式比较可以通过R软件包easylabel的easyVolcano()函数快速可视化,该软件包专为DESeq2和limma对象设计,并使用交互式。 R/发光界面。

#install.packages("easylabel")
library(easylabel)
df <- as.data.frame(res[[1]])  # results for the first drug  
easyVolcano(df)


deseq_2x3输出被传递给deseq_2x3_pole()以生成一个volc3d类对象用于绘图。因此,三维径向图和三维火山图简化了二乘三维分析的可视化,用一个单一的径向图或三维火山图取代了三个火山图。

# Generate polar object
obj <- deseq_2x3_polar(res)# 2d plot
radial_plotly(obj)# 3d plot
volcano3D(obj)


此图形可以手动选择方向,以及缩放。

四、绘制不同药理的图形

kable(table(syn_metadata$Pathotype), col.names = c("Pathotype", "Count"))syn_metadata$Pathotype <- factor(syn_metadata$Pathotype, levels = c('Lymphoid', 'Myeloid', 'Fibroid'))
##设置原始变量
dds <- DESeqDataSetFromTximport(txi = syn_txi, colData = syn_metadata, design = ~ Pathotype + Batch + Gender)##差异分析
dds_DE <- DESeq(dds)
##病理类型
dds_LRT <- DESeq(dds, test = "LRT", reduced = ~ Batch + Gender, parallel = TRUE)
#创建'volc3d' 数据集
res <- deseq_polar(dds_DE, dds_LRT, "Pathotype")
##绘制三维散点图
volcano3D(res)

五、构建一个3D shiny

构建一个shiny,也可以单独放在一个R脚本中
Volcano3D绘制3D火山图


往期文章:

1. 复现SCI文章系列专栏

2. 《生信知识库订阅须知》,同步更新,易于搜索与管理。

3. 最全WGCNA教程(替换数据即可出全部结果与图形)

  • WGCNA分析 | 全流程分析代码 | 代码一

  • WGCNA分析 | 全流程分析代码 | 代码二

  • WGCNA分析 | 全流程代码分享 | 代码三

  • WGCNA分析 | 全流程分析代码 | 代码四

  • WGCNA分析 | 全流程分析代码 | 代码五(最新版本)


4. 精美图形绘制教程

  • 精美图形绘制教程

5. 转录组分析教程

转录组上游分析教程[零基础]

小杜的生信筆記 ,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/164597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代数学习题4.2】从零理解范数与迹 —— 求数域元素的范数与迹

从零理解范数与迹 —— 求数域元素的范数与迹 写在最前面题目解答 2. 范数 N N N思路求解过程python求解 3. 数域 K K K 的范数 N K N_K NK​思路求解过程Python求解分析解题步骤 4. 迹 T T T求解过程共轭元素计算迹 python求解分析解题步骤 5. 数域 K K K 的迹 T K T_K …

读书笔记——《黑猩猩的政治》

前言 弗朗斯德瓦尔&#xff08;Frans de Waal)的代表作《黑猩猩政治》成书于1982年&#xff0c;是它的首部书籍作品&#xff0c;也是美国国会新任议员的被推荐读物。之前看的他另一部作品的《万智有灵》是2016年的作品&#xff0c;时间跨度居然这么大。《万智有灵》介绍了许多…

代码随想录 135. 分发糖果

题目 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xff0c;计算并返回需要准…

SDK广告类型及其作用与收益分析

在移动应用开发领域&#xff0c;软件开发工具包&#xff08;SDK&#xff09;广告已经成为应用开发者们获取收益的一种重要途径。不同类型的SDK广告提供了多样化的选择&#xff0c;以满足开发者的需求。本文将介绍几种常见的SDK广告类型&#xff0c;并深入探讨它们的作用及对开发…

SPASS-信度分析

信度分析概述 效度 效度指的是量表是否真正反映了我们希望测量的东西。一般来说&#xff0c;有4种类型的效度&#xff1a;内容效度、标准效度、结构效度和区分效度。内容效度是一种基于概念的评价指标&#xff0c;其他三种效度是基于经验的评价指标。如果一个量表实际上是有效…

【亚太杯前两问论文】2023年第十三届APMCM亚太地区大学生数学建模竞赛——(文末领取方式)

2023年第十三届APMCM亚太地区大学生数学建模竞赛——论文无偿分享&#xff01;&#xff01;&#xff01; C题前两问论文代码已出&#xff0c;其他赛题及后续论文代码会持续更新。 祝各位小伙伴都能在比赛中发挥出色&#xff0c;取得心仪的成绩呦&#xff01;一起加油&#xff…

vscode在运行c语言时,无法scanf输入

问题&#xff1a; 在学习c语言中&#xff0c;我在使用scanf和cin时无法在终端进行输入(运行了但是无法输入)&#xff0c;在网上寻找答案&#xff0c;并写下笔记 解决方法 选择左上角 文件->首选项&#xff08;preferences&#xff09;->设置&#xff08;settings&#xf…

网关和链路追踪

Spring Cloud的网关 在Spring Cloud中&#xff0c;网关&#xff08;Gateway&#xff09;是一种用于管理和路由微服务请求的中间层服务。它充当了整个微服务架构的入口点&#xff0c;负责将来自外部的请求转发到相应的微服务上。常见的网关包括Spring Cloud Gateway和Netflix Zu…

Java类加载那些事

Java源文件&#xff08;.java文件&#xff09;被编译器编译后变为字节码形式的类文件&#xff08;.class文件&#xff09;&#xff0c;Java类加载的过程就是JVM加载.class的二进制文件并且放到内存中&#xff0c;将数据放到方法区&#xff0c;并且在堆区构造一个java.lang.clas…

动态规划从入门到精通

目录 动态规划的详解 动态规划的应用 机器人到达指定位置数 换钱的最少货币数 排成一条线的纸牌博弈问题 象棋中马的跳法 Bob的生存概率 换钱的方法数 动态规划的总结 动态规划的详解 暴力尝试递归操作中有很多重复计算的操作&#xff0c;浪费时间。动态规划就是减少暴力…

大模型增量预训练参数说明

在增量预训练过程中通常需要设置三类或四类参数,模型参数,数据参数,训练参数,额外参数。 下面分别针对这四种参数进行说明。 欢迎关注公众号 模型参数 model_type模型类型,例如bloom,llama,baichuan,qwen等。 model_name_or_path模型名称或者路径。 tokenizer_name_or…

JS数组常用的20种方法详解(每一个方法都有例子,超全面,超好理解的教程,干货满满)

目录 1.会改变原数组的方法&#xff08;7种&#xff09; 1.push() 2.pop() 3.unshift() 4.shift() 5.reverse() 6.sort() 7.splice() 2.不改变原数组的方法&#xff08;13种&#xff0c;返回的新数组是从原数组浅拷贝来的&#xff09; 1.concat() 2.join() 3.slice…

12个最佳WordPress投票插件

您是否正在为您的网站寻找WordPress投票插件&#xff1f; WordPress投票插件可让您轻松地在您的网站上进行民意调查&#xff0c;用户可以投票。这是在收集见解的同时建立用户参与度的有效策略。 在本文中&#xff0c;我们精心挑选了最好的WordPress投票插件&#xff0c;可帮助…

代码随想录算法训练营第五十二天|300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;代码随想录B站账号 状态&#xff1a;看了视频题解和文章解析后做出来了 300.最长递增子序列 class Solution: # 2516 ms, faster than 64.96%def lengthOfLIS(self, nums: List[int]) -> int:n len(nums)dp [1] * n…

从Discord的做法中学习 — 使用Golang进行请求合并

正如你可能之前看到的&#xff0c;Discord去年发布了一篇有价值的文章&#xff0c;讨论了他们成功存储了数万亿条消息。虽然有很多关于这篇文章的YouTube视频和文章&#xff0c;但我认为这篇文章中一个名为“数据服务为数据服务”的部分没有得到足够的关注。在这篇文章中&#…

QT项目移植到VS+QT(RTI-DDS)

QT中.pro文件中include(./xxx.pri) pri文件如下定义 unset(FILENAMES)for(FILENAME, FILENAMES) {HEADERFILE $$PWD/$${FILENAME}.hif(exists($$HEADERFILE)) {HEADERS * $$HEADERFILE}SOURCEFILE $$PWD/$${FILENAME}.cppif(exists($$SOURCEFILE)) {SOURCES * $$SOURCEFILE}…

CSS-鼠标属性篇

属性名&#xff1a;cursor 功能&#xff1a;设置鼠标光标的样式 属性值&#xff1a; pointer&#xff1a;小手move&#xff1a;移动图标text&#xff1a;文字选择器crosshair&#xff1a;十字架wait&#xff1a;等待help&#xff1a;帮助 eg.html{ cursor: wait;}(此处使用css改…

SpringBoot——MVC原理

优质博文&#xff1a;IT-BLOG-CN 一、SpringMVC自动配置 SpringMVC auto-configuration&#xff1a;SpringBoot自动配置好了SpringMVC。以下是SpringBoot对SpringMVC的默认配置&#xff1a;[WebMvcAutoConfiguration] 【1】包括ContentNegotiatingViewResolver和BeanNameView…

Keil工程打开发现目标芯片无法选择解决方案

买了一个开发板&#xff0c;配套有一些底层驱动的例程&#xff0c;打开后发现目标芯片无法选择&#xff0c;对应的下载Flash FLM文件也无法选择。从提示框中可以知道所提供的例程是Keil4的例程&#xff0c;我电脑上安装的Keil版本是Keil版本&#xff0c;估计是这个原因导致工程…

C# 执行Excel VBA宏工具类

写在前面 在Excel文档的自动化处理流程中&#xff0c;有部分值需要通过已定义的宏来求解&#xff0c;所以延伸出了用C# 调用Excel中的宏代码的需求。 首先要从NuGet中引入Microsoft.Office.Interop.Excel 类库 using Excel Microsoft.Office.Interop.Excel; 代码实现 /// &l…