首页 > 其他分享 >R:microtable包alpha多样性计算及箱线图绘图

R:microtable包alpha多样性计算及箱线图绘图

时间:2024-05-14 15:53:20浏览次数:18  
标签:线图 microtable 及箱 library 绘图 alpha

rm(list = ls())
setwd("C:\\Users\\Administrator\\Desktop\\microtable") #设置工作目录
library(microeco)
library(magrittr)
feature_table <- read.table('feature_table_g.txt', header = TRUE, row.names = 1, sep = "\t") #特征表
sample_table <- read.table('sample_table_g.txt', header = TRUE, row.names = 1, sep = "\t") #样本表
tax_table <- read.table('tax_table_g.txt', header = TRUE, row.names = 1, sep = "\t", fill = TRUE) #分类表

dataset <- microtable$new(sample_table = sample_table,
                          otu_table = feature_table, 
                          tax_table = tax_table)
dataset$tidy_dataset() 
dataset$rarefy_samples(sample.size = 1000000)

dataset$cal_alphadiv(PD = FALSE) #计算 alpha 多样性

t1 <- trans_alpha$new(dataset = dataset, group = "Subgroup", by_group = "Type") #设置数据与样本分组
head(t1$data_stat)

#t1$cal_diff(method = "KW")
t1$cal_diff(method = "wilcox")

#head(t1$res_diff)
write.table(t1$res_diff, file = "alpha_diversity_differences.txt", sep = "\t", quote = FALSE, row.names = FALSE)

###############################################################
library(ggplot2)
library(ggpubr)
library(dplyr)
library(multcompView)
index <- read.table('Simpson_index.txt', header = TRUE, row.names = 1)

# 绘制箱线图
p <- ggboxplot(index, x = "DAS", y = "Simpson", color = "Gene", width = 0.75,
               size = 1.5,  # 直接在ggboxplot中设置箱线图的线条粗细
               add = "jitter",
               add.params = list(size = 5, alpha = 0.7)) +
  theme_minimal(base_size = 16) +
  labs(x = "", y = "Simpson") +  # 设置y轴标题
  theme(legend.position = "top",
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        panel.border = element_blank(),
        axis.line = element_line(colour = "black", linewidth = 1.5),
        axis.text.x = element_text(size = 22, face = "plain", color = "black", angle = 0, hjust = 0.5, family = "TNR"),
        axis.text.y = element_text(size = 22, face = "plain", color = "black", family = "TNR"),
        axis.title.y = element_text(size = 36, face = "plain", color = "black", family = "TNR"),  # 自定义Y轴标题文字大小
        legend.title = element_blank(),  # 移除图例标题
        axis.ticks = element_line(color = "black"),
        axis.ticks.length = unit(0.25, "cm"),
        legend.key.size = unit(1.2, "cm"),
        legend.text = element_text(size = 18, family = "TNR")) +
  scale_color_manual(values = c("B73" = "#8FC9E2", "Mo17" = "#ECC97F"))

# 手动添加显著性标记
dodge_width <- 0.375
p <- p + annotate("segment", x = 1 - dodge_width, xend = 1 + dodge_width, y = 0.99, yend = 0.99, size = 1.2) +
  annotate("text", x = 1, y = 0.993, label = "*", size = 10, vjust = 0) +
  annotate("segment", x = 2 - dodge_width, xend = 2 + dodge_width, y = 0.99, yend = 0.99, size = 1.2) +
  annotate("text", x = 2, y = 0.993, label = "**", size = 10, vjust = 0) +
  annotate("segment", x = 3 - dodge_width, xend = 3 + dodge_width, y = 0.99, yend = 0.99, size = 1.2) +
  annotate("text", x = 3, y = 0.993, label = "*", size = 10, vjust = 0) +
  annotate("segment", x = 4 - dodge_width, xend = 4 + dodge_width, y = 0.99, yend = 0.99, size = 1.2) +
  annotate("text", x = 4, y = 0.993, label = "*", size = 10, vjust = 0)
# 显示图表
print(p)
# 保存图形
ggsave("boxplot.png", plot = p, width = 10, height = 8, dpi = 1200, bg = "white")

 

