Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >二代测序宏基因组拼接

二代测序宏基因组拼接

作者头像
生信喵实验柴
发布于 2023-02-24 05:18:55
发布于 2023-02-24 05:18:55
1.1K00
代码可运行
举报
文章被收录于专栏:生信喵实验柴生信喵实验柴
运行总次数:0
代码可运行

一、宏基因组拼接原理

基因组拼接一直是整个基因组数据分析中最重要和最核心的工作,因为基因组包含了一个物种全部的遗传信息。得到的基因组越完整,包含的基因组信息也越多,对于后续对整个基因组的功能分析,变异检测都有非常大的帮助。由于基因组本身具有的高度重复序列,多倍体杂合位点,低复杂度区域以及测序错误等诸多条件的影响,基因组拼接一直是一项非常复杂且困难的工作。尤其是基因组重复序列的影响,一直是二代短读长测序最难解决的问题,尽管后来基于二代测序数据开发除了一些辅助拼接方案,例如大片段文库,Optical mapping光学图谱,三位基因组等辅助方案,都无法彻底解决基因组拼接难题。而利用 nanopore 长度长测序,将革命性地解决重复序列对于基因组拼接的影响。

nanopore 测序数据不适合利用 NGS 数据组装的 de Bruijn 图法进行组装,主要存在两方面的原因。第一,de Bruijn 图法等方法依赖测序 reads 拆分的 k-mer 测序准确,而高错误率的MinION 测序 reads 不能保证这一点;第二,de Bruijn 图的结构不适用长 reads。

nanopore 测序数据的长 reads 更适合 Sanger 测序时期基于有 overlap 的共有(consensus)序列组装的方法。这种算法被称为 Overlap Layout Consensus,简写为 OLC 算法,主要分为三步:

(1)Overlap:,对所有 reads 进行两两比对,找到片段间的重叠信息;

(2)Layout:根据得到的重叠信息将存在的重叠片段建立一种组合关系,形成重叠群,即Contig;

(3)根据构成 Contig 的片段的原始质量数据,在重叠群中寻找一条质量最重的序列路径,并获得与路径对应的序列,即 Consensus。

宏基因组拼接 Metagenomically-Assembled Genomes (MAGs),与单个物种拼接类似,但由于宏基因组属于混合样品,并且各个样品之间丰度不同,因此拼接难度更大。通过宏基因组拼接,可以得到更加完整的基因组序列和基因序列。纳米孔测序的宏基因组拼接,由于测序长度更长,可以直接拼接出一些细菌完整的基因组序列,而这些细菌往往无法通过传统纯培养的方法获得,这为获得无法纯培养样品得到完整基因组序列提供了新思路。

二、为什么宏基因组拼接比较难?

基因组拼接一直是生物信息分析当中最重要,也是最困难的过程。尽管纳米孔的长读长测序显著改善了基因组拼接的效果,但基因组拼接依然有很多问题当前技术无法解决。在现阶段,拼接单个物种基因组依然存在较大的技术难度,而宏基因组属于“混合”样品,里面包含了多个物种,因此难度更大。

影响基因组拼接的因素很多,包括内在因素来自基因组本身的重复序列,多倍体杂合,还包括外在因素测序错误,测序饱和度等。而对于宏基因来说还存在各个样品测序深度不均匀的影响,这些都会影响到宏基因组的拼接效果。

在以上所有因素当中,重复序列是基因组拼接最大的影响因素。而在宏基因组拼接中的影响比普通的动植物基因组更大。这是因为对于单个物种来说,所有的重复序列都只属于物种内重复,例如一个基因的多个拷贝或者是一些非编码的串联重复等等。而对于宏基因组来说,由于属于“混合样品”,群落中存在大量微生物,微生物之间的基因交流(如水平基因转移),促使物种间大量的相似甚至相同序列片段出现,从而形成物种间重复。因此,宏基因组实际上是受物种内重复(Intragenomic Repeats)和物种间重复(Intergenomic Repeats)双重因素影响,拼接难度更大。

物种内重复(上)与物种间重复(下)示意图

