R:LEfSe(线性判别分析)

rm(list=ls()) #清空工作环境
setwd("C:\\Users\\Administrator\\Desktop\\LDA") #设置工作目录
library(tidyverse) #包含了一系列与数据分析和可视化相关的包
library(microeco) #生态学分析的包
library(magrittr) #提供了用于简化代码的管道操作符 %>%

feature_table <- read.table('feature_table.txt', header = TRUE, row.names = 1)
sample_table <- read.table('sample_table.txt', header = TRUE, row.names = 1)
tax_table <- read.table('tax_table.txt', header = TRUE, row.names = 1)
#head(feature_table)[1:6,1:6]
#head(sample_table)[1:6, ]
#head(tax_table)[,1:6]

dataset <- microtable$new(sample_table = sample_table,
                          otu_table = feature_table, 
                          tax_table = tax_table)
#用于创建 microtable 对象。这个对象用于存储微生物组数据,通常包括样本表(sample_table)、OTU(操作性分类单元)表(feature_table)、和分类信息表(tax_table)。
dataset
#用于执行差异丰度分析(Differential Abundance Analysis)
lefse <- trans_diff$new(dataset = dataset,  #用于执行差异丰度分析,其中包含了不同组间的比较
                        method = "lefse", #选择差异丰度分析的方法为 LEfSe(LDA Effect Size)
                        group = "Group",  #指定了用于分组的变量
                        alpha = 0.01, # 是显著性水平,用于确定哪些差异是显著的
                        lefse_subgroup = "Subgroup", #指定子组别的变量名,NULL表示在 LEfSe 中不使用子组别。
                        taxa_level = "Genus", #分析的分类水平
                        #nresam = 0.9, #抽取原始样本的比例
                        lefse_min_subsam = 8
                        ) 
# 查看分析结果
head(lefse$res_diff[lefse$res_diff$LDA > 2.5, ])

# 将分析结果保存为TXT文件
write.table(lefse$res_diff[lefse$res_diff$LDA > 2.5, ], file = "lefse_result.txt", sep = "\t", quote = FALSE, row.names = TRUE)

# 找出LDA大于3的结果的索引
index <- which(lefse$res_diff$LDA > 2.5)
# 定义一个颜色映射
color_map <- c("B73" = "#00BFFF", "Mo17" = "#FF4500")
# 在你的图形代码中使用这个颜色映射
plot <- lefse$plot_diff_bar(use_number = index, 
                            width = 0.8, 
                            group_order = c("B73", "Mo17"))

plot <- plot + scale_color_manual(values = color_map) #颜色映射
plot <- plot + scale_fill_manual(values = color_map)
# 添加标题,并调整位置
plot <- plot + ggtitle("Biomarker (Genus)") +
  theme(plot.title = element_text(hjust = 0,vjust = 0, size = 23))
#横坐标的标题内容
plot <- plot + ylab("LDA SCORE")
plot <- plot + theme(axis.title.x = element_text(hjust = 0.46, vjust = -1))
#y轴刻度标签的字体大小
plot <- plot + theme(axis.text.y = element_text(size = 14))
# 调整图例的位置、大小、外观
plot <- plot + theme(text = element_text(size = 18, color = "darkblue")) ## 改变字体大小和颜色
# 使用legend.justification和legend.direction可以更灵活地定义图例的位置
plot <- plot + theme(legend.position = c(0.7, 1.07), 
                     legend.justification = c(0.7, 1.07), 
                     legend.direction = "horizontal", 
                     legend.text = element_text(size = 18), 
                     legend.key.size = unit(0.9, "cm"))
# 添加注释
#plot <- plot + annotate("text", x = 1, y = 1, label = "Your annotation here")
# 添加一个框把整个图框起来,可以自定义框的颜色和线宽
#plot <- plot + theme(plot.background = element_rect(color = "black", size = 1))
# 调整图形边缘与内容之间的距离 上、右、下、左
plot <- plot + theme(plot.margin = margin(2, 1, 1, 1, "cm"))
#使用的字体是新罗马
plot <- plot + theme(text = element_text(family = "Times New Roman"))
# 打印图形
print(plot)

# 保存图形为PNG格式,可以自定义大小、分辨率等
ggsave(filename = "your_plot2.png", plot = plot, width = 10, height = 10, dpi = 600)

 

R:LEfSe(线性判别分析)

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
R语言LEfSe分析是一种常见的物种或基因组间差异分析方法。LEfSe可以通过在线分析和本地分析两种方式来实现。在线分析可能受到网络和其他因素的影响而导致速度较慢,而本地分析则可以在Windows或Linux系统上进行,并且具有更加灵活的调参方式。在Windows系统上运行LEfSe分析的步骤如下: 1. 首先,需要安装Python(2.7版本)和R,并将其安装路径添加到系统环境变量中。 2. 下载并安装LEfSe本地分析包,可以通过以下链接获取(https://download.csdn.net/download/weixin_43585681/11530367)。 3. 安装Python的相关库文件,包括rpy2、numpy(1.11)和matplotlib(1.5)。这些库文件可以通过pip命令进行安装。 4. 安装R语言的相关库文件,包括mvtnorm、modeltools和coin。可以通过R语言的命令行或包管理工具进行安装。 安装完成后,就可以使用R语言进行LEfSe分析了。具体步骤包括: 1. 准备输入数据,将数据以特定格式保存到lefse.in.txt文件中。 2. 打开命令行窗口,切换到LEfSe的安装目录。 3. 运行以下命令进行LEfSe分析:D:\lefse\run_lefse.py lefse.in.txt lefse.out.txt -l 3 其中,lefse.in.txt是输入文件的路径,lefse.out.txt是输出结果的路径,-l参数指定LDA阈值。 通过以上步骤,就可以使用R语言进行LEfSe分析,并获取到差异物种或基因组的结果。请注意,以上步骤是针对Windows系统的演示,其他系统可能需要稍作调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python&R LEfSe 分析](https://blog.csdn.net/qq_38854576/article/details/86763650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [lefse分析本地实现方法带全部安装文件和所有细节,保证成功。](https://blog.csdn.net/weixin_43585681/article/details/99360997)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值