全基因组小变异检测
本节探讨使用 HG002 Genome-in-a-Bottle 样本进行全基因组种系小变异检测。
samtools
BWA
Parabricks 4.0 或更高版本
以下是本操作指南的最低硬件需求
512GB 磁盘空间(最好在“平衡”或 SSD 存储上)
两块 Nvidia V100 GPU;以下命令和时间估计将使用四块 Nvidia V100 GPU
24 个 CPU 核心;以下命令使用 32 个 vCPU 核心
每 GPU 48GB CPU 内存
以下示例使用具有 32 个 vCPU 核心、120 GB 内存和四个 NVIDIA V100 GPU 的 Google Cloud Project VM,运行 Ubuntu 20.04。
本操作指南将完整运行全基因组种系流程,以检测真实 30X 短读人类数据中的 SNP、MNP 和插入缺失。此类分析在各种环境中都很常见
人群研究
全基因组关联研究
三重分析(与下游过滤结合使用时)
分析来自生物样本库的数据时(例如,重新分析 1000 Genomes 数据)
寻找可能的遗传性癌症易感突变时(例如,Lynch 综合征或某些 BRCA 基因中的突变)
在临床测序中寻找疾病相关突变时
该数据来自 Genome In A Bottle Consortium 测序的三重奏中的儿子。该样本,标识为 HG002,已在多个测序平台和变异检测器上进行了高度表征,并且存在高质量的变异“真值集”,可用于检查结果。
在变异检测之后,您需要使用一个或多个数据库注释 VCF,以确定哪些变异是常见的或与疾病相关的(例如,在 1000 Genomes 中经常观察到的那些变异),过滤掉那些常见的变异,然后使用 NVIDIA Parabricks 工具进行质量控制,以评估变异检测器的结果。本操作指南不涵盖注释或过滤。
此工作流程的第一步(比对、变异检测和质量控制)在许多不同的分析中都很常见。但是,根据您的用例,注释和过滤步骤可能会有所不同。
本操作指南的示例数据位于公共 Google Cloud Storage 存储桶中。可以使用 Google Cloud SDK 中的 gsutil
工具下载;或者,可以使用下面的第二组说明通过 wget
下载文件。请注意,有两个 fastq 文件需要下载(分别以“R1.fastq.gz”和“R2.fastq.gz”结尾)。
$ gsutil cp gs://brain-genomics-public/research/sequencing/fastq/hiseqx/wgs_pcr_free/30x/HG002.hiseqx.pcr-free.30x.R1.fastq.gz .
$ gsutil cp gs://brain-genomics-public/research/sequencing/fastq/hiseqx/wgs_pcr_free/30x/HG002.hiseqx.pcr-free.30x.R2.fastq.gz .
使用 wget 下载数据(如果 gsutil 不可用)
$ wget https://storage.googleapis.com/brain-genomics-public/research/sequencing/fastq/hiseqx/wgs_pcr_free/30x/HG002.hiseqx.pcr-free.30x.R1.fastq.gz
$ wget https://storage.googleapis.com/brain-genomics-public/research/sequencing/fastq/hiseqx/wgs_pcr_free/30x/HG002.hiseqx.pcr-free.30x.R2.fastq.gz
如果您有自己的数据,您可能可以直接将其替换到本操作指南中的命令中,以获得准确的多调用器变异检测结果。
接下来,您将下载并索引参考基因组,用于比对和变异检测。您将使用不带 alt contigs 的 GRCh38。索引编制应耗时 30 分钟到一小时。
$ wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/001/405/GCA_000001405.15_GRCh38/seqs_for_alignment_pipelines.ucsc_ids/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz
## Unzip and index the reference
$ gunzip GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz
## Create an FAI index
$ samtools faidx GCA_000001405.15_GRCh38_no_alt_analysis_set.fna
## Create the BWA indices
$ bwa index GCA_000001405.15_GRCh38_no_alt_analysis_set.fna
为了生成 BQSR 报告(用于提高 BAM 和下游 HaplotypeCaller 调用中的碱基质量),我们还需要一个包含已知变异调用的 VCF 文件。我们将从 Broad HG38 资源包中检索这些文件
$ wget https://storage.googleapis.com/genomics-public-data/resources/broad/hg38/v0/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz
$ wget https://storage.googleapis.com/genomics-public-data/resources/broad/hg38/v0/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz.tbi
fq2bam (BWA-MEM + GATK) 命令运行 read 比对——以及排序、重复标记和碱基质量分数重校准 (BQSR)——根据 GATK 最佳实践,但速度比社区工具快得多,因为它利用了多达 8 个 NVIDIA GPU。
请注意,本操作指南添加了一个自定义读取组,以便在稍后与其他样本合并进行下游分析时更容易识别该样本;这对于运行匹配的肿瘤-正常或多样本分析的比对至关重要。您还必须传递一组已知位点才能生成 BQSR 报告。
$ RGTAG="@RG\tID:HG002\tLB:lib\tPL:Illumina\tSM:HG002\tPU:HG002"
# This command assumes all the inputs are in INPUT_DIR and all the outputs go to OUTPUT_DIR.
docker run --rm --gpus all --volume INPUT_DIR:/workdir --volume OUTPUT_DIR:/outputdir \ \
--gpus all \
--workdir /workdir \
nvcr.io/nvidia/clara/clara-parabricks:4.4.0-1 \
pbrun fq2bam \
--ref /workdir/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna \
--in-fq /workdir/HG002.hiseqx.pcr-free.30x.R1.fastq.gz /workdir/HG002.hiseqx.pcr-free.30x.R2.fastq.gz "${RGTAG}" \
--knownSites /workdir/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz \
--out-bam /outputdir/HG002.hiseqx.pcr-free.30x.pb.bam \
--out-recal-file /outputdir/HG002.hiseqx.pcr-free.30x.pb.BQSR-report.txt
读取比对、排序、重复标记和索引过程(全部包含在 fq2bam (BWA-MEM + GATK) 中)应在四块 NVIDIA V100 GPU 上耗时约 50 分钟。fq2bam (BWA-MEM + GATK) 的输出是 BAM 文件、BAI 索引和 BQSR 报告。
$ ls HG002.hiseqx.pcr-free.30x.pb*
HG002.hiseqx.pcr-free.30x.pb.bam
HG002.hiseqx.pcr-free.30x.pb.bam.BAI
HG002.hiseqx.pcr-free.30x.pb.BQSR-report.txt
这些文件将用作下一步中运行的多个 SNP/indel 检测器的输入。
Parabricks 当前支持多个变异检测器(DeepVariant、HaplotypeCaller、Mutect2)。这些检测器中的每一个都使用略有不同的方法来调用变异,每种方法在灵敏度和特异性方面都有特定的权衡。
本操作指南运行所有三个调用器以生成全面的变异调用集。如果您正在寻找临床关注的变异,您可以考虑取两个或多个调用器的交集以生成高度特异性的调用集。另一方面,如果您不担心假阳性,但需要高度灵敏的调用集,您可以取所有三个调用器的并集。这种基于投票的共识方法已在许多大型研究中采用,以解决单个调用器的缺点。
首先,运行 DeepVariant,这是一个最初由 Google 开发的基于深度学习的变异检测器;Parabricks 提供了 DeepVariant 的加速版本,速度比社区版本快 10-15 倍。DeepVariant 在 4xV100 系统上应在 30 分钟内运行完毕。
$ docker run \
--gpus all \
--workdir /workdir \
--rm \
--volume $(pwd):/workdir \
--volume $(pwd):/outputdir \
nvcr.io/nvidia/clara/clara-parabricks:4.4.0-1 \
pbrun deepvariant \
--in-bam /workdir/HG002.hiseqx.pcr-free.30x.pb.bam \
--ref /workdir/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna \
--out-variants /outputdir/HG002.hiseqx.pcr-free.30x.pb.deepvariant.vcf
接下来,运行 HaplotypeCaller,长期以来被认为是种系小变异检测的金标准。Parabricks HaplotypeCaller 在四个 NVIDIA V100 GPU 上大约需要 15 分钟,速度比社区版本快大约 60 倍。
$ docker run \
--gpus all \
--workdir /workdir \
--rm \
--volume $(pwd):/workdir \
--volume $(pwd):/outputdir \
nvcr.io/nvidia/clara/clara-parabricks:4.4.0-1 \
pbrun haplotypecaller \
--in-bam /workdir/HG002.hiseqx.pcr-free.30x.pb.bam \
--in-recal-file /workdir/HG002.hiseqx.pcr-free.30x.pb.BQSR-report.txt \
--ref /workdir/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna \
--out-variants /outputdir/HG002.hiseqx.pcr-free.30x.pb.haplotypecaller.vcf
DeepVariant 和 HaplotypeCaller 的结果是纯文本 VCF 文件。