前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >免组装宏基因组群落分析

免组装宏基因组群落分析

作者头像
SYSU星空
发布于 2022-05-05 05:37:23
发布于 2022-05-05 05:37:23
78100
代码可运行
举报
运行总次数:0
代码可运行

宏基因组数据可以不经组装,直接将测序获得的reads比对到公共数据库中,利用比对到的数据库序列的物种归属信息对reads进行物种分类,从而快速获得群落的物种组成信息。

宏基因组分析Pipeline

测序数据的解析:Fastq与FastQC

测序数据的质控:Trimmomatic!

测序数据的筛选:去除宿主序列

测序数据的组装:常用软件工具

免组装宏基因组群落分析

更新中……

01

KAIJU

KAIJU(http://kaiju.binf.ku.dk/)是一个对宏基因组高通量测序数据进行物种分类的工具,Kaiju将所有的reads翻译成氨基酸序列,然后在蛋白质数据库(NCBI RefSeq或者NR)中搜寻这些序列,来发现最精准的比对(maximum exact matches,MEMs)。

在使用前,需要使用参考蛋白质数据库构建Kaiju的数据库Index,首先从NCBI的FTP下载参考基因组和taxonomy文件,可以使用Kaiju的makeDB.sh命令自动下载并构建Index,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir kaijudb
cd kaijudb
nohup ../bin/makeDB.sh -e &
#具体参数如下所示:
-r:只下载完整的细菌和古菌基因组数据从NCBI RefSeq
-p:下载proGenomes数据库(http://progenomes.embl.de/)所有蛋白序列
-n:下载NCBI NR数据库并提取属于细菌、古菌和病毒的蛋白质序列
-e:下载NCBI NR数据库并提取属于细菌、古菌、病毒以及真菌、真核微生物的蛋白质序列
-m:下载海洋宏基因组网站(Marine Metagenomics Portal,MMP,https://mmp.sfb.uit.no/)海洋参考数据库MarRef和MarDB
-v:是-r与-p的补充,下载病毒的基因组数据
-t:构建Kaiju的Index时使用的核数,默认为5
--noDL:不下载数据库文件,使用已经存在的文件构建Index,例如-e参数会下载nr.gz与taxdump.tar.gz,如果存在已经下载的这两个本地文件,就可以不再重复下载

Kaiju主程序使用方法如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$PATH/kaiju/bin/kaiju -t nodes.dmp -f kaiju_db.fmi -i reads.fastq [-j reads2.fastq]
参数含义如下所示:
-t:数据库nodes.dmp文件名,在kaijudb,需要加绝对路径
-f:数据库(.fmi)文件名,在kaijudb,需要加绝对路径
-i:reads文件名,fasta或者fastq格式
-j:双末端测序中第二个reads文件名
-o:输出结果文件名,如果没有设置,默认输出到标准输出
-z:程序运行的核数,默认为1
-a:使用最精准比对算法"mem"还是贪婪算法"greedy"MEM算法只考虑精确匹配,不允许有错配,默认为greedy
-e:贪婪算法中最大允许错配数,默认为3
-m:最小比对长度,默认为11
-s:在贪婪算法中最低匹配得分,默认为65
-E:在贪婪算法中比对的最低E-value,与blastp类似
-p:输入序列为蛋白质序列
-v:输出备份信息

下面对质控后的clean reads进行物种注释:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nohup kaiju -z 20 -t nodes.dmp -f kaiju_db_nr_euk.fmi -i screen.clean_1.fq -j screen.clean_2.fq -o clean.reads.kaiju.nr.out &

结果中包含每条序列的taxid,但是并不包含物种名称,可以为注释结果添加各层级的物种名称:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nohup addTaxonNames -i clean.reads.kaiju.nr.out -t nodes.dmp -n names.dmp -o clean.reads.kaiju.nr.names.out -p -u &

其中-u表示无法分类的reads不包含在输出结果中,-p表示输出完整的分类路径,也即不同层级的分类单元。

基于比对结果,可以在不同分类水平对reads进行binning,从而获得不同分类水平的群落结构信息,下面以门水平为例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kaijuReport -i clean.reads.kaiju.nr.out -t nodes.dmp -n names.dmp -o clean.reads.kaiju.out.phylum.summary -r phylum

其中-r为分类水平,binning结果如下所示:

Krona(https://github.com/marbl/Krona/wiki)是一个很好的分层数据探索工具,通过可缩放的、多层的扇形图进行展示数据结构,krona数据可以通过KronaTools绘制图形,首先使用Kaiju的kaiju2krona工具生成krona数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kaiju2krona -i clean.reads.kaiju.nr.out -t nodes.dmp -n names.dmp -o clean.reads.kaiju.nr.krona

然后利用KronaTools绘制图形:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ktImportText -o clean.reads.kaiju.nr.krona.html clean.reads.kaiju.nr.krona

结果如下所示:

01

MetaPhlAn

MetaPhlAn(http://huttenhower.sph.harvard.edu/metaphlan/)是分析微生物群落物种(细菌、古菌、真核生物和病毒)组成的Pipline,它在宏基因组研究中非常有用,只需一条命令即可获得微生物的物种丰度信息,目前最新的版本是MetaPhlAn2(http://huttenhower.sph.harvard.edu/metaphlan2)。

MetaPhIAn的基本处理思想为首先将已知数据库的序列信息进行分析,最终形成每个物种独特的marker,然后将测序数据跟marker进行blast比对,确定物种类别,最终根据每个物种比对上的reads数目以及marker长度计算得到丰度。进化分支特异的maker(Clade-specific markers)需要满足在该分支内的基因组中是保守的,并且与分支外的基因组序列不相似。在MetaPhlAn中,物种分类准确性在于物种的基因组数据是否足够丰富,越丰富,marker的信息越准确,此处用2887个基因组数据进行的marker计算。计算速度的快慢取决于marker和reads的比对速度,此处用BLAST进行的操作。为此在MetaPhlAn2中,数据库进行了更新,使用了约17000参考基因组数据,(其中细菌和古菌13500、病毒3500、真核微生物,并用bowtie2进行reads和marker的比对。

软件下载解压后即可使用,主程序脚本为metaphlan2.py,第一次使用,程序会自动从https://bitbucket.org/biobakery/metaphlan2/downloads/下载数据库文件(mpa_v20_m200.tar)至安装目录的metaphlan_databases文件夹中,并进行校验、解压。软件使用方法如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
metaphlan2.py [Options] INPUT_FILE OUTPUT_FILE
Options:
--input_type:输入文件格式,可选fastq、fasta、multifasta、multifastq、bowtie2out、sam,默认为automatic,也即自动检测
--bowtie2db:BowTie2数据库,默认安装目录下metaphlan_databases文件夹
--bowtie2_exe:BowTie2软件脚本的名称及路径,当其不在默认环境变量时可以使用此参数来指定
--bowtie2_build:bowtie2-build程序路径,当其不在默认环境变量时可以使用此参数来指定
--bowtie2out:储存BowTie2比对结果的文件名称,类似于bed文件
--tmp_dir:临时文件储存路径,默认为系统tmp dir
--tax_lev:相对丰度输出结果的分类层级,可选a(all taxonomic levels)、
k(kingdoms)、p(phyla only)、c(classes only)、o(orders only)、f(families only)、g(genera only)、s(species only),默认为a
--min_alignment_len:reads最小比对长度
--ignore_viruses:忽略病毒
--ignore_eukaryotes:忽略真核生物
--ignore_bacteria:忽略细菌
--ignore_archaea:忽略古菌
--sample_id_key:指定样品ID key,默认为#SampleID
--sample_id:指定sample ID,默认为Metaphlan2_Analysis
-s, --samout:输出的sam文件名称
--mdelim, --metadata_delimiter_char:不同分类层级之间的分隔符,默认为pipe,也即:k__Bacteria|p__Proteobacteria
--nproc:程序运行所使用的核数,默认为4
--stat_q:用于截断或缩尾统计的分位数
--stat:将markers丰度转换为系统发育分支丰度的统计方法,有以下几种(默认为tavg_g):
avg_g:全部marker丰度的均值
avg_l:长度标准化的marker丰度的均值
tavg_g:总体marker丰度的截短均值,基于分位数--stat_q
tavg_l:长度标准化的marker丰度的截断均值,基于分位数--stat_q
wavg_g:总体marker丰度的缩尾均值,基于分位数--stat_q
wavg_l:长度标准化的marker丰度的缩尾均值,基于分位数--stat_q
med:长度标准化的marker丰度的中位数
INPUT_FILE:输入文件名称
OUTPUT_FILE:输出文件名称

所谓截断均值就是去掉该分类层级最低的一部分taxonomy,使用剩余高丰度部分来计算相对丰度均值,而缩尾均值则是使用次低的部分来代替最低的部分。接下来使用metaphlan2对宏基因组clean reads进行分析:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nohup metaphlan2.py --nproc 20 --stat tavg_l --bowtie2out meta.bowtie2.bz2 --input_type fastq <(cat screen.clean_1.fq screen.clean_2.fq) > metagenome.txt &

结果如下所示:

在metaphlan2安装目录下,utils文件夹中所包含的脚本merge_metaphlan_tables.py可以将不同样品的物种谱融合在一起,方便后续的比较分析,多个文件空格分隔,或使用通配符,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
merge_metaphlan_tables.py 1061_metagenome.txt 1171_metagenome.txt 1194_metagenome.txt 1237_metagenome.txt  | sed 's/_metagenome//g' > merged_metagenome.txt

结果如下所示:

此外脚本metaphlan_hclust_heatmap.py可以绘制热图来比较不同样本的物种构成差别,使用方法如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
metaphlan_hclust_heatmap.py [options] --in INPUT_FILE --out OUTPUT_FILE
--in:使用utils/merge_metaphlan_tables.py获得的结果
--out:输出结果图像,后缀可选png、pdf、svg
-m:层次聚类方法,可选single、complete、average、weighted、centroid、median、ward,默认为average
-d:样品距离计算方法,用于样品聚类,可选euclidean、minkowski、cityblock、seuclidean、sqeuclidean、cosine、correlation、hamming、jaccard、chebyshev、canberra、braycurtis、mahalanobis、yule、matching、dice、kulsinski、rogerstanimoto、russellrao、sokalmichener、sokalsneath、wminkowski、ward,默认为braycurtis
-f:物种距离计算方法,用于物种聚类,可选euclidean、minkowski、cityblock、seuclidean、sqeuclidean、cosine、correlation、hamming、jaccard、chebyshev、canberra、braycurtis、mahalanobis、yule、matching、dice、kulsinski、rogerstanimoto、russellrao、sokalmichener、sokalsneath、wminkowski、ward,默认为correlation
-s:数据范围缩放方法,可选log
-x:热图一个小单元的宽度,对于非常大的图可设置此值
-y:热图一个小单元的高度,对于非常大的图可设置此值
--minv:热图展示的最小值(相对丰度),默认为0也即全部展示
--maxv:热图展示的最大值(相对丰度),默认为出现的最大值,设置成100则展示所有物种
--tax_lev:展示的分类层级,可选a(all taxonomic,混杂在一起,不推荐)、k(kingdoms)、p(phyla)、c(classes)、o(orders)、f(families)g(genera)、s(species),默认为s
--perc:百分数,只显示高丰度物种,默认为90
--top:数字,只展示排名前几的高丰度物种ordering based on --perc)
--sdend_h:样品树的高度,默认为0.1
--fdend_w:物种树的宽度,默认为0.1
--font_size:标签字体大小,默认为7
--clust_line_w:系统发育树线的宽度
-c:绘制热图的颜色设置:Accent、Blues、BrBG、BuGn、BuPu、Dark2、GnBu、Greens、Greys、OrRd、Oranges、PRGn、Paired、Pastel1、Pastel2、PiYG、PuBu、PuBuGn、PuOr、PuRd、Purples、RdBu、RdGy、RdPu、RdYlBu、RdYlGn、Reds、Set1、Set2、Set3、Spectral、YlGn、YlGnBu、YlOrBr、YlOrRd、afmhot、autumn、binary、bone、brg、bwr、cool、copper、gist_earth、gist_ncar、gist_rainbow、gist_stern、gray、hot、hsv、jet、pink、seismic、spectral、spring、summer、terrain、winter、bbcyr、bbcry,默认为jet

下面对4个样品的融合结果进行作图,展示属水平所有物种的群落:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
metaphlan_hclust_heatmap.py --tax_lev g -c Blues --in merged_metagenome.txt --out merged_metagenome.pdf

作图结果如下所示:

—END —

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

本文分享自 微生态与微进化 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
metaphlan物种分类鉴定
MetaPhlAn 是用于二代测序物种分类的工具,只需一条命令即可得到宏基因组物种分类的列表,以及相对丰度信息,使用起来非常方便。目前最新版本是 metaphlan3.0。
生信喵实验柴
2023/02/24
2.4K0
metaphlan物种分类鉴定
二代测序宏基因组分析软件安装及数据库下载
1、数据质控:使用 kneaddata 软件,该软件先调用 Trimmomatic 过滤数据,然后利用bowtie2 或 bmtagger 比对宿主数据库去除宿主数据 (也可以去除核糖体数据)。
生信喵实验柴
2023/02/24
2.1K0
二代测序宏基因组分析软件安装及数据库下载
为了更精确的定量:宏基因组gene丰度分析工具的比较
之前常有做宏基因组的朋友问我,为什么他们计算基因丰度获得的结果中,有些基因的丰度为零。理论上所有的contig序列均由reads拼装而得,而基因作为contig序列上一个区域,不该没有reads比对上。其实,这些丰度为零的基因反映了宏基因组gene丰度计算一个很容易犯的错误。非常抱歉的是,我在之前文章零代码计算contigs与genes丰度一文中,并没有及时认识并纠正这个错误,现在亡羊补牢,希望对大家能有所帮助!
SYSU星空
2022/05/05
1.4K0
为了更精确的定量:宏基因组gene丰度分析工具的比较
跟着NPJ学宏基因组分析流程-肠道微生物群通过调节胆汁酸代谢来影响奥贝胆酸对非酒精性脂肪性肝病的治疗效果
hello,hello!小伙伴们大家下午好,我是小编豆豆,之前小编给大家分享了NC学宏基因组分析流程,今天小编再给大家分享一篇宏基因流程,文章提供完整的分析流程和代码,是一篇学习宏基因组数据分析不错的素材。文章是2023年3月份发表在 npj biofilms and microbiomes,题为:Gut microbiome determines therapeutic effects of OCA on NAFLD by modulating bile acid metabolism。
用户1075469
2023/08/26
4640
跟着NPJ学宏基因组分析流程-肠道微生物群通过调节胆汁酸代谢来影响奥贝胆酸对非酒精性脂肪性肝病的治疗效果
宏基因组流程: 从Raw fastq到taxonomic and functional profile
在宏基因组分析流程的开始阶段,首要任务是检查原始测序数据的质量。这一步包括对数据的完整性、文件格式、序列长度、测序质量(如Q值、GC含量等)以及潜在的测序错误或污染进行初步评估。通过这一步,研究人员可以确保后续分析的准确性和可靠性。
生信学习者
2024/06/14
5010
宏基因组流程: 从Raw fastq到taxonomic and functional profile
宏基因组简介
Metagenomics is the study of genetic material recovered directly from environmental samples. The broad field may also be referred to as environmental genomics, ecogenomics or community genomic。
生信喵实验柴
2023/02/24
3.9K0
宏基因组简介
宏基因组reads筛选:去除宿主序列
基于环境的复杂性与研究对象的不同,宏基因组数据在组装之前常需要过滤掉一些序列以防干扰研究。例如要研究动植物组织或肠道的微生物组,往往需要去除宿主的DNA序列。假如研究的是人类肠道微生物的宏基因组,需要去除属于人基因组的序列。具体方法为将质控后的序列和人类基因组序列进行比对,将比对上的序列去除。
SYSU星空
2022/05/05
3.7K0
宏基因组reads筛选:去除宿主序列
GraPhlAn宏基因组物种谱可视化
Metaphlan2直接输出的结果文件及不同样本融合的物种谱(或者其他来源的相同格式的物种谱)可以用GraPhlan来可视化。GraPhlAn是一个环状分类和系统发育树可视化软件,主页地址及安装方法如下所示:
SYSU星空
2022/05/05
1.3K0
GraPhlAn宏基因组物种谱可视化
宏基因组binning原理
在宏基因组中分离单基因组,可利用序列特征或序列组装信息,常见的可用信息主要有以下几种:
SYSU星空
2022/05/05
1.2K0
宏基因组binning原理
humann3功能组成分析
HUMAnN,The HMP Unified Metabolic Analysis Network,是一款快速获得宏基因组、宏转录组物种和功能组成的软件。metaphlan 主要进行物种的组成分析,而 humann 更进一步,除了物种组成,还包括功能组成分析。humann 通过调用 metaphlan 完成物种组成部分。与metaphan 类似,humann 使用简单,运行速度快,与传统的翻译比对方法相比,采用分层式算法比对标记基因、泛基因组和蛋白数据库,速度更快且准确率更高;
生信喵实验柴
2023/02/24
2.9K1
humann3功能组成分析
研究论文-基于宏基因组分析的研究表明,蚯蚓种类显著影响畜禽粪便中的抗生素抗性基因组构成
Hello,Hello小伙伴们大家好,目前小编就职于中国热带农业科学院,环境与植物保护研究所农业农村部热带地区低碳绿色农业重点实验室。目前实验室主要以研究方向是使用宏基因组学、宏病毒组等多组学研究微生物对土壤,大气等介质中元素循环的作用,环境中微生物功能基因的挖掘。今天给大家带来一篇团队刚刚发表在Environmental Pollution上的文章,团队彭梁博士和农业农村部天津农业生态与资源保护研究所杨明为论文的第一作者。
用户1075469
2025/04/26
1490
研究论文-基于宏基因组分析的研究表明,蚯蚓种类显著影响畜禽粪便中的抗生素抗性基因组构成
二代测序宏基因组拼接
基因组拼接一直是整个基因组数据分析中最重要和最核心的工作,因为基因组包含了一个物种全部的遗传信息。得到的基因组越完整,包含的基因组信息也越多,对于后续对整个基因组的功能分析,变异检测都有非常大的帮助。由于基因组本身具有的高度重复序列,多倍体杂合位点,低复杂度区域以及测序错误等诸多条件的影响,基因组拼接一直是一项非常复杂且困难的工作。尤其是基因组重复序列的影响,一直是二代短读长测序最难解决的问题,尽管后来基于二代测序数据开发除了一些辅助拼接方案,例如大片段文库,Optical mapping光学图谱,三位基因组等辅助方案,都无法彻底解决基因组拼接难题。而利用 nanopore 长度长测序,将革命性地解决重复序列对于基因组拼接的影响。
生信喵实验柴
2023/02/24
1.2K0
二代测序宏基因组拼接
宏基因组多样品的混合组装
Spades(http://cab.spbu.ru/software/spades/)可用于进行单细菌基因组组装,也能用于宏基因组测序数据,可以进行二代与三代测序数据的混合组装,也支持多样品组装。该工具在官网下载解压即可使用。
SYSU星空
2022/05/05
2.4K0
三代测序宏基因组物种分类鉴定
人为添加 10 种微生物,其中包括 8 株细菌,两株真菌。分为两种模式,一种按比例平均分配,称为 Even 数据集,8 株细菌各占 8%,2 株真菌各占 4%。另一种按照对数进行分配,称为 Log 数据集。并且包括 illumina 与 nanopore 数据。
生信喵实验柴
2023/02/24
9560
三代测序宏基因组物种分类鉴定
宏基因组功能注释(以COG为例)
Contigs/Scaffolds序列经基因预测、ORF开放阅读框识别(Open Reading fr ame)和蛋白翻译之后,就可以进行功能注释分析了。我们将基因/蛋白序列在特定的数据库中搜索比对,从而完成功能注释分析。常用的功能数据库主要包括KEGG、EggNOG、GO、COG和CAZy等。
生信菜鸟团
2021/04/29
3.7K0
宏基因组功能注释(以COG为例)
微生物组—宏基因组分析专题研讨会(2020.2)
在广大粉丝的期待下,《生信宝典》联合《宏基因组》在2020年2月14-16日,北京鼓楼推出《宏基因组分析》专题培训第七期,为大家提供一条走进生信大门的捷径、为同行提供一个宏基因组分析学习和交流的机会、助力学员真正理解分析原理和完成实战分析,独创四段式教学(3天集中授课+自行练习2周+再集中讲解答疑+上课视频回看反复练习),“教—练—答—用”四个环节统一协调,真正实现独立分析大数据。
生信宝典
2019/12/25
1.6K0
微生物组—宏基因组分析专题研讨会(2020.2)
宏基因组binning:MetaBAT
基于reads比对注释的物种binning可以获得宏基因组微生物群落的物种组成信息,但无法获得组成物种的基因组。要获得这些基因组数据,还需要基于不同基因组的特征对拼接的contigs进行binning。目前基于contigs binning的方法使用非常广泛,也已经开发了多种软件,其中最高引用次数的两款为MaxBin和MetaBAT。这两款软件均支持使用多样本拼接的contigs来提高binning的成功率,也即根据contigs在多个library中丰度的相关性(co-abundance pattern)来进行聚类。
SYSU星空
2022/05/05
1.6K0
宏基因组binning:MetaBAT
RiboFR-Seq:将16S rRNA与宏基因组连接的方法
16S rRNA扩增子分析和宏基因组测序是研究微生物群落的两种主要的独立方法。近年来,许多研究将这两种方法结合起来使用,但下游的数据分析是分开进行的,在分类和功能上总是产生不一致或冲突的结果。
Listenlii-生物信息知识分享
2020/05/31
1.4K0
微生物组分析 ·​ 进阶
数据分析是相同的,通过一个简单的课程理解其中的原理,就可以推而广之,延伸到其他类型的数据分析,如扩增子,转录组,单细胞分析等
生信宝典
2019/12/11
1.5K0
微生物组分析 ·​ 进阶
二代测序宏基因组真实数据拼接
前面我们模拟混合了几种细菌的数据拼接,本次带来的是文献《Complete and validated genomes from a metagenome》中的数据,步骤就是下载数据,开始拼接。
生信喵实验柴
2023/02/24
1.1K0
二代测序宏基因组真实数据拼接
推荐阅读
相关推荐
metaphlan物种分类鉴定
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验