宏基因组分析-基于binning

article/2025/11/7 2:45:41

一、介绍

宏基因组 ( Metagenome) 指特定环境下所有生物遗传物质的总和。它包含了可培养的和未可培养的微生物的基因。一般从环境样品中提取基因组DNA, 进行高通量测序,从而分析微生物多样性、种群结构、功能信息、与环境之间的关系等。

宏基因组的分析目前主要包括三种方法:基于组装分析、基于reads分析、基于bin分析。

下面我们介绍基于bin的分析方法。

二、分析流程介绍

宏基因组分箱(Binning)是将序列组装得到的Contigs按物种分开归类的过程。宏基因组分箱技术有助于获得不可培养微生物的全基因组序列,获得新物种的基因组序列和功能,预测未知物种的培养方法等等。

分箱软件通常基于GC含量、核苷酸频率、关键的单拷贝基因序列等组成性特征;丰度分布差异,认为源自同一基因组的序列 (contigs),在同一样本中应具有一致的丰度,而在不同的样本之间,它们又应该具有相似的丰度分布;两种策略进行分箱。

基于Binning的宏基因组分析流程,数据分析从下机原始序列开始,首先对原始序列进行去接头、 质量剪切以及去除污染等优化处理。然后使用优质序列进行拼接组装得到Contigs;使用metabat2和maxbin2软件分别对每个样本的Contigs进行分箱;不同软件分箱得到的bin进行合并(binning_refiner)、提纯(MAGpurify);然后将所有样优化后的bin进行去冗余(dRep);而后分别从物种和功能方面进行信息统计。

 

三、详细流程

  1. 数据质量控制,为了提高后续分析质量和可靠性,对原始测序数据进行以下清洗处理, 获取用于后续分析的有效数据(Clean Data)。具体处理步骤如下:使用fastp软件去除质量低的reads,过滤掉质控后长度较低的reads,同时去掉接头序列;如果样品来源于宿主(比如人或动物的粪便),而且该宿主本身的基因组已被发表, 则通过软件Bowtie2软件将reads比对宿主DNA序列,并去除比对相似性高的污染reads;
  2. 序列组装: 使用Megahit软件使用不同kmer对优化序列进行组装得到Contigs;
  3. Bin生成:采用metaWRAP环境中binning模块的metabat2和maxbin2方法对contig进行分箱。
  4. 合并不同软件得到的bin:采用binning_refiner软件将两个软件生成的bin进行合并,重新生成bin,并提纯bin。
  5. 去冗余和筛选:合并所有样本中得到的bins,用CheckM中的lineage_wf流程评估bins的完成度和污染度,并用dRep软件对bins进行去冗余。
  6. Bin丰度计算:在metaWRAP环境中,使用metaWRAP的quant_bins模块计算每个Bin的丰度。
  7. Bin物种注释:使用 PhyloPhlAn3软件将bins与SGB.Jul20比对,获取每个bin的物种分类信息。
  8. Bin功能注释:基于Prokka软件得到的蛋白序列信息,用emapper软件和eggNOG数据库进行比对,得到COG、KEGG、CAZy、GO的信息,采用ARI软件和CARD数据库进行比对得到抗性基因信息,进行基因个数的统计,并进行可视化。

四、主要分析结果

1、Bin信息统计

Bin信息统计(示例)

 

第一列:bin编号;第二列:bin完成度;第三列:bin污染度;第四列:Contig N50;第五列:Contig N90;第六列:一个Bin的所有Contig长度之和,即该基因组草图的总长度;第七列:GC含量是指一个Bin中GC碱基占总碱基的比例。

2、GC-depth图

Contig GC含量和depth深度数据即可进行可视化,绘制Bin中每个contig的散点图。此图可以用来判断分箱效果和污染情况。

Binned contigs可视化

注:横坐标是contig的GC含量;纵坐标是contig depth;一个点代表一个contig,相同颜色的contig来自同一个bin。

3、GOLevel2基因数统计

GO提供了一系列的语义(terms)用于描绘基因、基因产物的特点,这些语义通过三个概念维度展开:细胞学组件(Cellular Component)用于描述某个节点的亚细胞结构、位置和大分子复合物;分子功能(molecular function),用于描述基因以及基因产物的功能;生物学途径(biological process)指的是分子功能的有序组合以实现更复杂的生物功能,

GO注释统计图

注:该图说明的是其中一个bin预测基因所属GO的情况;纵坐标是数量;横坐标是GO;颜色是GO分类;柱子越高,该GO中包含的预测基因(CDS)越多。

