16S 基础知识、分析工具和分析流程详解_weixin_30249203的博客-程序员秘密

技术标签: python  人工智能  数据库  

工作中有个真理:如果你连自己所做的工作的来龙去脉都讲不清楚,那你是绝对不可能把这份工作做好的。

这适用于任何行业。如果你支支吾吾,讲不清楚,那么说难听点,你在混日子,没有静下心来工作。

检验标准:随时向别人解释你的工作,让别人提出尖锐的问题,看你是不是答不上来。


16S概念

  • 什么是16S?S是什么意思?
  • 16S分析是用来干嘛的?能分析什么?
  • 16S大致的分析原理是什么?

有点生物学基础的会知道16S和核糖体有关,但大多数还是搞不清楚它们之间的关系。

先明确一些概念:

核糖体:Ribosome,由 RNA(rRNA)和蛋白质 组成,配合 tRNA 来翻译 mRNA。核糖体按沉降系数来分类,S就是沉降系数,原核70S,真核80S。我们一般研究微生物,70S,由50S和30S两个亚基组成。再细分为 5S、16S、23S,我们的 16S 就是指核糖体的亚基的一个组分,16S rRNA。(记住,这是原核生物核糖体的一个组分)

16S rRNA:这并不是我们的研究对象,因为我们测序的不是它,而是它对应在DNA双链上的基因序列,

16S rDNA。可以这样理解,我们所说的16S 就是指 16S rDNA。

分子钟:即氨基酸在单位时间以同样的速度进行置换。16S 的进化具有良好的时钟性质,在结构与功能上具有高度的保守性,在大多数原核生物中rDNA都具有多个拷贝,5S、16S、23S rDNA的拷贝数相同。16S rDNA由于大小适中,约1.5Kb左右,既能体现不同菌属之间的差异,又能利用测序技术较容易地得到其序列,故被细菌学家和分类学家接受。(来源百度)

所以,16S测序的大致逻辑就是:

拿到一个样品,我们捕获其16S区域(引物PCR),然后测序,16S既然有极好的保守性,那就可以用于鉴别不同的物种(相当于一个物种的独一无二的条形码)(有很大一部分是鉴定不到物种的)。

分析逻辑就是聚类成OTU,然后注释(比对已知数据库),后续分析。


偶然看到一篇好的科普文,转载一下:来自 伯豪生物

1、16S

       通常所说的16S是指16S rDNA(或16S rRNA),16S rRNA 基因是编码原核生物核糖体小亚基的基因,长度约1542bp,包括9个可变区和10个保守区,保守区序列反映了物种间的亲缘关系,而可变区序列则能反映物种间的差异。

因16S rDNA分子大小适中,突变率小,故成为细菌系统发育和分类鉴定最常用的标签。

       16S测序是指选择16S rDNA某个或某几个变异区域,选择通用引物对环境样本(肠道、土壤、水体等)微生物进行PCR扩增,然后对PCR产物进行高通量测序,并将得到的测序数据与已有的16S rDNA数据库进行比对分析,从而对环境群落多样性进行研究,核心是物种分析,包括微生物的种类,不同种类间的相对丰度,不同分组间的物种差异以及系统进化等。

image

16S rDNA序列结构

2、OTU

       OTU即Operational Taxonomic Units的缩写(千万表手滑写成OUT,否则就OUT了),在系统发生学或群体遗传学研究中,为了便于进行分析,人为给某一个分类单元(品系,属,种、分组等)设置的同一标志。理论上一个OTU代表一个微生物物种。

       通过测序获得的大量reads,如何才能转变为我们需要的物种信息呢?首先需要对这些reads进行归类(cluster),通常在97%的相似水平划分为不同的OTU,将OTU代表序列与相应的微生物数据库比对(Silva、RDP、Greengene等),得到每个样本所含的物种信息,进而进行后续生物信息统计分析。

3、Q值

      Q值评估用来测序的碱基质量,Q值与测序错误E值之间关系为如果一个碱基的Q值为20,那表示这个碱基的可能测错的可能性为1%。实际操作中常用Q20/Q30作为标准,Q20大于90%妥妥的。

image

4、Coverage

      Coverage值是指各样本文库的覆盖率,数值越高,则样本中序列被检测出来的概率越高,该数值可反映本次测序结果是否代表样本的真实情况。数值越接近于100%,代表本次测序结果越符合样本中微生物的实际情况。

5、Alpha-diversity

        Alpha多样性用于度量群落生态单样本的物种多样性,是反映丰富度和均匀度的综合指标。

