前面给大家介绍过一款单细胞数据可视化大全年度爱用包:《终于有人对Seurat包丑到哭的可视化出手了:年度爱用包!》
今天给大家介绍一款 转录组可视化的全年度爱用包:TOmicsVis,由厦门大学海洋与地球科学学院海洋环境科学国家重点实验室/厦门大学福建海洋可持续发展研究院开发,相关研究成果在iMeta上发表。
Miao, Ben-Ben, Dong, Wei, Han, Zhao-Fang, Luo, Xuan, Ke, Cai-Huan, and You, Wei-Wei. 2023. “ TOmicsVis: An All-in-One Transcriptomic Analysis and Visualization R Package with shinyapp Interface.” iMeta e137. https://doi.org/10.1002/imt2.137
工具链接:
TOmicsVis App页面:https://shiny.hiplot.cn/tomicsvis-shiny/
github页面:GitHub - benben-miao/TOmicsVis: Transcriptomics Visualization R package.
Website API: https://benben-miao.github.io/TOmicsVis/
TOmicsVis (Transcriptomics Visualization) 专注于整合并提供从样品性状统计到转录组学基因挖掘的完整可视化方案,这个里面集合了非常多的可视化功能,现在来挑选其中好看的 试试看!
先放图片感受一波:
首先需要安装依赖包,如果你已经有了这些包就不用安装:
# 设置镜像
options(BioC_mirror="https://mirrors.westlake.edu.cn/bioconductor")
options("repos"=c(CRAN="https://mirrors.westlake.edu.cn/CRAN/"))
# Install required packages from Bioconductor
install.packages("BiocManager")
BiocManager::install(c("ComplexHeatmap", "EnhancedVolcano", "clusterProfiler", "enrichplot", "impute", "preprocessCore", "Mfuzz"))
接着安装 此包:
## 从github上安装
# install.packages("devtools")
devtools::install_github("benben-miao/TOmicsVis")
# Resolve network by GitClone
devtools::install_git("https://gitclone.com/github.com/benben-miao/TOmicsVis.git")
## 或者
# Install from CRAN
# install.packages("TOmicsVis") # 这种办法目前安装不了,需要下载到本地 安装
# 以前的版本 下载地址:https://cran.r-project.org/src/contrib/Archive/TOmicsVis/
# 本教程使用 TOmicsVis_1.1.8.tar.gz版本
R CMD INSTALL -l /usr/local/software/miniconda3/envs/R4.4/lib/R/library /nas2/zhangj/biosoft/TOmicsVis_1.1.8.tar.gz
# 加载看是否安装成功
library(TOmicsVis)
data(package='TOmicsVis')
###############################################
# 1. Load gene_exp example dataset
data("gene_expression")
# 2. Run corr_heatmap plot function
corr_heatmap(
gene_expression,
corr_method = "pearson",
cell_shape = "square", fill_type = "full",
lable_size = 3, lable_digits = 3,
color_low = "blue",color_mid = "white",color_high = "red",
ggTheme = "theme_light"
)
#####################################################
# 1. Load example datasets
data("gene_expression")
# 2. Run plot function
dendro_plot(
gene_expression,
dist_method = "euclidean",hc_method = "average",
tree_type = "rectangle",k_num = 5,
palette = "npg",color_labels_by_k = TRUE,horiz = TRUE,
label_size = 0.8,line_width = 0.7,rect = TRUE,rect_fill = TRUE,
xlab = "",ylab = "Height",
ggTheme="theme_default"
)
结果如下:
###########################################################
# 1. Load box_data example datasets
load("TOmicsVis/data/box_data.rda")
head(box_data)
# Value Level1 Level2
# 1 4.0 Group1 GroupA
# 2 11.0 Group1 GroupA
# 3 7.5 Group1 GroupA
# 4 5.5 Group1 GroupA
# 5 6.5 Group1 GroupA
# 6 10.0 Group1 GroupA
# 2. Run box_plot plot function
box_plot(
box_data,
test_method = "t.test",
test_label = "p.format",
notch = TRUE,
group_level = "Three_Column",
add_element = "dotplot",
my_shape = "fill_circle",
sci_fill_color = "Sci_AAAS",
sci_fill_alpha = 0.5,
sci_color_alpha = 1,
legend_pos = "right",
legend_dir = "vertical",
ggTheme = "theme_light"
)
########################################################
# 1. Load box_data example datasets
load("TOmicsVis/data/box_data.rda")
head(box_data)
# Value Level1 Level2
# 1 4.0 Group1 GroupA
# 2 11.0 Group1 GroupA
# 3 7.5 Group1 GroupA
# 4 5.5 Group1 GroupA
# 5 6.5 Group1 GroupA
# 6 10.0 Group1 GroupA
# 2. Run violin_plot plot function
violin_plot(
box_data,
test_method = "t.test",
test_label = "p.format",
group_level = "Three_Column",
violin_orientation = "vertical",
add_element = "boxplot",
element_alpha = 0.5,
my_shape = "plus_times",
sci_fill_color = "Sci_AAAS",
sci_fill_alpha = 0.5,
sci_color_alpha = 1,
legend_pos = "right",
legend_dir = "vertical",
ggTheme = "theme_light"
)
输入一个list对象,list中每一个对象为一个差异基因列表:可以绘制2-7组
################################################################################
# 1. Load venn_data example datasets
load("TOmicsVis/data/venn_data.rda")
str(venn_data)
# 'data.frame': 80 obs. of 7 variables:
# $ Set1: chr "ISG15" "TTLL10" "HES4" "OR4G4P" ...
# $ Set2: chr "HES5" "AURKAIP1" "LINC00982" "FAM87B" ...
# $ Set3: chr "DVL1" "ARHGEF16" "OR4F16" "SKI" ...
# $ Set4: chr "MATP6P1" "MIR551A" "C1orf222" "MIR200B" ...
# $ Set5: chr "FAM132A" "AGRN" "WBP1LP6" "KLHL17" ...
# $ Set6: chr "MATP6P1" "MIR551A" "LINC00115" "ATAD3B" ...
# $ Set7: chr "SKI" "WASH7P" "MEGF6" "LINC00115" ...
# 2. Run venn_plot plot function
venn_plot(
venn_data,
line_type = "blank",
ellipse_shape = "circle",
sci_fill_color = "Sci_AAAS",
sci_fill_alpha = 0.65
)
如果超过了7组差异基因,可以试试花瓣韦恩图,展示每组中特有的基因:
#############################################################################
# 1. Load venn_data example datasets
load("TOmicsVis/data/venn_data.rda")
str(venn_data)
# 'data.frame': 80 obs. of 7 variables:
# $ Set1: chr "ISG15" "TTLL10" "HES4" "OR4G4P" ...
# $ Set2: chr "HES5" "AURKAIP1" "LINC00982" "FAM87B" ...
# $ Set3: chr "DVL1" "ARHGEF16" "OR4F16" "SKI" ...
# $ Set4: chr "MATP6P1" "MIR551A" "C1orf222" "MIR200B" ...
# $ Set5: chr "FAM132A" "AGRN" "WBP1LP6" "KLHL17" ...
# $ Set6: chr "MATP6P1" "MIR551A" "LINC00115" "ATAD3B" ...
# $ Set7: chr "SKI" "WASH7P" "MEGF6" "LINC00115" ...
# 2. Run plot function
flower_plot(
venn_data,
angle = 90,
a = 0.5,
b = 2,
r = 1,
ellipse_col_pal = "Spectral",
circle_col = "white",
label_text_cex = 1
)
##############################################################################
# 1. Load circos_heatmap_data example datasets
load("TOmicsVis/data/circos_heatmap_data.rda")
head(circos_heatmap_data)
# C1 C2 C3 C4 C5 C6 C7 C8 C9 C10
# R75 -0.9506510 -0.5344837 -1.8143073 -2.8096061 0.3006051 0.8397951 1.8213950 1.82096239 1.4473792 0.3295319
# R37 0.1687673 -0.8899277 1.0512879 1.1280222 -0.1548653 -1.6206053 -0.1545394 -0.98874221 -1.5511611 -0.5418601
# R82 -0.9218046 -0.9452034 -1.0694599 -1.4732691 -0.4075469 0.5395484 0.6790898 0.46208936 1.4784147 1.3846459
# R66 -0.2655065 -2.8540485 -1.2771570 0.1704191 -1.0334192 -0.2080669 0.3800607 1.36065351 0.5352300 1.8598673
# R29 1.6760859 2.5483251 0.1581459 0.9603674 1.2741453 -1.3347987 -3.5297951 0.07318935 -0.7085929 -0.4945589
# R32 1.2459005 1.3215287 3.1338120 1.5618690 1.3473876 0.7551651 -2.1996166 -0.19446911 -0.2471648 -1.4006481
# 2. Run circos_heatmap plot function
circos_heatmap(
circos_heatmap_data,
low_color = "#0000ff",
mid_color = "#ffffff",
high_color = "#ff0000",
gap_size = 10,
cluster_method = "complete",
distance_method = "euclidean",
dend_height = 0.2,
rowname_size = 0.8
)
###############################################################################
# 1. Load deg_data example datasets
data(deg_data)
head(deg_data)
#
# gene log2FoldChange pvalue padj
# 1 TSPAN6 -0.37951916 1.110402e-04 8.624777e-04
# 2 DPM1 0.19692044 7.098804e-02 1.925517e-01
# 3 SCYL3 0.03099276 8.197068e-01 9.138939e-01
# 4 C1orf112 -0.08980230 7.453748e-01 8.742951e-01
# 5 CFH 0.41603874 1.435285e-06 1.680276e-05
# 6 FUCA2 -0.24315848 5.171574e-03 2.422830e-02
# 2. Run volcano_plot plot function
volcano_plot(
deg_data,
log2fc_cutoff = 1,
pq_value = "pvalue",
pq_cutoff = 0.005,
cutoff_line = "longdash",
point_shape = "large_circle",
point_size = 1,
point_alpha = 0.5,
color_normal = "#888888",
color_log2fc = "#008000",
color_pvalue = "#0088ee",
color_Log2fc_p = "#ff0000",
label_size = 3,
boxed_labels = FALSE,
draw_connectors = FALSE,
legend_pos = "right"
)
################################################################################
# 1. Load chord_data example datasets
data(trend_data)
head(trend_data)
# Name Trait1 Trait2 Trait3 Pathway
# 1 gene1 5.1 1.4 3.5 PPAR signaling pathway
# 2 gene2 4.9 1.4 3.0 PPAR signaling pathway
# 3 gene3 4.7 1.3 3.2 PPAR signaling pathway
# 4 gene4 4.6 1.5 3.1 PPAR signaling pathway
# 5 gene5 5.0 1.4 3.6 PPAR signaling pathway
# 6 gene6 5.4 1.7 3.9 PPAR signaling pathway
# 2. Run trend_plot plot function
trend_plot(
trend_data,
scale_method = "globalminmax",
miss_value = "exclude",
line_alpha = 0.5,
show_points = TRUE,
show_boxplot = TRUE,
num_column = 2,
xlab = "Traits",
ylab = "Genes Expression",
sci_fill_color = "Sci_AAAS",
sci_fill_alpha = 0.8,
sci_color_alpha = 0.8,
legend_pos = "right",
legend_dir = "vertical",
ggTheme = "theme_light"
)
################################################################################
# 1. Load example datasets
data(deg_data)
head(deg_data)
# gene log2FoldChange pvalue padj
# 1 TSPAN6 -0.37951916 1.110402e-04 8.624777e-04
# 2 DPM1 0.19692044 7.098804e-02 1.925517e-01
# 3 SCYL3 0.03099276 8.197068e-01 9.138939e-01
# 4 C1orf112 -0.08980230 7.453748e-01 8.742951e-01
# 5 CFH 0.41603874 1.435285e-06 1.680276e-05
# 6 FUCA2 -0.24315848 5.171574e-03 2.422830e-02
# 2. Run plot function
gene_rank_plot(
data = deg_data,
log2fc = 1,
palette = "Spectral",
top_n = 10,
genes_to_label = NULL,
label_size = 5,
base_size = 12,
title = "Gene ranking dotplot",
xlab = "Ranking of differentially expressed genes",
ylab = "Log2FoldChange"
)