扩增子测序中OTU表进行抽平的两种方式

简介: A random rarefaction of sample reads according to a specific reads length (usually the smallest value) should be performed firstly for downstream analysis.

扩增子测序拿到OTU表之后通常会被要求进行抽平处理,这样去进行后续比较分析,测序量一致后续分析比较才有意义,但是这种方式的缺陷在于当样品测序量相差比较大时候,会造成数据的极大浪费,假设样品A测序量为3万条reads,样品B测序量10万条,抽平后样品B就会浪费7万条reads,当然抽平并不是唯一的解决途径,文献中也有通过像Deseq2这种方法去进行后续分析的,Deseq2有自己的标准化的方法,做过转录组的人应该大多都清楚,这里呢我就先说下前者--抽平的实现

Option 1 Vegan包


library(vegan)
otu = read.table('16s_OTU_Table.txt', header=T, sep="\t", quote = "", row.names=1, comment.char="",stringsAsFactors = FALSE)%>%select(-13) 
colSums(otu)
otu_rare = as.data.frame(t(rrarefy(t(otu), min(colSums(otu)))))
colSums(otu_rare)

image.png

Option 2 Phyloseq包


library(phyloseq)
set.seed(123)#这种方法最好设置一个随机种子便于重复
otu1 = otu_table(otu, taxa_are_rows = T)
phyloseq = phyloseq(otu1)
#这种方法会自动去除一些低丰度的otu
rare.data = rarefy_even_depth(phyloseq,replace = TRUE)
#8OTUs were removed because they are no longer present in any sample after random subsampling
#查看抽平前后的变化
sample_sums(phyloseq)
sample_sums(rare.data)
#提取抽平后的otu表格 
rare.otu = rare.data@.Data %>%
  as.data.frame()

image.png

可以看到通过phyloseq方法会过滤掉一下低丰度的OTU,所以通过这种方法进行抽平的话,最好set.seed一下,便于重复.

且看下被过滤掉的这8个OTU在各样品中的值如何


otu[setdiff(rownames(otu),rownames(rare.otu)),]

image.png

en,确实蛮低的,删就删了吧!~~ 方法没有好坏,大家自主选择吧!


目录
打赏
0
0
0
0
8
分享
相关文章
|
9月前
|
预测分析表方法
代码遵从C++14标准,忙着别的事潦草的完成,还有许多需要优化的地方。 预测表里面的数:-1代表这有报错,其他数字拆开十位代表行,个位代表列; 行:给出文法的行,从0开始,如:E→TE’是第0行;因为只需要到了右半部分所以只保留了右半部分 列:为什么会出现列呢?因为很多文法右半部分是或的关系,如:T’ →*FT’ |/ FT’ |%FT’|ε 依次的行列是(3,0),(3,1),(3,2),(3,3)所以预测表里存储的是30,31,32,33 其他部分看代码的注释即可,有问题可以留言或加我QQ讨论
53 1
使用 DataFrame 进行数据聚合与透视:洞察数据深层结构
【5月更文挑战第19天】DataFrame 提供了聚合和透视功能,便于数据分析。通过`groupby`和`agg`计算类别统计信息,如`sum`和`mean`,揭示数据模式。使用`pivot_table`重新排列数据,展示清晰结构。多维度透视和按时间聚合进一步增强分析能力。这些工具帮助我们理解复杂数据,挖掘隐藏规律,为决策提供依据。利用DataFrame进行数据深层分析,解锁数据价值,开启数据探索之旅。
106 2
|
10月前
|
C++哈希表企业级运用----DNA序列的检测
C++哈希表企业级运用----DNA序列的检测
没有生物学重复的转录组数据怎么进行差异分析?
设置生物学重复这个环节也是你实验设计很重要的一part,设置的好对你下游分析也有利,通常我们做转录组测序,需要的样本量每组至少为3个生物学重复,这个处理起来就很合理,并且现在流行的差异分析软件DEseq2,limma,edgeR等等都是针对有重复的数据去做的,但有时候会不幸碰到样品测序失败不能用,导致每组就给你剩一个重复时候该怎么办,之前我有批数据就是这样,但是办法总比困难多不能放过任何实验数据,搜了搜其实还是有一些方法可以去解决的,在这里介绍下我搜到的几种方法。
1196 0
HaploMerger2: 从高杂合二倍体基因组组装中重建单倍型
本文只是按照自己的需求翻译了HaploMerger2提供的手册部分内容。HaploMerger2的帮助文档写的非常好,一定要花点时间去读啊! HaploMerger2的分析流程如下 重建单倍体组装中的等位基因关系 检测并纠正二倍体组装中的错连(mis-join) 重建2个单倍型组装 进一步对单倍...
2089 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等