菌群丰富度(Community richness)指数有:Chao、Ace,Chao或Ace指数越大,说明菌群丰富度越高。  

       菌群多样性(Community diversity)指数有:Shannon、Simpson,Shannon值越大,说明群落多样性越高;Simpson指数值越大,说明菌群多样性越低。

       根据各样本生成的OTU,对样本序列进行随机取样,以取出的序列数及这些序列所能代表的OTU数构建曲线,计算样本的Alpha多样性。

       通常Alpha多样性指数均以表格形式呈现,这显然不利于论文颜值的提升,那么可以将Alpha多样性指数结合起来,出个箱线图(Box-plot)或可有所帮助。

image

6、Beta-diversity

      Beta多样性用于不同生态系统之间多样性的比较,利用各样本序列间的进化关系及丰度信息来计算样本间距离,反映样本(组)间是否具有显著的微生物群落差异。目前应用比较多的是PCA、PCoA、NMDS分析等。由于微生物多样性研究通常会涉及到大样本数量的样本,因此通过Beta-diversity分析可以直观地反映样本组间的差异情况。距离越远,微生物群落差异越大,即相似性越高。

7、LEfSe

       LEfSe分析即LDA Effect Size分析,多用于多个分组(≧2)之间的比较,或者进行亚组比较分析,进而找到组间在丰度上有显著差异的物种(biomaker)。

       基本过程是首先在多组样本中采用非参数因子Kruskal-Wallis秩和检验检测不同分组间丰度差异显著的物种;然后基于获得的显著差异物种,利用成组的Wilcoxon秩和检验进行组间差异分析;最后采用线性判别分析(LDA)对数据进行降维并评估差异显著的物种的影响力大小(即LDA score)。

LEfSe分析包含了不同分类学水平(门到属或者种)的物种信息,并且是显著差异的物种,因而是一项信息量大、采用率(biger)高的分析,值得拥有~~~

image


16S分析流程

image

建库测序暂且跳过,一下是我们拿到测序数据后的分析步骤:

  1. 过滤Filter
  2. 连接Connect Tags
  3. 聚类OTU Cluster
  4. 分类Taxonomy
  5. 多样性Alpha_Beta
  6. 。。。

Hiseq 的 16S分析流程已经比较成熟了,网上能搜到一些pipeline。

PacBio的 16S分析是最近才开发出来的。

参考文章:High-resolution phylogenetic microbial community profiling

以下是该文章的分析流程:

https://www.nature.com/ismej/journal/v10/n8/extref/ismej2015249x2.jpg

可以看到,PacBio 16S中大部分都在使用 mothur,这真是个好工具啊,还有详细的教程。

Mothur manual

还有详细的数据库: Alignment database(greengenes 和 SILVA)


16S分析细节

  • step01.OTU_Cluster.sh
  • step02.OTU_Taxonomy.sh
  • step03.Alpha_Diversity.sh
  • step04.OTU_Analysis.sh

以下一次详解:

step01.OTU_Cluster.sh 的核心就是聚类得到 OTU,使用的是mothur,步骤很多。

得到OTU后,将原来的序列比对回得到的OTU上。

usearch7.0.1090/usearch7.0.1090_i86linux32 -usearch_global ./1.Clean_Tags/All_Sample.fasta -db ./2.OTU_Cluster/OTU.fasta -strand both -id 0.97 -uc ./2.OTU_Cluster/global.map.uc

usearch_global command

转化格式

bin/usearch7.0.1090/uc2otutab.py ./2.OTU_Cluster/global.map.uc > ./2.OTU_Cluster/OTU_shared_all.xls

 

待续~

 

参考:

16Sr DNA 百科

16s rRNA分析流程和工具的介绍

 

附录:

稀释性曲线(rarefaction curve)

稀释性曲线(rarefaction curve):一般是从样本中随机抽取一定数量的个体,统计出这些个体所代表物种数目,并以个体数与物种数来构建曲线。它可以用来比较测序数量不同的样本物种的丰富度,也可以用来说明样本的取样大小是否合理。分析采用对优化序列进行随机抽样的方法,以抽到的序列数与它们所能代表OTU的数目构建rarefaction curve。稀释性曲线图中,当曲线趋向平坦时,说明取样的数量合理,更多的取样只会产生少量新的OTU,反之则表明继续取样还可能产生较多新的OTU。因此,通过作稀释性曲线,可以得出样品的取样深度情况。 默认是在 97%相似性水平下划分OUT并制作各样品的稀疏曲线。