另外,由于群落中的样品来自同一种或者同一属或更高层级,序列之间具有相似性,例如同样来自肠杆菌属,会将来自不同物种的序列拼接在一起,形成嵌合体,造成拼接错误。

三、二代模拟数据宏基因组拼接

3.1 混合模拟数据

人为添加 10 种微生物,其中包括 8 株细菌,两株真菌。分为两种模式,一种按比例平均分配,称为 Even 数据集,8 株细菌各占 8%,2 株真菌各占 4%。另一种按照对数进行分配,称为 Log 数据集。并且包括 illumina 与 nanopore 数据。

mock 数据集

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/LomanLab/mockcommunity
https://lomanlab.github.io/mockcommunity/

选择 Enterococcus faecalis ERR2935850,Escherichia coli ERR2935852 , Salmonella enterica ERR2935848 以及 Staphylococcus aureus ERR2935849 四种细菌进行混合。然后对混合数据进行拼接。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#下载数据
axel -n 100 https://sra-pub-run-odp.s3.amazonaws.com/sra/ERR2935850/ERR2935850
axel -n 100 https://sra-pub-run-odp.s3.amazonaws.com/sra/ERR2935852/ERR2935852
axel -n 100 https://sra-pub-run-odp.s3.amazonaws.com/sra/ERR2935848/ERR2935848
axel -n 100 https://sra-pub-run-odp.s3.amazonaws.com/sra/ERR2935849/ERR2935849

下载基因组序列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/al-mcintyre/mCaller_analysis_scripts
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#下载单株基因组序列
git clone https://github.com/al-mcintyre/mCaller_analysis_scripts.git
#合并参考序列
cd /share/home/xiehs/18.mags/mCaller_analysis_scripts/assemblies
cat efaecalis_pb.fasta k12_pb.fasta senterica_pb.fasta saureus_pb.fasta >>ref.fasta
mv ref.fasta ../../
cd ../../
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#数据转换
mv ERR2935848 ERR2935848.sra
mv ERR2935849 ERR2935849.sra
mv ERR2935850 ERR2935850.sra
mv ERR2935852 ERR2935852.sra

fasterq-dump ERR2935848.sra
fasterq-dump ERR2935849.sra
fasterq-dump ERR2935850.sra
fasterq-dump ERR2935852.sra
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#随机抽样
#Enterococcus faecalis ERR2935850,
#Escherichia coli ERR2935852,
#Salmonella enterica ERR2935848
#Staphylococcus aureus ERR2935849
conda activate rnaseq
seqkit sample -p 0.03 ERR2935848_1.fastq >meta_1.fastq
seqkit sample -p 0.03 ERR2935848_2.fastq >meta_2.fastq
seqkit sample -p 0.02 ERR2935849_1.fastq >>meta_1.fastq
seqkit sample -p 0.02 ERR2935849_2.fastq >>meta_2.fastq
seqkit sample -p 0.01 ERR2935850_1.fastq >>meta_1.fastq
seqkit sample -p 0.01 ERR2935850_2.fastq >>meta_2.fastq
seqkit sample -p 0.05 ERR2935852_1.fastq >>meta_1.fastq
seqkit sample -p 0.05 ERR2935852_2.fastq >>meta_2.fastq

3.2 基因组拼接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#基因组拼接
#写脚本 spades路径需要自己确定
echo "/share/home/xiehs/Software/miniconda3/envs/unicycler/bin/spades.py -o spades_assembly -t 24 --meta -1 meta_1.fastq -2 meta_2.fastq 1>spades.log 2>spades.err"> spades.sh
#后台运行
#bsub -q fat -n 24 -o %J.log -e %J.err sh spades.sh #可选集群作业
nohup sh spades.sh &

3.3 拼接结果评估

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#拼接结果评估
conda activate quast
nohup metaquast -o metaQUAST -t 12 ref.fasta spades_assembly/scaffolds.fasta &

