热点新闻
MarkerMAG 软件安装流程测试
2024-10-21 22:17  浏览:274  搜索引擎搜索“养老服务网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在养老服务网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

背景

MarkerMAG 是一个专为微生物基因组学研究设计的软件工具,主要用于从宏基因组数据中识别和链接16S rRNA基因到元基因组组装的基因组(MAGs)。它通过将已知的16S rRNA基因标记与组装的基因组进行匹配,从而帮助研究人员更好地理解微生物群落的结构和功能。





image.png

作用原理

1.16S rRNA基因识别:
MarkerMAG 使用特定的工具(如 Barrnap 或 Usearch)从输入的宏基因组数据中识别出16S rRNA基因序列。
2.基因组组装和注释:
软件将识别出的16S rRNA基因与基因组组装的基因组(MAGs)进行匹配。这一过程通常包括将短读段数据组装成更长的基因组片段,并注释这些基因组片段以识别功能基因和标记基因。
3.链接和聚类:
MarkerMAG 通过将16S rRNA基因序列链接到相应的MAGs,帮助研究人员理解哪些微生物物种存在于样本中,以及它们的潜在功能。软件还可以对识别出的基因进行聚类,以减少冗余并提高分析的精度。

使用场合

1.宏基因组学研究:
MarkerMAG 广泛应用于宏基因组学研究中,特别是在研究复杂微生物群落的结构和功能时。它帮助研究人员从环境样本中提取微生物DNA,并分析这些DNA以了解微生物群落的组成。
2.环境微生物学:
在环境微生物学研究中,MarkerMAG 可用于分析土壤、水体或其他环境样本中的微生物群落,帮助理解微生物在生态系统中的作用。
3.临床微生物学:
MarkerMAG 也可以用于临床微生物学研究,帮助分析人体微生物组(如肠道、口腔微生物组)中的微生物组成,进而研究其与健康和疾病的关系。

使用目的

1.识别微生物物种:
MarkerMAG 的主要目的是从宏基因组数据中识别微生物物种。通过链接16S rRNA基因与MAGs,研究人员可以确定哪些微生物存在于样本中。
2.了解微生物功能:
除了识别物种,MarkerMAG 还帮助研究人员注释基因组中的功能基因,从而了解微生物的潜在功能。这对于研究微生物在环境中或人体内的作用至关重要。
3.优化和简化数据分析:
MarkerMAG 提供了一个自动化的工作流程,简化了宏基因组数据的分析过程。通过自动识别、链接和聚类16S rRNA基因,研究人员可以更高效地处理大量数据,并获得更准确的分析结果。

总结

MarkerMAG 是一个强大的工具,专为宏基因组学研究设计,通过识别和链接16S rRNA基因与MAGs,帮助研究人员识别微生物物种,了解微生物功能,并优化和简化数据分析过程。它广泛应用于环境微生物学、临床微生物学和其他相关领域,为理解微生物群落的结构和功能提供了重要支持。

Q & A环节

Q:16S rRNA不是本身可以比对silva数据库得到注释结果吗,是因为注释的结果不准确?
A:16S rRNA 基因确实可以通过比对 SILVA 等数据库来进行注释,以识别微生物物种。然而,MarkerMAG 的作用不仅仅是简单的16S rRNA基因注释,它解决了一些传统16S rRNA基因分析方法的局限,并提供了更全面和准确的微生物物种鉴定和功能分析。
背景与传统方法的局限

16S rRNA 基因注释: 通过16S rRNA基因序列比对 SILVA、Greengenes 等数据库,可以对微生物进行分类学注释。然而,这种方法通常只能提供属(genus)或科(family)级别的分类信息,对于物种级别的分辨率较低。 16S rRNA 基因序列不能提供微生物的功能信息,仅能用于分类学鉴定。 基因组组装与注释: 宏基因组数据分析包括对所有微生物基因组的片段进行组装(即 MAGs,metagenome-Assembled Genomes)和注释,提供了更高的分辨率和更全面的功能信息。

MarkerMAG 的核心功能

MarkerMAG 的主要目的是整合 16S rRNA 基因注释与 MAGs 组装和注释,从而提供更精确、更全面的微生物物种鉴定和功能分析。其核心功能包括: 链接 16S rRNA 基因与 MAGs: 通过将16S rRNA基因序列与基因组组装的片段(MAGs)进行匹配,MarkerMAG 可以准确地将分类学信息与完整基因组数据相结合。这一过程可以提高物种鉴定的分辨率,甚至达到物种级别。 提高注释准确性: 与单纯的16S rRNA基因注释相比,通过 MAGs,研究人员可以获得更高分辨率的分类学信息,同时结合基因组中的其他基因信息,可以提供更准确和全面的功能注释。 整合多种数据来源: MarkerMAG 不仅利用16S rRNA基因序列,还整合了基因组组装数据,使得微生物物种鉴定和功能注释更为全面。这对于研究微生物在复杂生态系统中的作用,或在健康和疾病中的作用非常重要。