4、KEGGLevel2基因数统计

KEGG PATHWAY 数据库中,将生物代谢通路划分为 6 类,分别为:细胞过程(Cellular Processes)、环境信息处理(Environmental Information Processing)、遗传信息处理(Genetic Information Processing)、人类疾病(Human Diseases)、新陈代谢(Metabolism)、生物体系统(Organismal Systems),其中每类又被系统分类为二、三、四层。第二层目前包括有 57个种子 pathway;第三层即为其代谢通路图;第四层为每个代谢通路图的具体注释信息。

 KEGG pathway level2水平CDS数量可视化

注:横坐标是KEGG level2水平CDS数量;纵坐标是KEGG level 2名称;颜色用于区分KEGG level 1的类型。

4、COG各类别基因数统计

COG,即Clusters of Orthologous Groups of proteins(同源蛋白簇)。COG是由NCBI创建并维护的蛋白数据库,根据细菌、藻类和真核生物完整基因组的编码蛋白系统进化关系分类构建而成。通过比对可以将某个蛋白序列注释到某一个COG中,每一簇COG由直系同源序列构成,从而可以推测该序列的功能。

 

注:纵坐标是COG level 2分类(字母表示,共26种分类);横坐标是注释到的CDS计数;颜色是COG level 1分类(四大类,分别是:细胞过程和信号传递、信息储存和加工、代谢和尚未明确);柱子越长,属于该分类的预测基因越多。

4、Bin进化树

使用 PhyloPhlAn3软件将Bin与SGB.Jul20比对,以获取Bin之间的进化关系树和物种注释。图中的热图展示的是Bin相对丰度信息, 分支不同颜色表示门分类信息。

 

5、Bin圈图可视化

利用每个Bin(基于contig)的Prokka蛋白预测信息,功能区注释信息(含正负链、CDS、RNA类型等信息),以及GC content、GC skew的统计结果绘制Circos圈图,直观展示整个Bin的功能注释信息。

 

注:展示长度最长的20条contigs。从外到内,第一圈表示属于该bin的contigs,长度用刻度表示,单位为Mbp;第二圈用不同颜色区分contigs上的正链和负链;第三圈用不同颜色的三角标出tRNA, rRNA以及CDS(编码蛋白)的编码区;第四圈标注contigs分段(每1kb)GC含量,其中用不同颜色区分大于和小于所有contigs分段GC含量总平均值;第六圈标注contigs 分段(每1kb)GC skew值,大于和小于0用不同颜色区分。


http://chatgpt.dhexx.cn/article/f7d936Hv.shtml

相关文章

宏基因组生信分析方法介绍

随着高通量技术的发展,宏基因组学(metagenomics)已经成为研究微生物群落物种及功能的前沿科学,在肠道微生物、环境微生物等研究领域具有广泛应用。宏基因组学通过对微生物群落全部DNA进行高通量测序,将测序序列与公共数…

宏基因组分析-基于组装

一、介绍 宏基因组 ( Metagenome) 指特定环境下所有生物遗传物质的总和。它包含了可培养的和未可培养的微生物的基因。一般从环境样品中提取基因组DNA, 进行高通量测序,从而分析微生物多样性、种群结构、功能信息、与环境之间的关系等。 宏基因组的分析目前主要包…

逻辑回归的常见问题

文章目录 逻辑回归概括逻辑回归的基本假设逻辑回归的损失函数交叉熵损失函数的原理交叉熵损失函数的直观理解logistic回归和线性回归的关系线性回归和逻辑回归的异同逻辑回归是线性模型吗类别的分界线是什么逻辑回归输出值是概率吗逻辑回归也可以处理多分类逻辑回归的求解方法梯…

SQL逻辑运算

SQL逻辑运算符 SQL 逻辑运算符逻辑运算符 ALL逻辑运算符 AND逻辑运算符 ANY逻辑运算符 BETWEEN逻辑运算符 EXISTS逻辑运算符 IN逻辑运算符 LIKE逻辑运算符 NOT逻辑运算符 OR逻辑运算符 IS NULL SQL 逻辑运算符 运算符描述ALL所有运算符用于比较的值到另一个值组中的所有值ANDA…

逻辑英语-写作

指日可待 In this way, a better tomorrow will not be a question of if, but when.1、shoulder 我们应当承担起保护环境的重任。 We must shoulder the liability of -----2. Word 我对你的感谢已经溢于言表 My thanks to you is beyond words.3. house 容纳 A wise man she…

逻辑英语公式R1+R2

