phyloseq-对象构建-2-Qiime输出数据

本文作者:xph

phyloseq 对象构建

为何要使用

phyloseq 简称ps。公众号推出的多篇教程中,均使用ps对象,其可实现多种分析与可视化,无需再为数据形式而烦恼。

本次推送提供两种生成方法。

一. QIIME下机数据生成

文件组成

otu_table_tax_phylosep.txt

mapping.txt 分组信息组成

构建代码

#清空内存#######
rm(list=ls())
library("phyloseq")
library("ggplot2")
library("dada2")
library("tidyverse")

# 制作phyloseq对象并保存
aa = ".//otu_table_tax_phylosep.txt"
aab = import_qiime(aa)
aab
#导入mapping文件

metadata <- import_qiime_sample_data(".//mapping.txt")
head(metadata)

# 修改第一列名为ID
colnames(metadata)[1] <- "ID"

# 去除行名中空格
rownames(metadata) = gsub(" ","",rownames(metadata))
head(metadata)

# 序列名添加.fastq后缀
rownames(metadata) = paste(rownames(metadata),".fastq",seq = "")

# 删除空格
rownames(metadata) = gsub(" ","",rownames(metadata))
metadata$ID = rownames(metadata)

# 构建ps对象
ps <- merge_phyloseq(metadata, aab)
ps
saveRDS(ps, "./ps.rds")

普通OTU表生成

library(phyloseq)
# github测试数据文件读取
metadata = read.table("http://210.75.224.110/github/EasyAmplicon/data/metadata.tsv", header=T, row.names=1, sep="\t", comment.char="", stringsAsFactors = F)
otutab = read.table("http://210.75.224.110/github/EasyAmplicon/data/otutab.txt", header=T, row.names=1, sep="\t", comment.char="", stringsAsFactors = F)
taxonomy = read.table("http://210.75.224.110/github/EasyAmplicon/data/taxonomy.txt", header=T, row.names=1, sep="\t", comment.char="", stringsAsFactors = F)

# 提取两个表中共有的ID
# 对otutab和taxonomy表中共同出现的OTU进行判断,出现判断为TRUE
idx = rownames(otutab) %in% rownames(taxonomy)

# 依据idx 分别从otutab和taxonomy表中筛选
otutab = otutab[idx,]
taxonomy = taxonomy[rownames(otutab),]

# 构建phyloseq(ps)对象
ps = phyloseq(sample_data(metadata),otu_table(as.matrix(otutab), taxa_are_rows=TRUE), tax_table(as.matrix(taxonomy)))

# 有ps对象即可接入公众号推送的多种分析方法

(0)

相关推荐