宏基因组中的病毒组分析:
第一步:宏基因组中的病毒组分析(1)病毒序列的鉴定geNomad-CSDN博客
第二步:宏基因组中的病毒组分析(2)checkV评估病毒基因组的质量-CSDN博客
第三步:宏基因组中的病毒组分析(3)CD-HIT聚类vOTU-CSDN博客
第四步:使用 CoverM v0.6.1 计算 vOTU 的 RPKM 值
CoverM v0.6.1 是一款专注于宏基因组学应用的覆盖度计算工具。它基于映射(mapping)技术,通过读取和分析比对(mapping)结果来评估一组contigs或genomes的覆盖情况。
1、工作原理
CoverM能够接收BAM格式的序列比对文件(如由bwa-mem等比对工具生成的),以及FASTA格式的参考基因组文件,然后计算每个参考序列区域的覆盖深度,从而帮助研究人员了解宏基因组测序数据的覆盖均匀性和完整性。
2、安装
可以直接通过conda安装,安装命令如下:
#创建环境
conda env create -n coverm
#安装coverM
conda install coverm
或者从GitHub中下载对应操作系统的预编译二进制文件,也可以从源码编译安装,但需要预先安装Rust环境。
3、运行
coverM可以处理genome和contig两种类型。
3.1. genome-计算基因组的覆盖率
计算genomes的覆盖度,可以使用命令:
coverm genome <GENOME_DESCRIPTION> <MAPPING_INPUT> ..
#例如
coverm genome --bam-files my_sorted_bam.bam --genome-fasta-directory genomes/
首先对于mapping的参数,有几种类型:
-1 : Forward FASTA/Q file(s) for mapping.
-2 : Reverse FASTA/Q file(s) for mapping
#这两个可以是压缩文件也可以不是
-c/--coupled :一对或者多对forward和reverse的被压缩的FASTA/Q file(s)
#例如:<sample1_R1.fq.gz> <sample1_R2.fq.gz> <sample2_R1.fq.gz> <sample2_R2.fq.gz> ..
--interleaved :属于interleaved的mapping文件,FASTA/Q file(s)
--single :未配对的 FASTA/Q 文件进行mapping
#这两个可以是压缩文件也可以不是
-b/--bam-files :BAM 文件的路径。除非指定,否则这些必须进行引用排序(例如使用 samtools sort),在这种情况下,它们必须进行读取名称排序。
对于基因组的定义:
-f, --genome-fasta-files
每个基因组的 FASTA 文件的路径,例如 .pathA/genome1.fna pathB/genome2.fa
d, --genome-fasta-directory
包含每个基因组的 FASTA 文件的目录
-x, --genome-fasta-extension
使用 . 指定的目录中基因组的文件扩展名。[默认:-d/--genome-fasta-directoryfna]
--genome-fasta-list
包含 FASTA 文件路径的文件,每行一个。
-r, --reference 路径
重叠群的 FASTA 文件,例如串联基因组或宏基因组组装,或 minimap2 索引(带)、频闪索引(带)或 BWA 索引茎(带)。如果提供并指定了多个引用 FASTA 文件,则读取将作为分片 BAM 单独映射到引用。注意:如果在其他地方指定了基因组 FASTA 文件(例如,使用 或 ),则不需要作为参考 FASTA 文件,可以通过连接输入基因组来派生。在这些情况下,如果需要备用参考序列集,则可以选择指定。--minimap2-reference-is-index--strobealign-use-index-p bwa-mem/bwa-mem2--sharded--genome-fasta-files--genome-fasta-directory--reference--reference
-s, --separator 字符
此字符将参考文件中的基因组名称与重叠群名称分开。需要。[默认值:未指定]--reference
--单基因组
所有重叠群都来自同一个基因组。需要。[默认:未设置]--reference
--genome-definition 文件
包含 genome_name<tab> 重叠群行列表的文件,用于定义每个重叠群的基因组。需要。[默认:未设置]--reference
--use-full-contig-names
指定输入 BAM 文件是使用映射软件生成的,该软件在参考定义中包含每个重叠群的全名(即空格后的字符),以便在读取基因组时,按原样记录重叠群名称。
3.2. contig - 计算每个重叠群组的读取覆盖率
计算contig的读取覆盖率,可以使用命令:
coverm contig <MAPPING_INPUT> ..
contig的计算比genome要相对简单,只需要输入一个mapping的参数,与genome相同,此处不再赘述了。
contig需要输入一个参考路径,即contig的FASTA文件
-r, --reference
重叠群的 FASTA 文件,例如串联基因组或宏基因组组装。[除非另有说明,否则为必填项]
3.3阈值的选择
阈值的选择可以根据需求从文献中获取,我采用的是以下阈值:
-min-read-percent-identity 0.95、-min-read-aligned-percent 0.75、-contig-end-exclusion 0 和 -m rpkm
3.4.注意事项
我在进行计算时,mapping的参数选择经常报错,后面采取了-1和-2的方式,将forward和reverse的fastq文件单独输入,基本没有报错,可以多尝试一些方法。
4、优缺点
4.1.优点
- 专注于宏基因组学:CoverM特别针对宏基因组学数据的覆盖度计算进行了优化,能够处理大规模的数据集。
- 灵活性强:支持多种输入格式和参数配置,用户可以根据具体需求灵活调整。
- 易于使用:通过简单的命令行接口即可使用,无需复杂的图形用户界面。
- 性能高效:基于Rust语言编写,具有较高的执行效率和稳定性。
4.2.缺点
- 依赖外部工具:虽然CoverM本身功能强大,但通常需要与bwa-mem、samtools等外部工具结合使用,增加了使用的复杂性。
- 学习曲线:对于不熟悉命令行工具的用户来说,可能需要一定的时间来熟悉和学习CoverM的使用方法。
- 配置管理:CoverM的配置主要通过命令行参数实现,对于复杂的重复任务,可能需要手动编写脚本来管理配置,不如使用配置文件那样直观和方便。
- 安全性问题:虽然CoverM v0.6.1 版本的具体安全性问题未明确提及,但软件更新迭代中可能存在安全漏洞,需要用户及时关注并更新到最新版本。
5.总结
综上所述,CoverM v0.6.1 是一款功能强大、灵活易用的宏基因组学覆盖度计算工具,适用于科研人员在进行宏基因组学数据分析时评估数据的覆盖情况。然而,用户在使用时需要注意与其他工具的兼容性、学习命令行接口以及关注软件的安全性更新。
参考来源:wwood/CoverM: Read coverage calculator for metagenomics (github.com)