转发大佬的帖子,保存备用,出处按照物种丰度对OTU表格进行拆分-丰富和稀有物种识别 - 代码先锋网
稀有物种 (rare taxa, RT),在所有的样本中丰度均低于0.1%;
丰富物种 (abundant taxa, AT),在所有的样本中丰度均高于1%;
中等物种 (moderate taxa, MT):
在所有样本中丰度在0.1%至1%之间;
条件稀有物种 (conditionally rare taxa, CRT):
在所有样本中丰度均低于1%,同时在部分样本中丰度低于0.1%;
条件丰富物种 (conditionally abundant taxa, CAT):
在所有样本中丰度均高于0.1%,同时在部分样本中丰度高于1%;
条件稀有或丰富物种 (conditionally rare or abundant taxa, CRAT):
在部分样本中的丰度在低于0.1%,同时在部分样本中的丰度高于1%。
otu <- read.delim('otu_table.txt', row.names = 1)
- 1
稀有物种(RT),在所有样本中相对丰度都低于0.01%。
otu_ART <- otu[apply(otu, 1, function(x) max(x)<0.0001), ]
write.table(otu_ART, 'otu_ART.txt', col.names = NA, sep = '\t', quote = FALSE)
- 1
- 2
丰富物种(AT),在所有样本中相对丰度都高于1%。
otu_AAT <- otu[apply(otu, 1, function(x) min(x)>0.01), ]
write.table(otu_AAT, 'otu_AAT.txt', col.names = NA, sep = '\t', quote = FALSE)
- 1
- 2
中等丰度物种(MT),在所有样本中相对丰度介于0.01%和1%之间。
otu_MT <- otu[apply(otu, 1, function(x) max(x)<0.01 & min(x)>0.0001), ]
write.table(otu_MT, 'otu_MT.txt', col.names = NA, sep = '\t', quote = FALSE)
- 1
- 2
条件稀有物种(CRT),仅在一些样本中相对丰度低于0.01%,但从不高于1%
otu_CRT <- otu[apply(otu, 1, function(x) max(x)<=0.01 & min(x)<0.0001), ]
write.table(otu_CRT, 'otu_CRT.txt', col.names = NA, sep = '\t', quote = FALSE)
- 1
- 2
条件丰富物种(CAT),仅在一些样本中相对丰度高于1%,但从不低于0.01%
otu_CAT <- otu[apply(otu, 1, function(x) min(x)>=0.0001 & max(x)>0.01), ]
otu_CAT <- otu_CAT[!rownames(otu_CAT) %in% rownames(otu_AAT),]
write.table(otu_CAT, 'otu_CAT.txt', col.names = NA, sep = '\t', quote = FALSE)
- 1
- 2
- 3
条件稀有或丰富物种(CRAT),最低丰度低于0.01,最高丰度高于1%
otu_CRAT <- otu[apply(otu, 1, function(x) max(x)>0.01 & min(x)<0.0001), ]
otu_CRT <- otu_CRT[!rownames(otu_CRT) %in% rownames(otu_ART),]
write.table(otu_CRAT, 'otu_CRAT.txt', col.names = NA, sep = '\t', quote = FALSE)
- 1
- 2
- 3
这样就得到了这6类不同丰度物种相对应的表格,大家根据各自的目的进行后续的分析就行了