一、主谓宾 1.1、主语 一般是名词,一般是动作的发出者,或者是被描述的对象 1.2、宾语 一般也是名词,一般是主语作用到的对象。 1.3、谓语 如果没有谓语那么这个世界就是静态,谓语就是来让这个主语和谓语产生关系。 常见的是…

串口USART和UART

串口通信: UART是通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接受。UART主要用于主机与辅助设备通信。 UART的功能计算器内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进…

【通信接口】UART、IIC、SPI

目录 一、预备知识 1、串行与并行 2、单工与双工 3、波特率 二、UART 三、IIC 四、SPI (一对一、一对多) 五、IIC、SPI异同点 参考文章:这些单片机接口,一定要熟悉:UART、I2C、SPI、TTL、RS232、RS422、RS485…

基于FPGA的UART接口设计

一、顶层设计思路: UART即通用异步收发传输接口(Universal Asynchronous Receiver/Transmitter),简称串口,是一种常用的通信接口,其协议原理就不赘述了,不了解的可以自己查阅资料。(…

单片机通信接口:UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB

参考资料: 这些单片机接口,一定要熟悉:UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡 秒懂所有USB接口类型,USB接口大全 1. UART UART(通用异步收发器)指的是一种物理接口形式(硬件)。 UART是异步,全双…

通信接口:UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB

1. UART UART(通用异步收发器)指的是一种物理接口形式(硬件)。 UART是异步,全双工串口总线。它比同步串口复杂很多。有两根线,一根TXD用于发送,一根RXD用于接收。 UART的串行数据传输不需要使用时钟信号来同步传输,而是依赖于发送…

USB,串口(RS232、RS485),UART接口

USB转串口即实现计算机USB接口到通用串口之间的转换。为没有串口的计算机提供快速的通道,而且,使用USB转串口设备等于将传统的串口设备变成了即插即用的USB设备。作为应用最广泛的USB接口,每台电脑必不可少的通讯接口之一,它的最大…

Uart接口的详细解释

我面试的时候一般喜欢问应聘者一个问题:UART与RS232/RS485的区别与联系?很多人对于这个问题答得都不是很好。还有些人压根就没有想过这个问题,一直认为他们是同一个东西,就是咱们俗称的串口。 我刚入嵌入式的大门时,对…

UART接口说明

逼近年关事情多,少了更新。今天冒个泡。说下UART通信接口。 UART扫盲 前面做了SPI和I2C,前两者一个是摩托,一个是飞利浦背书,简单好理解。这个UART就相对复杂一点,全称universal Asynchronous Receiver/Transmitter …

UART接口详解

文章目录 简介硬件接线RS232RS485RS232和RS485比较 通信原理uart和usart的区别实例针对STM32的串口数据位特点,改成对应PC的串口数据校验当使用9600波特率的时候,通讯稳定,当使用115200波特率的时候,通讯变得不稳定。 简介 UART全…

UART接口介绍

0 Preface/Foreword UART是Universal Asynchronous Receiver and Transmitter简称,中文为 通用异步接收和发送器,是常用的串行通讯接口。 RS-232:RS-232标准接口(aka. EIA RS-232)是常用的串行通信接口标准之一&#…

一文理解UART通信

还记得当年的打印机,鼠标和调制解调器吗?他们都有巨大笨重的连接器和粗电缆,并且必须拧到你的电脑上。这些设备正是使用UART协议与计算机进行通信。虽然USB几乎完全取代了旧的电缆和连接器,但UART绝对没有过时。您会发现目前许多项目中使用U…

Ajax传json对象(jQuery)

Ajax传json对象 相信很多小伙伴想要通过Ajax传输json数据给后端,本来直接发送一个data: JSON.stringify(obj)就可以了,但是发现后端的请求参数中有一个参数需要int类型,这个时候就需要用到对象了。 封装对象 首先得到数据并封装对象 &…

十分钟搞懂JSON(JSON对象---JSON字符串---对象 之间的区别)

好记性不如烂笔头&#xff0c;相信我&#xff0c;看了之后你会彻底搞懂JSON 前言&#xff1a;前天被JSON对象&#xff0c;JSON字符串&#xff0c;JAVA对象搞混了&#xff0c;不知道各自代表的意思&#xff0c;我就查了资料&#xff0c;总结为一篇博文。 另外我想List<User&g…

【python】将json字符串转化为json对象

首先导入python自带的json模块 import json loads方法将json<key,value>字符串转化为dict形式 info {"name":"Lucy","age":22,"addr": "China"} print(type(info)) info_dict json.loads(info) print(info_dict)…