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.pswp.cn/news/164597.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164597.shtml
英文地址,請注明出處:http://en.pswp.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…