画OTU Rank curve

data <- read.table("Sample.OTU_rank_percent.xls",header=T,check.names=F)
data <- t(data)
data <- data[rowSums(is.na(data)) != 16,]
library("RColorBrewer")
col=c("#00FF40FF","#FF0000FF","#00FFFFFF")
x_point=as.numeric(rownames(data))
x=max(x_point,na.rm=T)
x=x*1.1
y=max(data[,1:ncol(data)],na.rm=T)

pdf("Sample.OTU_rank.pdf",width=6+1*1,height=6)
par(mai=c(1,1,0.5,1*1))
par("usr")
plot(x,y,xlim=c(0,x),ylim=c(0.0005,100),type="n",xlab="Number of OTUs",ylab="Relative abundance(%)",main="OTU Rank Curve",tcl=-0.2,mgp=c(3,0.3,0),cex.lab=1.2,las=1,log="y",yaxt="n")
axis(2,tcl=-0.2,at=c(0.001,0.01,0.1,1,10,100),labels=c(0.001,0.01,0.1,1,10,100),las=1,hadj=0.6)

points(x_point,data[,1],lwd=2,lty=1,cex=0.6,col=col[1],type="l") #C1
points(x_point,data[,2],lwd=2,lty=1,cex=0.6,col=col[2],type="l") #C3.1
points(x_point,data[,3],lwd=2,lty=1,cex=0.6,col=col[3],type="l") #C3.2

legend(par("usr")[2],10^par("usr")[4],legend=colnames(data),col=col[1:3],pch=15,pt.cex=1.2,cex=0.9,bty="n",ncol=1,xpd=TRUE)
dev.off()

png("Sample.OTU_rank.png",type="cairo",width=6+1*1,height=6,units="in",res=120)
par(mai=c(1,1,0.5,1*1))
plot(x,y,xlim=c(0,x),ylim=c(0.0005,100),type="n",xlab="Number of OTUs",ylab="Relative abundance(%)",main="OTU Rank Curve",tcl=-0.2,mgp=c(3,0.3,0),cex.lab=1.2,las=1,log="y",yaxt="n")
axis(2,tcl=-0.2,at=c(0.001,0.01,0.1,1,10,100),labels=c(0.001,0.01,0.1,1,10,100),las=1,hadj=0.6)

points(x_point,data[,1],lwd=2,lty=1,cex=0.6,col=col[1],type="l") #C1
points(x_point,data[,2],lwd=2,lty=1,cex=0.6,col=col[2],type="l") #C3.1
points(x_point,data[,3],lwd=2,lty=1,cex=0.6,col=col[3],type="l") #C3.2

legend(par("usr")[2],10^par("usr")[4],legend=colnames(data),col=col[1:16],pch=15,pt.cex=1.2,cex=0.9,bty="n",ncol=1,xpd=TRUE)
dev.off()

转载于:https://www.cnblogs.com/leezx/p/7053199.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30249203/article/details/97472464

智能推荐

使用深度学习分类猫狗图片_STONE吃不吃的博客-程序员秘密

使用深度学习分类猫狗图片前言 一、下载数据 二、构建网络 三、数据预处理 四、使用数据增强 总结前言本文将介绍如何使用较少的数据从头开始训练一个新的深度学习模型。首先在一个2000个训练样本上训练一个简单的小型卷积神经网络,不做任何正则化,为模型目标设定一个基准。这会得到71%的分类精度。此时的主要问题在于过拟合。然后我们将会介绍数据增强(data augmentation),它在计算机领域是一种非常强大的降低过拟合de技术。使用数据增强后,网络精度将达到82%。提示:本..

node-sass 安装失败win32-x64-48_binding.node_weixin_34088583的博客-程序员秘密

升级了nodejs的版本,原项目的node-sass模块启动安装不了。下载对应的win32-x64-xx_binding.node https://github.com/sass/node-sass/releases设置成环境变量 目的是告诉程序直接使用本地的.node文件,无需从网上下载 set SASS_BINARY_PATH=D:/nodej...

Go 语言工程管理: Go 语言如何进行代码检查和优化_CoLiuRs的博客-程序员秘密_go 代码检查

Go 语言如何进行代码检查和优化LintingLinting 是识别和报告代码中发现的模式的过程,目的是在开发周期的早期提高一致性并捕获错误。 这在团队合作时特别有用,因为它有助于使所有代码看起来都一样,无论是谁编写的,从而降低复杂性并使代码更易于维护。golangci-lintgolangci-lint is a Go linters aggregator. 集合了各种检查工具如何安装# 安装go get github.com/golangci/golangci-lint/cmd/gola