具体例子

假设你有一个环境样本,其中包含大量不同微生物的 DNA。通过宏基因组测序,你可以获得这些微生物的全部基因组数据。使用传统的16S rRNA基因分析,你可以确定样本中有哪些属或科的微生物,但无法详细了解每种微生物的功能。 使用 MarkerMAG,你可以: 识别 16S rRNA 基因序列:从样本中提取和识别 16S rRNA 基因序列。 链接到 MAGs:将这些 16S rRNA 基因序列与宏基因组组装的片段进行匹配,链接到具体的 MAGs。 全面注释:对 MAGs 进行分类学和功能注释,提供关于微生物物种和其潜在功能的详细信息。 通过这种方式,MarkerMAG 提供了比传统方法更高分辨率和更全面的信息,帮助研究人员更准确地识别和分析微生物物种及其功能。

总结
MarkerMAG 不仅仅依赖于16S rRNA 基因的分类学注释,它通过整合16S rRNA 基因与 MAGs,提供了更高分辨率的物种鉴定和更全面的功能注释。这使得它在复杂微生物群落的研究中,尤其是在生态系统和临床样本的分析中,具有显著的优势。

Q:既然我做了MAGs 为什么还要做16S rRNA测序的扩增子分析呢?
A:在微生物基因组学研究中,16S rRNA基因测序和宏基因组组装(MAGs)各自有其独特的优势和局限性。结合使用这两种方法可以提供更全面和准确的微生物群落分析。
16S rRNA测序和宏基因组组装的优缺点

16S rRNA测序 优势: 简便快捷:16S rRNA基因测序是标准化、成本较低的技术,可以快速提供微生物群落的组成信息。 高通量:能够处理大量样本,是研究多样性和微生物群落动态变化的有效方法。 数据库丰富:有大量16S rRNA基因序列的参考数据库(如SILVA、Greengenes),方便进行分类学注释。 局限: 分辨率有限:通常只能提供属或科级别的分类信息,物种级别的分辨率较低。 功能信息不足:无法提供关于微生物功能的信息,仅能用于分类学鉴定。 宏基因组组装(MAGs) 优势: 高分辨率:可以重建整个基因组,从而提供物种级别甚至亚种级别的分类信息。 功能分析:能够获得微生物的全部基因组信息,提供全面的功能注释,了解微生物的代谢潜力和生态功能。 局限: 成本较高:宏基因组测序和组装的成本较高,数据处理复杂,计算资源需求大。 组装难度:复杂样本中的基因组组装可能不完全,特别是对于稀有或低丰度的微生物,可能无法完整组装出基因组。 为什么要结合使用16S rRNA测序和宏基因组组装 全面性:16S rRNA测序提供微生物群落的快速概览,而宏基因组组装提供详细的分类学和功能信息。两者结合使用可以得到更全面的微生物群落分析。 互补性:16S rRNA测序可以作为初步筛选和评估的方法,帮助识别样本中主要的微生物群体。宏基因组组装则可以对这些群体进行深入分析,提供更高分辨率的分类信息和功能注释。 验证与补充:16S rRNA测序结果可以用来验证宏基因组组装的准确性和完整性。反之,宏基因组组装的结果也可以补充16S rRNA测序无法提供的功能信息。 数据整合:结合使用这两种方法,可以通过MarkerMAG这样的工具,将16S rRNA基因序列与宏基因组组装的基因组进行链接,增强数据整合和分析的能力。

实际应用中的例子

环境微生物学:在研究土壤或水体微生物群落时,16S rRNA测序可以快速识别主要的微生物群体,而宏基因组组装则可以进一步分析这些群体的功能潜力,如氮循环、碳固定等。 人类微生物组研究:在肠道微生物组研究中,16S rRNA测序可以提供健康和疾病状态下微生物群落的变化趋势,而宏基因组组装可以深入分析特定微生物的代谢潜力,帮助理解其对宿主健康的影响。

总结
结合使用16S rRNA测序和宏基因组组装的方法,可以利用两者的优势,提供更全面、准确和深入的微生物群落分析。这种整合方法在环境微生物学、人类微生物组研究以及其他相关领域具有广泛应用,为研究微生物群落的结构和功能提供了强有力的工具。

软件下载

使用conda 安装。

测试问题

使用测试数据测试数据时,发现整个流程根本跑不通。不知道是时间久了没人维护还是conda中依赖的软件版本不对。
整个流程源代码使用python撰写。下面是对脚本的修改内容:
1.软件使用barrnap进行rRNA预测,barrnap是一款可以预测rRNA的软件。barrnap源代码是使用perl撰写,其中barrnap在调用bedtools时,有一个-name的参数写成了-name+。因为是使用conda直接安装的MarkerMAG以及依赖的软件,所以不知道是barrnap的问题还是作者对barrnap软件进行了更改。(源代码171行)

# my $cmd = "bedtools getfasta -s -name+ -fo '$outseq' -fi '$fasta' -bed '".$bed->filename."'"; my $cmd = "bedtools getfasta -s -name -fo '$outseq' -fi '$fasta' -bed '".$bed->filename."'";

