deepsomatic
GPU 加速的 DeepSomatic。
DeepSomatic 基于深度学习的变异检测器 DeepVariant 构建。它处理来自肿瘤和正常样本的对齐读取(BAM 或 CRAM 格式),生成 pileup 图像张量,使用卷积神经网络对这些张量进行分类,并以标准 VCF 或 gVCF 文件格式输出体细胞变异。
DeepSomatic 专为使用肿瘤-正常测序数据进行体细胞变异检测而设计。
Parabricks 增强了 Google DeepSomatic,以广泛利用 GPU。Parabricks 版本的 DeepSomatic 的操作方式与其他常用命令行工具类似:它接受两个 BAM 文件和一个参考文件作为输入,并生成 VCF 文件格式的变异作为输出。
请参阅deepsomatic 参考部分,详细了解所有可用选项。
# 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 \
--workdir /workdir \
nvcr.io/nvidia/clara/clara-parabricks:4.4.0-1 \
pbrun deepsomatic \
--ref /workdir/${REFERENCE_FILE} \
--in-tumor-bam /workdir/${INPUT_TUMOR_BAM} \
--in-normal-bam /workdir/${INPUT_NORMAL_BAM} \
--out-variants /outputdir/${OUTPUT_VCF}
以下命令是 Parabricks 上述命令的 Google 对应命令。这些命令的输出将与上述命令的输出相同。请参阅输出比较页面以比较结果。
docker run \
--interactve \
--tty \
--rm \
--volume ${INPUT_DIR}:${INPUT_DIR} \
--volume ${OUTPUT_DIR}:${OUTPUT_DIR} \
--workdir /workdir google/deepsomatic:1.6.1 \
run_deepsomatic \
--ref ${REFERENCE_FILE} \
--reads_tumor ${TUMOR_BAM} \
--reads_normal ${NORMAL_BAM} \
--customized_model ${DEEPSOMATIC_WGS_MODEL_FILE} \
--output_vcf ${OUTPUT_VCF} \
--make_examples_extra_args "ws_use_window_selector_model=true" \
--num_shards=$(nproc)
虽然与 Google DeepSomatic 相比,Parabricks DeepSomatic 在功能上不会损失任何准确性,但有一个原因可能导致不同的输出文件。
CNN 推理
Google DeepSomatic 使用 CNN(卷积神经网络)来预测每个变异候选的可能性。该模型经过训练,并通过 Keras 进行推理。在 Parabricks DeepSomatic 中,我们将此 Keras 模型转换为带有 TensorRT 的引擎文件,以在 Nvidia GPU 上执行加速深度学习推理。由于 TensorRT 的优化,推理后最终可能性得分存在微小差异 (10^-5),这可能会导致最终 VCF 输出中出现一些不同的变异。根据目前的观察,不匹配仅发生在质量分数为零的 RefCalls 中。
运行 DeepSomatic 以将 BAM/CRAM 转换为 VCF。
输入/输出文件选项
- --ref REF
-
参考文件路径。(默认值:None)
此选项为必选项。
- --in-tumor-bam IN_TUMOR_BAM
-
用于体细胞变异检测的输入肿瘤 BAM/CRAM 文件路径。(默认值:None)
此选项为必选项。
- --in-normal-bam IN_NORMAL_BAM
-
用于体细胞变异检测的输入正常 BAM/CRAM 文件路径。(默认值:None)
此选项为必选项。
- --interval-file INTERVAL_FILE
-
用于选择性访问的 BED 文件 (.bed) 路径。此选项可以使用多次。(默认值:None)
- --out-variants OUT_VARIANTS
-
变异检测后 vcf/g.vcf/g.vcf.gz 文件的路径。(默认值:None)
此选项为必选项。
- --pb-model-file PB_MODEL_FILE
-
deepsomatic 的非默认 parabricks 模型文件路径。(默认值:None)
工具选项
- --disable-use-window-selector-model
-
将窗口选择器模型从 Allele Count Linear 更改为 Variant Reads。此选项将提高准确性和运行时间。(默认值:None)
- --no-channel-insert-size
-
如果为 True,则不要将 insert_size 通道添加到 pileup 图像中。(默认值:False)
- -L INTERVAL, --interval INTERVAL
-
从中调用 BAM/CRAM 文件中变异的区间。重叠的区间将被合并。区间文件应使用 --interval-file 选项传递。此选项可以使用多次(例如“-L chr1 -L chr2:10000 -L chr3:20000+ -L chr4:10000-20000”)。(默认值:None)
性能选项
- --num-cpu-threads-per-stream NUM_CPU_THREADS_PER_STREAM
-
每个流使用的 CPU 线程数。(默认值:6)
- --num-streams-per-gpu NUM_STREAMS_PER_GPU
-
每个 GPU 使用的流数。(默认值:2)
- --run-partition
-
将整个基因组划分为多个分区,并同时运行多个进程,每个进程在一个分区上运行。(默认值:None)
- --gpu-num-per-partition GPU_NUM_PER_PARTITION
-
每个分区使用的 GPU 数量。(默认值:None)
常用选项
- --logfile LOGFILE
-
日志文件路径。如果未指定,消息将仅写入标准错误输出。(默认值:None)
- --tmp-dir TMP_DIR
-
将存储临时文件的目录的完整路径。
- --with-petagene-dir WITH_PETAGENE_DIR
-
PetaGene 安装目录的完整路径。默认情况下,这应安装在 /opt/petagene。使用此选项还需要通过设置 LD_PRELOAD 环境变量来预加载 PetaLink 库。可以选择设置用于数据和凭据的 PETASUITE_REFPATH 和 PGCLOUD_CREDPATH 环境变量(默认值:None)
- --keep-tmp
-
完成时不删除存储临时文件的目录。
- --no-seccomp-override
-
不覆盖 docker 的 seccomp 选项(默认值:None)。
- --version
-
查看兼容的软件版本。
GPU 选项
- --num-gpus NUM_GPUS
-
运行中使用的 GPU 数量。将使用 GPU 0..(NUM_GPUS-1)。