畅通工程续(HDU 1874 迪杰斯特拉+优先队列)_生活沒有前戲的博客-程序员秘密

                                              畅通工程续Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 71911    Accepted Submission(s): 27860Pr...

在戴尔游匣7559上安装win10和Ubuntu16.04双系统_NongGuangXin的博客-程序员秘密

前言: 好久以前就想装双系统,以前也试过不下20次。都是像按照网上的方法在win10里设置easybcd引导Linux,但是从来没有成功过。我认为是电脑的问题。现在正值放假,又有时间折腾了(生命不息,折腾不止)。我一开始我是想用win10引导Linux,但是试了五六次后都没有成功。 一直想用win10引导Linux是因为win10还是自己的主力系统,安装Linux只是为了玩玩。现在决定好好学习Li...

随便推点

MTK 屏休眠唤醒,没背光。_Healer_S的博客-程序员秘密

因公司没有AAL License。必须关闭对应的project.mk中MTK_AAL_SUPPORT = yes应的kernel config_debug_defconfig,_defconfig, CONFIG_MTK_AAL_SUPPORT=y

C++宏编程技巧_gkzscs的博客-程序员秘密_全局map变量

下面的代码并非按照规范格式来写,仅作示范用途。常用符号##连接符,可将多个标识符拼接起来,组成一个完整的标识符。//定义宏,用来打印整型变量#define PRINT(x) printf(&quot;%d\n&quot;, a##x)int a1 = 1;int a2 = 2;PRINT(1); //等同于printf(&quot;%d\n&quot;, a1),输出1PRINT(2); //等同于prin...

台球技巧个人总结-wangmj_wmj2003的博客-程序员秘密

<br /><br />1、 一定要认真,态度决定一切,打每一杆球都要仔细瞄准出杆。<br />2、 要有控球、尅球、走位的意识;<br />3、 如何运杆?四点一线,左手支撑点、下巴、眼睛、出杆的右手,这四个点一定要在一条直线上,出杆的时候,由慢到快,收杆一定要有个过度,手底下要干净利索,不要触碰台面上的其他球;<br />4、 击球角度,就是与进球角度垂直的切面;<br />5、 瞄准之后,首先右脚脚尖的方向就是击球的方向,站好位,左手除大拇指外,四指自然弯曲,大拇指向上翘起,将杆架

幼儿园 计算机课教案,幼儿园信息技术教案_黎小葱的博客-程序员秘密

篇一:信息技术作业:幼儿园 萤火虫找朋友 教学设计课件篇二:信息技术化教学案例作业—“信息技术支持的教学环节优化”课程作业模板说明:信息技术支持导入、讲授、评价等环节优化的三项作业,可以是同一节课中不同环节的技术应用,也可以是不同课中相应环节的技术应用。 作者信息信息技术支持的导入环节优化(一)第一步:设计前的分析第二步:技术支持的导入设计说明:在这一步里,请将你在导入环节上要说的话,预估的时间,...

深度学习(自监督:MoCo v2)——Improved Baselines with Momentum Contrastive Learning_菜到怀疑人生的博客-程序员秘密

文章目录前言前言这篇文章是何凯明老师团队的文章,作者发现SimCLR一文中提到的trick在MoCo上依然有效。关于MoCo,可以浏览我的上一篇文章:链接具体而言encoder的输出会经过一个线性fc层处理,将fc层替换为SimCLR中的两层MLP(隐藏层为2048维,使用ReLU激活函数)具体性能如下图所示TTT为InfoNCE中的温度超参数,一个简单的替换操作就可以将性能提升最多6%,确实很让人惊讶。使用SimCLR中的模糊数据增强,SimCLR中的color distortion数据

BZOJ 1997 Hnoi2010 Planar 2-sat_PoPoQQQ的博客-程序员秘密

题目大意:给定一个带哈密顿回路的图,判断这个图是否是平面图这竟然是我第一次写2-sat。。。把哈密顿回路拎出来,每条边只有两种可能:在里面或者在外面如果两条边相交,那么必须一条在里面一条在外面然后建2-sat就好了。。。10000条边显然不能暴力建图,但是我们发现如果边数>3*点数,那么这个图一定不是平面图这样就把边数缩小到了400,然后就可以做了#include #

推荐文章

热门文章

相关标签