java fit 16s_16s分析之不同分类水平差异分析及气泡图绘制

2023-12-28 04:20

本文主要是介绍java fit 16s_16s分析之不同分类水平差异分析及气泡图绘制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对otu的差异分析并不是我们唯一的选择,差异往大的做,可以往往门,纲,目,科做。

213115015_1_2021011612133210

今天要做一张长的图,我们可以和别的图一起配合使用会好?

比如这篇文章,还是挺好看的:

213115015_2_20210116121332213_wm

下面是一份完整的代码,我仅仅只做了L2水平,也就是门水平,大家修改文件,即可完整做其他水平的气泡图

全套代码和文件,大家修改文件名即可重复结果

链接:https://pan.baidu.com/s/15Zxbl9Rgk372Lv_w2hEbDg 密码:fwk9

setwd("E:/Shared_Folder/HG_kangbing/nobac_noqianheti_chuli")

design =read.table("map_HG_kangbing_R.txt", header=T, row.names= 1,sep="\t")

head(design)

setwd("E:/Shared_Folder/HG_kangbing/nobac_noqianheti_chuli/taxa_summary")

L2 =read.table("otu_table_tax_L2.txt", header=T,  sep="\t")

head(L2)

# 过滤数据并排序,只有定义为行名是才可以排序

rownames(design)=design$SampleID2

idx = rownames(design) %in%colnames(L2)

idx

sub_design = design[idx,]

count = L2[,rownames(sub_design)]

head(count)

library(limma)

#下面来筛选差异otu

design.mat = model.matrix(~ 0 +sub_design$SampleType)

colnames(design.mat)=levels(design$SampleType)

#可以同时设置好几组比较

contrast.matrix

#行线性模型拟合

fit

#根据对比模型进行差值计算T-test对数据进行计算

fit2

#贝叶斯检验

fit2

results

summary(results)

x

head(x)

x$levelLF =as.factor(ifelse(x$adj.P.Val < 0.05 & x$logFC > 0,"enriched",ifelse(x$adj.P.Val < 0.05 & x$logFC < 0,"nosig","nosig")))

x$levelB80 =as.factor(ifelse(x$adj.P.Val < 0.05 & x$logFC > 0,"nosig",ifelse(x$adj.P.Val < 0.05 & x$logFC < 0,"depleted","nosig")))

#######计算相对丰度均值

# 转换原始数据为百分比

norm =t(t(count)/colSums(count,na=T))# * 100 # normalization to total 100

head(norm)

norm=as.data.frame(norm)

normB80=norm[1:6]

head(normB80)

normB80$meanB80=apply(normB80,1,mean)

###

normLF=norm[7:12]

head(normLF)

normB80$meanLF=apply(normLF,1,mean)

head(normB80)

normB80[grep(".fq|Row.names",colnames(normB80))]

index = merge(normB80,x,by="row.names",all=F)

head(index)

index2=data.frame(name=index$Row.names,LF=index$meanLF,B80=index$meanB80)

head(index2)

index3=data.frame(name=index$Row.names,LF=index$levelLF,B80=index$levelB80)

head(index3)

###########

library (ggplot2)

library (reshape2)

## 利用reshape2将数据框从宽型重构为长型

tax

head(tax)

colnames(tax)=c("name","break1","fengzu")

#########

fengdu

head(fengdu)

colnames(fengdu)=c("name","break1","fengdu")

#########

#########

## 利用ggplot2的散点图作图

## 样品品映射为x轴,属名映射为y轴

## 丰度映射为气泡大小

######将数据转化#wt2

fengdu$log10=-log10(fengdu$fengdu+0.000001)

head(fengdu)

fengdu$fengzu=tax$fengzu

#注意必须转化为因子

fengdu$break1=factor(fengdu$break1)

fengdu$name=factor(fengdu$name)

#####position = position_dodge(0)设置倾斜度yintercept= 10,xintercept = 10#, group=tax$fengzu

mi=c("red","green","#FFFFB3")

pdf("L2.pdf")

p

geom_point(shape=21,colour="black" )+scale_size_area(max_size= 3)+scale_fill_manual(values =mi)+

#scale_fill_gradient2(low = "red", high = "blue")+

#geom_hline(yintercept = 1)+

geom_vline(xintercept = 1.5,colour="white")+

geom_hline(data=fengdu,aes(yintercept=1.5:94.5),colour="white")

p +theme(axis.text.x=element_text(angle = 90,vjust=-0.05),

axis.text.y =element_text(size=6),

panel.background =element_rect(fill = "grey90"),

)+

coord_fixed(ratio = 1.2)

dev.off()

213115015_3_20210116121332588_wm

这篇关于java fit 16s_16s分析之不同分类水平差异分析及气泡图绘制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/545052

相关文章

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S