标签:线图,microtable,及箱,library,绘图,alpha
From: https://www.cnblogs.com/wzbzk/p/18191459

相关文章

  • Alpha冲刺第五天
    立会讨论情况后端后端的许多Bug都在与前端对接的过程中,出现了各种各样的偏差,所以我们今天依旧在修复Bug,讨论如何更好地对接接口,实现需求(1)张永祥今天完成了:上传图片的接口访问图片的接口存在的问题:由于聊天接口中频繁访问数据库,所以导致了一些线程异步之类的问题,有待......
  • Alpha冲刺第三、四天
    立会讨论状况展示:后端情况由于后端进展过快,而前端进展较慢,所以程序存在的很多Bug暂时无法得到很好的测试(张永祥)昨天:全天学习聊天功能的实现方法今天完成了:完成了聊天模块的设计存在的问题:由于对聊天功能的不了解,所以学习的时候走了很多弯路额外添加的聊天功能怎样......
  • R:microtable数据准备
    rm(list=ls())setwd("C:\\Users\\Administrator\\Desktop\\microtable")#设置工作目录library(microeco)library(magrittr)feature_table<-read.table('feature_table_g.txt',header=TRUE,row.names=1,sep="\t")#特征表......
  • Alpha冲刺接口文档
    Alpha冲刺用户模块POST注册POST/user/register用户在注册时需要设定好:用户名、用户密码、用户的邮箱、邮箱验证码绑定邮箱不是输入邮箱就可以了,而是要发送验证码到指定的邮箱中,确认完验证码之后才能绑定发送邮箱验证码会单独提供一个接口。逻辑可以参照,以下序列图sequen......
  • Alpha1
    @目录一、团队展示二、第一次团队讨论三、团队完成情况四、团队感悟一、团队展示二、第一次团队讨论商讨怎么实现前后端交互,窗体美化三、团队完成情况1.图书管理系统完成2.数据库设计完成3.正在学习怎么让winForm窗体和前端交互四、团队感悟基础不太好,任务分配不合理,而且......
  • 构建空间场景轻应用,Mapmost Alpha来啦【文末赠书(10本)--第二期】
    文章目录:一、MapmostAlpha介绍二、MapmostAlpha应对数字孪生业务痛点解决之道2.1MapmostAlpha提供海量城市底板2.2MapmostAlpha提供便捷的配置管理工具2.3MapmostAlpha提供一键式部署发布和分享三、沉浸式体验MapmostAlpha3.1创建应用3.2新手指导3.3场......
  • CF935D Fafa and Ancient Alphabet 题解
    讲一个很暴力的方法(为描述方便,下文\(a\)数组代表\(s1\),\(b\)数组代表\(s2\))。发现假如当前\(a_i\neb_i\),就不需要再向下枚举了,于是拥有了分类讨论的雏形。我们设\(inv\)代表进行到这一步的概率,可分为以下四种情况:\(a_i>0,b_i>0\)。此时假如\(a_i=b_i\),略过;若\(a_i>......
  • 《黑暗欺骗》c++控制台 2D 版!Alpha 0.2.1
    现在只打了设置这些个东西,游戏主体还没打,那才是难点已实现功能游戏未实现设置有音量设置和键盘设置两个功能存档(这好像是最简单的功能吧?)注意事项!!!没错,如你所见,这个游戏我是使用了MCI来播放声音的!因此,你的DEV-C++需要链接到一个库打开工具->编译选项->编译器-......
  • 为什么是Google创造了AlphaGo,而不是其他公司?
    相关:ArtificialIntelligence|60MinutesFullEpisodes答案:Google一直在进行AI方向的探索;Google有足够的算力。......
  • AlphaGeometry:DeepMind 大算力再造奇迹,但「算力代替智力」或许并非最优解
    作者:李宝珠编辑:三羊封面图来源:GoogleDeepMindDeepMind用算力堆出奇迹?被夸上天的AlphaGeometry含金量有多高近日,谷歌DeepMind的Alpha系列再添新成员——AlphaGeometry,依旧声势浩大,「里程碑」、「史诗级」、「逼近人类」等赞美之词溢出屏幕。那么,这个号称奥数能力金牌级......