CheckV 是一个完全自动化的命令行管道,用于评估单重叠群病毒基因组的质量,包括识别集成原病毒的宿主污染、估计基因组片段的完整性以及识别封闭基因组。
管道可以分为4个主要步骤:
A:去除原噬菌体上的宿主污染
- 根据与自定义 HMM 数据库的比较,基因首先被注释为病毒或细菌
- CheckV 扫描重叠群(5' 到 3'),比较一对相邻ORF之间的基因注释和 GC 含量
- 此信息用于计算每个基因间位置的分数并识别宿主病毒断点
- 宿主-病毒断点标识为:
- 高分 (>1.2)
- 假定宿主区域中至少有 2 个宿主特异性基因(对于具有 >=10 个基因的重叠群)
- 推定的病毒区域中至少有 2 个病毒特异性基因(对于具有 >=10 个基因的重叠群)
- 在假定的宿主区域中至少有 30% 的基因被注释为细菌
B:估计基因组完整性(2 种算法)
- 基于 AAI 的方法(基因组完整性的精确点估计)
- 首先,使用 AAI(平均氨基酸同一性)将蛋白质与 CheckV 基因组数据库进行比较
- 在识别出最高命中后,完整性被计算为重叠群长度(或原噬菌体的病毒区域长度)与匹配的参考基因组长度之间的比率
- 根据比对的强度和重叠群的长度报告置信水平
- 一般来说,高可信度和中等可信度的估计是相当准确的,可以信赖
- 基于 HMM 的方法(基因组完整性的估计范围)
- 高度新颖的病毒可能不匹配具有足够 AAI 的 CheckV 基因组(即低置信度估计)
- 在这些情况下,CheckV 识别重叠群上的病毒 HMM,并将重叠群长度与共享相同 HMM 的参考基因组进行比较
- CheckV 然后返回基因组完整性的估计范围(例如 35% 到 60% 的完整性),它代表基于具有相同病毒 HMM 的参考基因组长度分布的 90% 置信区间
C:预测封闭基因组(3个签名)
- 直接末端重复 (DTR)
- 在 contig 的开始/结束处重复序列 >20-bp
- 我们经验中最值得信赖的签名
- 可能表示从环状模板(即串联体)复制的环状基因组或线性基因组
- 原噬菌体(原病毒)
- 在 5' 和 3' 端预测宿主边界的病毒区域
- 注意:如果宿主区域已被移除(例如使用 VIBRANT 或 VirSorter,Virsorter2中关闭原噬菌体预测),CheckV 将不会检测原噬菌体
- 反向末端重复 (ITR)
- 在 contig 的起始/末端重复 >20-bp 的序列(3' 重复被倒置)
- 根据我们的经验,最不可信的签名
CheckV 还将报告基于与完整性估计的比较的置信水平:
- 高置信度:>90% 的估计完整性
- 中等置信度:80-90% 的估计完整性
- 低置信度:<80% 估计完整性
对于 DTR 和 ITR,CheckV 执行一些额外的过滤/检查:
- 重复中的歧义碱基(例如“NNNNN”):<= 20% 的重复序列带有 Ns
- 重复中的模式碱基频率(例如“AAAAA”):<= 由单个碱基组成的重复序列的 75%
- 重复序列的最大出现次数:<= 每个重叠群 8 次(去除高度重复的序列)
- 最大kmer频率:<= 1.5(去除背靠背重复的相同基因组的重叠群)
D:总结质量。
根据 AC 的结果,CheckV 生成报告文件并将查询重叠群分配给五个质量层之一(与 MIUViG 质量层一致并扩展):
- 完整(高度或中等置信度预测)
- 高质量(>90% 完整性)
- 中等质量(50-90% 的完整性)
- 低质量(<50% 完整性)
- 质量未定
安装
基于conda
conda install -c conda-forge -c bioconda checkv
#数据库下载(自动)
checkv download_database ./
#数据库下载(手动)
wget https://portal.nersc.gov/CheckV/checkv-db-v1.0.tar.gz
tar -zxvf checkv-db-v1.0.tar.gz
export CHECKVDB=/path/to/checkv-db-v1.0
使用
checkv end_to_end input_file.fna output_directory -t 16
结果解读
quality_summary.tsv
这包含来自三个主要模块的综合结果,主要输出。
contig_id | contig_length | provirus | proviral_length | gene_count | viral_genes | host_genes | checkv_quality | miuvig_quality | completeness | completeness_method | complete_genome_type | contamination | kmer_freq | warnings |
1 | 5325 | No | NA | 11 | 0 | 2 | Not-determined | Genome-fragment | NA | NA | NA | 0 | 1 | no viral genes detected |
2 | 41803 | No | NA | 72 | 27 | 1 | Low-quality | Genome-fragment | 21.99 | AAI-based (medium-confidence) | NA | 0 | 1 | flagged DTR |
3 | 38254 | Yes | 36072 | 54 | 23 | 2 | Medium-quality | Genome-fragment | 80.3 | HMM-based (lower-bound) | NA | 5.7 | 1 | |
4 | 67622 | No | NA | 143 | 25 | 0 | High-quality | High-quality | 100 | AAI-based (high-confidence) | NA | 0 | 1.76 | high kmer_freq |
5 | 98051 | No | NA | 158 | 27 | 1 | Complete | High-quality | 100 | AAI-based (high-confidence) | DTR | 0 | 1 |
在上面的例子中,有 6 个病毒重叠群的结果:
- 第一个 5325 bp 重叠群没有完整性预测,这由“checkv_quality”字段的“未确定”指示。这个重叠群也没有确定病毒基因,所以它甚至可能不是病毒。
- 第二个 41803 bp 重叠群被归类为“低质量”,因为其完整性 <50%。这是基于“AAI”方法的估计。请注意,quality_summary.tsv 文件中仅报告了高可信度或中等可信度的估计值。您可以查看“completeness.tsv”以获取更多详细信息。这个 contig 有一个 DTR,但它由于某种原因被标记(有关详细信息,请参阅 complete_genomes.tsv)
- 第三个重叠群被认为是“中等质量”,因为它的完整性估计为 80%,这是基于“HMM”方法。这意味着序列新颖性较高,基于 AAI 估计完整性不准确,但与 CheckV 参考基因组共享一个 HMM。请注意,此值代表一个下限(意味着真正的完整性可能高于但不低于此值)。请注意,该重叠群也被归类为原噬菌体。
- 第四个重叠群被归类为高质量,基于 >90% 的完整性。但是,请注意“kmer_freq”的值为 1.7。这表明病毒基因组在重叠群中多次出现。这些情况非常罕见,但需要注意。
- 根据直接末端重复序列 (DTR) 的存在,第五个重叠群被归类为完整的,并且根据 AAI 方法具有 100% 的完整性。该序列可以放心地视为一个完整的基因组。
completeness.tsv
关于如何估计完整性的详细概述
contig_id | contig_length | proviral_length | aai_expected_length | aai_completeness | aai_confidence | aai_error | aai_num_hits | aai_top_hit | aai_id | aai_af | hmm_completeness_lower | hmm_completeness_upper | hmm_hits |
1 | 9837 | 5713 | 53242.8 | 10.7 | high | 3.7 | 10 | DTR_517157 | 78.5 | 34.6 | 5 | 15 | 4 |
2 | 39498 | NA | 37309 | 100 | medium | 7.7 | 11 | DTR_357456 | 45.18 | 30.46 | 75 | 100 | 22 |
3 | 29224 | NA | 44960.1 | 65.8 | low | 15.2 | 17 | DTR_091230 | 39.74 | 19.54 | 52 | 70 | 10 |
4 | 23404 | NA | NA | NA | NA | NA | 0 | NA | NA | NA | NA | NA | 0 |
在上面的例子中,有 4 个病毒重叠群的结果:
- 使用基于 AAI 的方法 (100 x 5713 / 53242.8),第一个前病毒重叠群的估计完整性为 10.7%。此估计的置信度很高,基于 3.7% 的相对估计误差,这又基于 aai_id(平均氨基酸同一性)和 aai_af(重叠群的比对分数)与 CheckV 参考 DTR_517517
- 第二个重叠群使用基于 AAI 的方法具有 100% 的完整性,使用基于 HMM 的方法具有 75-100% 的完整性范围。请注意,重叠群长度比预期的基因组长度 37,309 bp 稍长。
- 根据 AAI 方法,估计第三个重叠群完成了 65.8%。然而,我们不能完全相信这一点,因为 aai_confidence 很低(意味着基于 AAI 的最高命中相当弱)。为保守起见,我们可能希望报告基于 HMM 方法的完整性范围 (52-70%)
- 最后一个 contig 没有任何基于 AAI 的命中,也没有任何病毒 HMM,所以我们对这个序列无话可说
contamination.tsv
如何估计污染的详细概述:
contig_id | contig_length | total_genes | viral_genes | host_genes | provirus | proviral_length | host_length | region_types | region_lengths | region_coords_bp | region_coords_genes | region_viral_genes | region_host_genes |
1 | 98051 | 158 | 27 | 1 | No | NA | NA | NA | NA | NA | NA | NA | NA |
2 | 38254 | 54 | 23 | 2 | Yes | 36072 | 2182 | host,viral | 1-2182,2183-38254 | 1-2182,2183-38254 | 1-4,5-54 | 0,23 | 2,0 |
3 | 6930 | 9 | 1 | 2 | Yes | 3023 | 3907 | viral,host | 30,233,907 | 1-3023,3024-6930 | 1-5,6-9 | 1,0 | 0,2 |
4 | 101630 | 103 | 7 | 24 | Yes | 28170 | 73460 | host,viral,host | 468,042,817,026,656 | 1-46804,46805-74974,74975-101630 | 1-43,44-85,86-103 | 0,7,0 | 13,0,11 |
在上面的例子中,有 4 个病毒重叠群的结果:
- 第一个 contig 不是预测的原病毒(原噬菌体)
- 第二个 contig 有一个预测的宿主区域,覆盖 2182 bp
- 第三个 contig 在左侧有一个宿主区域,,覆盖6930 bp
- 第四个 contig 有 101630 bp其中有103 个基因,包括 7 个病毒基因和 24 个宿主基因。CheckV 确定了两个宿主病毒边界
complete_genomes.tsv
已确定的假定完整基因组的详细概述:
contig_id | contig_length | prediction_type | confidence_level | confidence_reason | repeat_length | repeat_count |
1 | 44824 | DTR | high | AAI-based completeness > 90% | 253 | 2 |
2 | 38147 | DTR | low | Low complexity TR; Repetetive TR | 20 | 10 |
3 | 67622 | DTR | low | Multiple genome copies detected | 26857 | 2 |
4 | 5477 | ITR | medium | AAI-based completeness > 80% | 91 | 2 |
5 | 101630 | Provirus | not-determined | NA | NA | NA |
在上面的例子中,有 5 个病毒重叠群的结果:
- 第一个病毒重叠群具有 253 bp 的直接末端重复序列。根据估计的完整性 > 90%,它被归类为高置信度
- 第二个病毒重叠群具有 20 bp 的 DTR,但 DTR 复杂度低且不可信,导致置信度低。DTR 也发生 10 倍,并且被认为是重复的。
- 第三个病毒重叠群的 DTR 为 26857 bp!这表明基因组的很大一部分是重复的。CheckV 将这些归类为低置信度,但用户可能需要手动解决这些重复
- 第四个病毒重叠群的 ITR 为 91 bp。基于 AAI 的完整性 > 80%,这被认为是中等置信度
- 第五个病毒重叠群的两侧是宿主(前病毒)。但是 CheckV 无法评估完整性,因此置信度未确定
end_to_end 帮助文档和总文档
input 以FASTA格式输入核苷酸序列(支持.gz,.bz2和.xz文件)output 输出目录optional arguments:-h, --help 显示此帮助消息并退出-d PATH 引用数据库路径。默认情况下,使用 CHECKVDB 环境变量【添加后可不写】--remove_tmp 从输出目录中删除中间文件-t INT 用于Prodigal和DIAMOND的线程数--restart 覆盖现有的中间文件。默认情况下,CheckV 在程序中断的地方继续--quiet 禁止记录消息programs:end_to_end 运行完整的管道以估计完整性,污染并识别封闭的基因组contamination 识别并消除集成前病毒上的宿主污染completeness 估计基因组片段的完整性complete_genomes 根据末端重复序列和侧翼宿主区域识别完整基因组quality_summary 跨模块汇总结果download_database 下载最新版本的CheckV数据库update_database 使用您自己的完整基因组更新CheckV的数据库
参考文献
Bitbuckethttps://bitbucket.org/berkeleylab/checkv/src/master/