2.主程序的包link_16s.py中,bowtie2根本就没有-xeq这个参数,MarkerMAG的github上有些到软件依赖已经上传conda,不知道是conda依赖的bowtie2不对还是作者的问题,反正会报错。(源代码2506行)这个问题同样在另一个包get_cp_num.py中存在。(源代码2079,2082,2312,2315行)

# bowtie_parameter = '--xeq --local --all --no-unal -N 1 -L 30 --quiet' cailianhe bowtie_parameter = '--local --all --no-unal -N 1 -L 30 --quiet'

3.还是参数问题,bowtie2-build根本就没有多线程的操作,整个代码中bowtie2都使用了--threads。(源代码2791,2939,2943,3649,3873行)这个问题同样在另一个包get_cp_num.py中存在。(源代码2074,2306行)

# bowtie_build_cmd = 'bowtie2-build --quiet --threads %s -f %s %s' % (num_threads, input_16s_qc, input_16s_qc_no_ext) cailianhe bowtie_build_cmd = 'bowtie2-build --quiet -f %s %s' % (input_16s_qc, input_16s_qc_no_ext)

4.编码问题报错,主程序的包link_16s.py中的一个函数sort_csv_by_col,报错编码问题,以下是报错内容:

The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/HWPROJ2/GB/GB_MICRO/USER/cailianhe/software/miniconda3/envs/MarkerMAG_env/lib/python3.7/encodings/iso8859_15.py", line 15, in decode return codecs.charmap_decode(input,errors,decoding_table) SystemError: <built-in function charmap_decode> returned a result with an error set The above exception was the direct cause of the following exception: SystemError: decoding with 'iso8859-15' codec failed (SystemError: <built-in function charmap_decode> returned a result with an error set) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/HWPROJ2/GB/GB_MICRO/USER/cailianhe/software/miniconda3/envs/MarkerMAG_env/lib/python3.7/encodings/iso8859_15.py", line 15, in decode return codecs.charmap_decode(input,errors,decoding_table) SystemError: <built-in function charmap_decode> returned a result with an error set The above exception was the direct cause of the following exception:

这个报错没有找到原因,看起来是正常的,这部分脚本单提出来也没有问题,放在脚本里就会报错。尝试使用添加ascii读取也不行【df_in = pd.read_csv(file_in, encoding='ascii')】,使用import chardet包定义读入文件的格式返回的就是ascii。【如果有大佬发现解决办法欢迎私信~】
这个问题的解决办法是重新写了一个sort_csv_by_col函数,不使用pandas读csv的方式。以下是补充的子函数:

def sort_csv_by_col(file_in, file_out, col_header): try: with open(file_in, mode='r', encoding='ascii') as infile: reader = csv.DictReader(infile) rows = list(reader) if col_header not in reader.fieldnames: raise ValueError(f"Column {col_header} does not exist in the input file") rows_sorted = sorted(rows, key=lambda x: float(x[col_header]), reverse=True) with open(file_out, mode='w', newline='', encoding='ascii') as outfile: writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames) writer.writeheader() writer.writerows(rows_sorted) print(f"Sorted data has been written to {file_out}") except Exception as e: print(f"An error occurred: {e}")

解决到这里已经差不多了,还有写细小的问题边测边改没有记录。下面是测试:

export PATH=./MarkerMAG_env/bin/:$PATH export PATH=/MarkerMAG/:$PATH MarkerMAG link \ -p Demo -r1 demo_R1.fasta -r2 demo_R2.fasta \ -marker demo_16S.fasta -mag demo_MAGs \ -x fa -t 6 -o output_dir

结果解读

1.在基因组层面的已识别链接摘要:

Marker MAG linkage Round
matam_16S_7 MAG_6 181 Rd1
matam_16S_12 MAG_9 102 Rd1
matam_16S_6 MAG_59 55 Rd2

2.在 contig 层面的已识别链接摘要(附图):

Marker___MAG (linkages) Contig Round_1 Round_2
matam_16S_7___MAG_6(181) Contig_1799 176 0
matam_16S_7___MAG_6(181) Contig_1044 5 0
matam_16S_12___MAG_9(102) Contig_840 102 0
matam_16S_6___MAG_59(39) Contig_171 0 55



image.png


3.已链接的 16S rRNA 基因的拷贝数。
4.单个链接的可视化。
MarkerMAG 支持对已识别链接的可视化(需要 Tablet 软件)。可视化的输出文件(示例)可以在 [Prefix]_linkage_visualization_rd1/2 文件夹中找到。你可以通过双击相应的 ".tablet" 文件,查看链接的读段如何对齐到 MAG 的 contig 和 16S rRNA 基因。在链接的 MAG contig 和 16S rRNA 基因之间加入了 50 个 "N" 碱基。





image.png

看没看懂都点个赞呗~

发布人:a88c****    IP:124.223.189***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发