DeepVariant 是一个基于深度学习的变异检测工具,它接收对齐的测序读段(BAM 或 CRAM 格式),生成堆积图像张量,通过卷积神经网络对每个张量进行分类,最终将结果报告在标准的 VCF 或 gVCF 文件中。
DeepVariant 支持二倍体生物的种系变异检测。
- NGS(Illumina 或 Element)数据用于 全基因组或 全外显子组。
- Illumina RNA-seq 的RNA-seq 案例研究。
- PacBio HiFi 数据,请参阅 PacBio 案例研究。
- Oxford Nanopore R10.4.1 Simplex 或 Duplex 数据,请参阅 ONT R10.4.1 Simplex 案例研究 和 ONT R10.4.1 Duplex 案例研究。
- 混合 PacBio HiFi + Illumina WGS,请参阅 混合案例研究。
- 利用PEPPER-DeepVariant进行Oxford Nanopore R9.4.1数据分析。
- 使用泛基因组映射以提高准确性,请参阅 vg 案例研究。
- Complete Genomics 数据: T7 案例研究; G400 案例研究
请注意:
- 深Variant 不适用于体细胞数据或任何基因型超出两个DNA拷贝的样本,因为DeepVariant仅支持hom-alt、het和hom-ref基因型。
- DeepVariant包含的模型仅在人体数据上训练过。对于其他生物,请参阅 关于非人类变异检测的博客文章 以了解可能的陷阱和如何处理它们。
DeepTrio
DeepTrio 是建立在 DeepVariant 之上的基于深度学习的三代变异检测工具。DeepTrio 扩展了 DeepVariant 的功能,利用神经网络的力量来预测三代人物或双代人物的基因组变异。有关详细信息和运行 DeepTrio 的说明,请参阅 这个页面。
DeepTrio 支持以下输入数据的二倍体生物的种系变异检测:
- NGS(Illumina)数据用于全基因组或全外显子组。
- 请参阅 PacBio 案例研究以获取 PacBio HiFi 数据。
请注意:
- 所有 DeepTrio 模型均在人体数据上训练。
- 有可能仅使用两个样本(孩子和一个父母)进行DeepTrio分析。
- 外部工具GLnexus用于合并输出的VCF文件。
如何运行 DeepVariant
我们推荐使用 Docker 解决方案。命令如下:
BIN_VERSION="1.6.1"
docker run \
-v "YOUR_INPUT_DIR":"/input" \
-v "YOUR_OUTPUT_DIR:/output" \
google/deepvariant:"${BIN_VERSION}" \
/opt/deepvariant/bin/run_deepvariant \
--model_type=WGS \ **请将此字符串替换为以下之一 [WGS,WES,PACBIO,ONT_R104,HYBRID_PACBIO_ILLUMINA]**
--ref=/input/YOUR_REF \
--reads=/input/YOUR_BAM \
--output_vcf=/output/YOUR_OUTPUT_VCF \
--output_gvcf=/output/YOUR_OUTPUT_GVCF \
--num_shards=$(nproc) \ **这将使用所有核心来运行make_examples。请随意更改。**
--logging_dir=/output/logs \ **可选。这会单独保存每个阶段的日志输出。
--haploid_contigs="chrX,chrY" \ **可选。将嵌合体中的杂合变异重新基因型为参考或纯合性替换。对于XY 样本,设置为 chrX,chrY(GRCh38)或 X,Y(GRCh37)。对于XX 样本,不应使用此选项。
--par_regions_bed="/input/GRCh3X_par.bed" \ **可选。如果设置了 --haploid_contigs,则此选项可用于提供 排除基因型调整的PAR区域。本页提供下载链接。
--dry_run=false **默认值是 false。如果设置为 true,则命令会打印出来但不会执行。
有关X,Y 支持的详细信息,请参阅 DeepVariant单倍体支持和案例研究 DeepVariant X, Y 案例研究。 可从此处下载 PAR bed 文件: GRCh38_par.bed, GRCh37_par.bed。
要查看所有可用的标志,请运行:docker run google/deepvariant:"${BIN_VERSION}"
如果您使用 GPU ,或希望使用 Singularity ,请参阅 快速启动了解详细信息或查看所有 可用设置选项。
有关更多信息,请参阅:
- 完整文档列表
- 详细使用指南 ,包含有关输入和输出文件格式及其用法的更多信息。
- DeepVariant 多样本变异检测最佳实践
- (高级) 培训教程
- DeepVariant 常见问题解答,FAQ
如何引用
如果您在工作中使用 DeepVariant ,请引用:
A universal SNP and small-indel variant caller using deep neural networks. Nature Biotechnology 36, 983–987 (2018).
Ryan Poplin, Pi-Chuan Chang, David Alexander, Scott Schwartz, Thomas Colthurst, Alexander Ku, Dan Newburger, Jojo Dijamco, Nam Nguyen, Pegah T. Afshar, Sam S. Gross, Lizzie Dorfman, Cory Y. McLean, and Mark A. DePristo.
doi: https://doi.org/10.1038/nbt.4235
此外,如果您使用我们生成多样本检测结果 DeepVariant 和 GLnexus 最佳实践,请引用:
Accurate, scalable cohort variant calls using DeepVariant and GLnexus.
Bioinformatics (2021).
Taedong Yun, Helen Li, Pi-Chuan Chang, Michael F. Lin, Andrew Carroll, and Cory
Y. McLean.
doi: https://doi.org/10.1093/bioinformatics/btaa1081
为什么使用 DeepVariant?
- 高准确性 - DeepVariant 在 2020 年 PrecisionFDA Truth Challenge V2 中赢得了 ONT、PacBio 和多种技术类别的所有基准区域的冠军,并在 2016 年 PrecisionFDA Truth Challenge 中获得了最佳 SNP 性能奖。DeepVariant 在不同测序技术、准备方法和物种的数据中保持高准确性。对于 较低覆盖率,使用 DeepVariant 尤其能带来显著差异。请参阅 metrics 查看每种测序类型的最新准确性数据。
- 灵活性 - 适用于 PCR 阳性 样本和 低质量测序,并且可以轻松调整 不同测序技术 和 非人类物种。
- 易用性 - 除了设置您首选的最低质量阈值外,不需要其他过滤。
- 成本效益 - 在 Google Cloud 上使用一台非抢占的 n1-standard-16 机器,调用 30x 全基因组的成本约为 11.8 美元,调用外显子的成本约为 0.89 美元。使用抢占定价,调用 30x 全基因组的成本为 2.84 美元,调用全外显子组的成本为 0.21 美元(不考虑抢占)。
- 速度 - 查看 metrics 了解所有支持数据类型在64 核 CPU机器上的运行时间。有多种加速选项可供选择。
- 使用选项 - DeepVariant 可以通过 Docker 或二进制文件运行,既可以使用本地硬件,也可以在云中运行,并支持使用 GPU 和 TPU 等硬件加速器。
(1): 时间估算不包括映射。
DeepVariant 如何工作
有关 pileup 图片及其读取方法的更多信息,请参阅 "Looking through DeepVariant's Eyes" 博客文章。
DeepVariant 依赖于 Nucleus,这是一组用于读取和写入常用基因组文件格式(如 SAM 和 VCF)的 Python 和 C++ 代码库,设计用于无缝集成 TensorFlow 机器学习框架。Nucleus 是专为 DeepVariant 构建的,并被独立开源,以便于基因组研究社区的其他项目使用。请参阅这篇博客文章 Using Nucleus and TensorFlow for DNA Sequencing Error Correction 了解更多信息。
DeepVariant 设置
前提条件
- 类 Unix 操作系统 (无法在 Windows 上运行)
- Python 3.8
官方解决方案
以下是 Google Health 基因组学团队 提供的官方解决方案。
名称 | 描述 |
---|---|
Docker | 这是推荐的方法。 |
从源码构建 | DeepVariant 提供构建脚本用于在 Ubuntu 20.04 上构建。如需在其他类 Unix 系统上构建和运行,您需要修改这些脚本。 |
预构建二进制文件 | 可从 gs://deepvariant/ 获取。这些二进制文件经过编译以使用 SSE4 和 AVX 指令,因此您需要支持这些指令的 CPU(如 Intel Sandy Bridge)。您可以检查计算机上的 /proc/cpuinfo 文件,该文件在"flags"下列出这些特性。 |
贡献指南
如果您希望为 DeepVariant 做出贡献,请 打开一个拉取请求。请注意,我们尚未设置外部合并拉取请求的基础设施。如果您同意,我们将在内部测试并提交更改,并在我们的 发布说明 中提及您的贡献。对给您带来的不便,我们深表歉意。
如果在使用 DeepVariant 时遇到困难,请随时 提出问题。如果您有不特定于 DeepVariant 的一般问题,建议您在 BioStars 等社区讨论论坛上发帖。
许可证
致谢
DeepVariant 感谢使用许多开源软件包。我们特此特别感谢以下几个关键软件包:
- Boost Graph Library
- abseil-cpp 和 abseil-py
- CLIF
- GNU Parallel
- htslib & samtools
- Nucleus
- numpy
- SSW Library
- TensorFlow and Slim
感谢所有这些软件包的开发者和贡献者的工作。
免责声明
这不是 Google 的官方产品。
注意:本研究代码库的内容 (i) 不打算作为医疗设备;(ii) 不打算用于任何形式的临床用途,包括但不限于诊断或预后。