问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

phyloseq包的使用

发布网友 发布时间:2022-11-18 16:47

我来回答

1个回答

热心网友 时间:2024-12-12 00:50

参考资料:

https://www.yunbios.net/phyloseq.html

https://joey711.github.io/phyloseq/import-data.html

phyloseq 包,集OTU 数据导入,存储,分析和图形可视化于一体。不但利用了 R 中许多经典的工具进行生态学和系统发育分析(例如:vegan,ade4,ape, picante),同时还结合 ggplot2 以轻松生成发表级别的可视化结果。phyloseq 使用的S4类将一个研究所有相关的测序数据及元数据存储为单个对象,从而更容易共享数据并重复结果。

# 安装,已经安装的忽略。

> if (!requireNamespace("BiocManager", quietly = TRUE))

+    install.packages("BiocManager")

> BiocManager::install("phyloseq", version = "3.8")

# 在包的安装过程中出现了一个错误信息Error in install.packages : cannot remove prior installation of package ‘backports’

# 解决方案:关闭Rstudio,在R包安装路径中找到backports文件夹,全部删除,重启Rstudio重新安装就可以了

```

一个 phyloseq 类,通常由以下几个部分组成:

- `otu_table` :一个数字矩阵 `matrix`,包含了 OTU 在每个样本中的丰度信息;

- `sample_data` :一个`data.frame`,包含了所有样本的表型信息,行名必须匹配`otu_table` 中的样本名;

- `tax_table` :一个字符矩阵 `matrix`,包含了 OTU 的物种信息,行名必须匹配`otu_table` 中的 OTU 名。

```R

# 导入out_table和tax_table,数据一定要转化成矩阵形式,不然后面使用phyloseq包的函数的时候会报错。

> rm(list = ls())

> otu_p <- as.matrix(read.table("otu.csv", header = TRUE, sep = ",", row.names = 1))

> tax_p <- as.matrix(read.table("taxon.csv", header = TRUE, sep = ",", row.names = 1))

# 将数据组合成一个 phyloseq 对象

> library("phyloseq")

> OTU =  otu_table(otu_p, taxa_are_rows = TRUE)

> TAX = tax_table(tax_p)

> physeq_p = phyloseq(OTU, TAX)

> physeq_p

## phyloseq-class experiment-level object

## otu_table()  OTU Table:        [ 9702 taxa and 18 samples ]

## tax_table()  Taxonomy Table:    [ 9702 taxa by 7 taxonomic ranks ]

> plot_bar(physeq_p, fill = "Phylum")

# 导入sample_data

> sampledata = sample_data(data.frame(

+  Times = c(rep("BL", times=6), rep("Y10", times=6), rep("Y4", times=6)),

+  Depth = c(rep(c("top", "top", "top", "sub", "sub", "sub"), times = 3)),

+  row.names = sample_names(physeq_p),

+  stringsAsFactors = FALSE

+))

#  使用ape包建立 OTU 系统发育树并导入 phyloseq 对象

> library("ape")

> random_tree = rtree(ntaxa(physeq_p), rooted=TRUE, tip.label=taxa_names(physeq_p))

> plot(random_tree)

# 太密集了,数据太多,后期可能需要筛选一些OTU

# 现在,我们有了`otu_table`,`sample_data`,`tax_table`,`phy_tree`这四类数据,以下两种方法都可以将他们合并为一个 phyloseq 对象:1. 使用`merge_phyloseq`函数在之前创建的`physeq`对象中加入`sample_data`和`phy_tree`数据;2. 使用`physeq`函数重新创建一个`physeq`对象。(两种方式没有区别,我选择用第二种)

> physeq = phyloseq(OTU, TAX, sampledata, random_tree)

> physeq

## phyloseq-class experiment-level object

## otu_table()  OTU Table:        [ 9702 taxa and 18 samples ]

## sample_data() Sample Data:      [ 18 samples by 2 sample variables ]

## tax_table()  Taxonomy Table:    [ 9702 taxa by 7 taxonomic ranks ]

## phy_tree()    Phylogenetic Tree: [ 9702 tips and 9701 internal nodes ]

# 数据的简单可视化,数据量太大没有跑

> plot_tree(physeq, color="Times", label.tips="taxa_names", ladderize="left", plot.margin=0.3)

> plot_tree(physeq, color="Depth", shape="Times", label.tips="taxa_names", ladderize="right", plot.margin=0.3)

> plot_heatmap(physeq)

> plot_heatmap(physeq, taxa.label="Phylum")

```
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
vivox9和x9i有什么区别 ...设置原则跟构造要求。构造柱的设置原则跟构造要求是什么_百度... ...的U型钢筋锚环要几道?在哪里可以找到依据啊 ...月末不含税库存金额1065000元,请计算门店库存天数 公蟹吃什么 公蟹吃什么东西 爬行健身操功能和原理 锻炼爬行的好处有哪些呢 爬行健身法有什么优缺点 檀木如何粘合 成田剑先生还为哪些日本动漫配音,有名一点滴。谢谢了,大神帮忙啊 大家装修新买空调都买几级能效的 已知1-甲基环丙烷与HBr加成生成2-溴丁烷,问1,2-二甲基环丙烷与HBr加 ... 1-甲基环丙烷和氢气加成的产物是什么?_? 1-甲基环丙烷和硫酸反应 1-[[双(苯基甲基)氨基]甲基]环丙醇的合成路线有哪些? 环己酮和格氏试剂(CH3MgI)反应后处理怎么处理? 电饭锅不保温怎么修理 本人想自己组装一个七声道后级功放看电影,求问 7声道功放对音频输入有什么要求 太原51路公交车路线 途经哪些站点 牛的名字 快手极速版怎么改提现的微信账号 北方冬天吃什么水果好呢? 甲基叔丁基醚对人体的危害 ins特效没有三个星星怎么弄 惠威T200,只有一只音响效果不好吗? 调节桌面图标大小 桌面图标大小怎么调 赶紧去试试 小米无线耳机怎么双耳使用 白沟美鲜美可三楼是干嘛的? 天翼1号2022手机语音激活怎么解锁 家庭企业的含义 现在微商最火的产品有哪些?赫娜朵护肤品真的那么好吗 温州文青科技有限公司怎么样? moveandfreeze的译文 如果可以,拜托了 ppt里面怎么让文字环绕图片 普通人写歌签约在网易云好还是酷狗音乐好? 膝盖摔伤 结痂 膝盖外伤结痂能用手把痂结去是不是好的快些 膝盖擦伤结痂,多久能好 传奇名菜鱼香肉丝,正宗做法是怎样 智能硬件的趋势何在,有没有未来可言?国内目前有没有典型的智能硬件平台... 熹妃Q传通宝怎么获得 通宝获得方法分享 熹妃q传贴秋膘佛跳墙用什么材料 智能硬件的发展趋势 上海吉迅信息科技怎么样 先润信息科技怎么样 长沙富勒信息科技怎么样 公司所有权是什么意思(企业所有权性质指什么)