拼接结果评估

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bioinfoer.com

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信喵实验柴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
二代测序宏基因组真实数据拼接
前面我们模拟混合了几种细菌的数据拼接,本次带来的是文献《Complete and validated genomes from a metagenome》中的数据,步骤就是下载数据,开始拼接。
生信喵实验柴
2023/02/24
1.1K0
二代测序宏基因组真实数据拼接
三代纳米孔宏基因组拼接
从宏基因组测序中拼接细菌完成图,《Complete and validated genomes from a metagenome》2012 年加拿大 Northern Alberta 油砂尾矿池附近海藻细菌培养分离样品,2019 年重新培养提取。
生信喵实验柴
2023/02/24
6390
三代纳米孔宏基因组拼接
新冠参考基因组构建
目前新冠病毒的基因组拼接主要采用与参考序列比对,生成一致性序列的方法。所以,参考序列就非常重要,那么参考序列从何而来,参考序列是否准备,遇到新物种如何构建参考序列?
生信喵实验柴
2022/04/07
8160
新冠参考基因组构建
二代测序基因组拼接实战
该文章中对 20 个细菌基因组进行测序,每个样本分别进行了 illumina,pacbio 以及 nanopore测序。比较三种数据的拼接结果。其中两株细菌已包含发表出来的全基因组序列。
生信喵实验柴
2022/05/23
2.8K0
二代测序基因组拼接实战
三代测序宏基因组物种分类鉴定
人为添加 10 种微生物,其中包括 8 株细菌,两株真菌。分为两种模式,一种按比例平均分配,称为 Even 数据集,8 株细菌各占 8%,2 株真菌各占 4%。另一种按照对数进行分配,称为 Log 数据集。并且包括 illumina 与 nanopore 数据。
生信喵实验柴
2023/02/24
9350
三代测序宏基因组物种分类鉴定
pacbio及nanopore基因组拼接
Pacbio 测序数据与 nanopore 测序数据均为长读长测序,且二者数据质量类似,因此很多软件同时支持 pacbio 与 nanopore 数据,例如 canu,flye,wtdbg,miniasm,smartdenovo等软件均同时支持两种数据。但需注意如果 pacbio 测序为 hifi reads 模式,需要指定该模式。
生信喵实验柴
2022/05/23
1.5K0
拼接病毒基因组
得到参考序列之后,由于病毒基因组较小,不容易从头拼接,因此可以采用与参考序列比对生成一致性序列的方法。无论是 PCR 扩增产物还是宏基因组测序都可以使用该方法得到新冠基因组。
生信喵实验柴
2022/04/07
9730
拼接病毒基因组
kmer 估计基因组大小
要想估计基因组的大小,也就是整条基因组的长度,我们把这个值设为大 G。那么测序的所有碱基数可以计算出来,将所有 reads 的碱基加起来就可以,为大 S。用所有碱基数除以每个碱基的平均覆盖深度 D,碱基总数除以测序深度,那么就可以得到基因组的长度了。所以,要想估计基因组大小,必须计算出每个位点被覆盖的平均深度,因为我们已经有了总碱基数S。但是这个深度无法直接计算出来,所以,我们通过 kmer 的深度,来推测测序的深度,进而求出基因组大小。那么就是要推测出 kmer 深度与测序深度之间的关系,下面我们来看一下如何通过 kmer 的深度来计算测序的深度。
生信喵实验柴
2022/04/07
2.1K0
kmer 估计基因组大小
文献笔记三十三:结合二代三代测序数据组装叶绿体基因组
以Eucalyptus pauciflora为例,探索组装叶绿体基因组最有效的方法
用户7010445
2020/03/03
2.2K0
宏基因组多样品的混合组装
Spades(http://cab.spbu.ru/software/spades/)可用于进行单细菌基因组组装,也能用于宏基因组测序数据,可以进行二代与三代测序数据的混合组装,也支持多样品组装。该工具在官网下载解压即可使用。
SYSU星空
2022/05/05
2.3K0
wtdbg2 | 三代测序数据组装软件①
wtdbg2能利用Pacbio或Nanopore测序数据进行基因组组装。在组装过程中,软件将reads打断成长度为1024 bp的片段(类似kmer序列),再将相似的片段进行整合成一条vertex序列,然后基于vertex序列在reads上的位置,对vertexs序列进行连接,从而得到基因组序列。这种基因组组装方法和De Bruijin Graph方式类似,但是其kmer序列较长,且允许序列之间有mismatch和gap,被作者称为Fuzzy Bruijn Graph。
生信real
2022/08/18
1.5K0
使用SPAdes测序数据拼接软件拼装基因组
SPAdes 是由俄罗斯科学院 St. Petersburg Academic University 与美国科学家合作开发的主要应用于小型基因组如细菌,真菌等基因组测序数据的拼接软件。目前的最新版本 v3.6.2 可以支持常见的 illumina miseq/hiseq 和 ion torrent 测序数据,对单分子测序平台的 pacbio 和 nanopore 的测序数据也能进行拼装,还能进行混合数据的拼装。在 GAGE-B 的测拼里,在 Miseq 平台上的结果获得了最好的评价。
kongxx
2019/03/20
2.1K0
测序数据组装的常用工具
Spades(http://cab.spbu.ru/software/spades/)可用于进行单细菌基因组组装,也能用于宏基因组测序数据,可以进行二代与三代测序数据的混合组装,也支持多样品组装。输入数据可以是Illumina、IonTorrent或PacBio、Sanger测序结果,也可以把一些contigs序列作为long reads进行输入。该软件可以同时接受多组paired-end、mate-pairs和unpaired reads数据的输入。spades支持输入文件格式:fq、fastq、bam、fa、fasta、fq.gz、fastq.gz、bam.gz、fa.gz、fasta.gz,其使用方法如下所示:
SYSU星空
2022/05/05
3K0
测序数据组装的常用工具
基因组拼接探索
在之前介绍的基因组拼接,主要是二代illumina测序的拼接,其中使用不同的软件,及每个软件对应的不同的参数,会得到不同的结果,那么怎么选取软件和参数呢,下面着重介绍这些,当然取决于你的实验数据,从实际出发。可以测试部分小数据先看看结果,拼接多了就明白了。
生信喵实验柴
2022/05/23
3500
跟着Nature Genetics学二代测序数据分析:使用NOVOPlasty组装生菜的叶绿体基因组
NOVOPlasty 软件的配置文件是 lettuce2020/NOVOplasty.config.txt at master · popgenome/lettuce2020 (github.com)
用户7010445
2021/05/07
2.5K0
混合拼接
在当前测序市场条件下,一代二代三代测序平台共存,这是因为每一个测序平台都不是完美的,都有优缺点,例如一代测序准确性高,读长长,但是相应的通量低,价格贵。二代测序显著特点是通量大,准确性高,价格便宜,但是读长短,而三代测序读长长,通量高,但是错误率高,这就需要我们能够根据每种数据的特点,充分利用每一种测序平台数据,得到最优的方案。例如当前基因组拼接中,尤其对于一些大型的基因组,往往混合多种测序平台数据进行拼接,达到最佳的拼接效果。
生信喵实验柴
2022/05/23
1.7K0
混合拼接
数据和代码公开的论文~藻类的群体遗传、叶绿体基因组和线粒体基因组
Phymatolithon calcareum, a maerl-forming red algal species
用户7010445
2021/07/12
5480
数据和代码公开的论文~藻类的群体遗传、叶绿体基因组和线粒体基因组
宏基因组建库测序
宏基因组研究涉及的样品广泛,因此样品提取比较困难,且有很强的针对性。这里面为大家推荐国内的 Bio-protocol 精选集。下面是引用里面的简介。
生信喵实验柴
2023/02/24
1K0
宏基因组建库测序
Pilon | 利用二代测序数据优化三代测序数据组装结果
三代测序错误率比较高,一般组装后需要进行纠错来提高准确度。本次介绍使用Pilon通过引入二代测序数据来对三代基因组进行纠错,此外Pilon还支持对二代测序数据拼接结果进行纠错。
生信real
2022/08/18
3K0
Pilon | 利用二代测序数据优化三代测序数据组装结果
Canu | 三代测序数据组装软件②
Canu软件是Celera Assembler基因组组装软件的一个分支,能利用测序错误率较高的三代测序数据(PacBio或Nanopore)进行基因组De novo组装。该软件的命令行运行方法非常简单,运行速度较快且比较稳定,并能得到较好的基因组组装结果。
生信real
2022/08/18
1.8K0
相关推荐
二代测序宏基因组真实数据拼接
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验