体细胞 (体细胞变异检测器)
运行体细胞变异工作流程。
体细胞工具处理肿瘤 FASTQ 文件,以及可选的正常 FASTQ 文件和 knownSites 文件,并生成肿瘤或肿瘤/正常分析。输出为 VCF 格式。
在内部,体细胞工具运行多个其他 Parabricks 工具,从而简化您的工作流程。

有关所有可用选项的详细列表,请参阅体细胞参考部分。
# The command line below will run tumor-only analysis.
# 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 somatic \
--ref /workdir/${REFERENCE_FILE} \
--in-tumor-fq /workdir/${INPUT_FASTQ_1} /workdir/${INPUT_FASTQ_2} \
--bwa-options="-Y" \
--out-vcf /outputdir/${OUTPUT_VCF} \
--out-tumor-bam /outputdir/${OUTPUT_BAM}
# The command line below will run tumor-normal analysis.
# 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 somatic \
--ref /workdir/${REFERENCE_FILE} \
--knownSites /workdir/${KNOWN_SITES_FILE} \
--in-tumor-fq /workdir/${INPUT_TUMOR_FASTQ_1} /workdir/${INPUT_TUMOR_FASTQ_2} "@RG\tID:sm_tumor_rg1\tLB:lib1\tPL:bar\tSM:sm_tumor\tPU:sm_tumor_rg1" \
--bwa-options="-Y" \
--out-vcf /outputdir/${OUTPUT_VCF} \
--out-tumor-bam /outputdir/${OUTPUT_TUMOR_BAM} \
--out-tumor-recal-file /outputdir/${OUTPUT_RECAL_FILE} \
--in-normal-fq /workdir/${INPUT_NORMAL_FASTQ_1} /workdir/${INPUT_NORMAL_FASTQ_2} "@RG\tID:sm_normal_rg1\tLB:lib1\tPL:bar\tSM:sm_normal\tPU:sm_normal_rg1" \
--out-normal-bam /outputdir/${OUTPUT_NORMAL_BAM}
# The commands below will run tumor-normal analysis.
#
# Run bwa mem on the tumor FASTQ files then sort the BAM by coordinates.
$ bwa mem \
-t 32 \
-K 10000000 \
-Y \
-R '@RG\tID:sample_rg1\tLB:lib1\tPL:bar\tSM:sample\tPU:sample_rg1' \
${REFERENCE_FILE} ${TUMOR_FASTQ_1} ${TUMOR_FASTQ_2} | \
gatk SortSam \
--java-options -Xmx30g \
--MAX_RECORDS_IN_RAM 5000000 \
-I /dev/stdin \
-O tumor_cpu.bam \
--SORT_ORDER coordinate
# Mark duplicates.
$ gatk MarkDuplicates \
--java-options -Xmx30g \
-I tumor_cpu.bam \
-O tumor_mark_dups_cpu.bam \
-M tumor_metrics.txt
# Generate a BQSR report.
$ gatk BaseRecalibrator \
--java-options -Xmx30g \
--input tumor_mark_dups_cpu.bam \
--output ${OUTPUT_TUMOR_RECAL_FILE} \
--known-sites ${KNOWN_SITES_FILE} \
--reference ${REFERENCE_FILE}
# Apply the BQSR report.
$ gatk ApplyBQSR \
--java-options -Xmx30g \
-R ${REFERENCE_FILE} \
-I tumor_cpu.bam \
--bqsr-recal-file ${TUMOR_OUTPUT_RECAL_FILE} \
-O ${OUTPUT_TUMOR_BAM}
# Now repeat all the above steps, only with the normal FASTQ data.
$ bwa mem \
-t 32 \
-K 10000000 \
-Y \
-R '@RG\tID:sample_rg1\tLB:lib1\tPL:bar\tSM:sample\tPU:sample_rg1' \
${REFERENCE_FILE} ${NORMAL_FASTQ_1} ${NORMAL_FASTQ_2} | \
gatk SortSam \
--java-options -Xmx30g \
--MAX_RECORDS_IN_RAM 5000000 \
-I /dev/stdin \
-O normal_cpu.bam \
--SORT_ORDER coordinate
# Mark duplicates.
$ gatk MarkDuplicates \
--java-options -Xmx30g \
-I normal_cpu.bam \
-O normal_mark_dups_cpu.bam \
-M normal_metrics.txt
# Generate a BQSR report.
$ gatk BaseRecalibrator \
--java-options -Xmx30g \
--input normal_mark_dups_cpu.bam \
--output ${OUTPUT_NORMAL_RECAL_FILE} \
--known-sites ${KNOWN_SITES_FILE} \
--reference ${REFERENCE_FILE}
# Apply the BQSR report.
$ gatk ApplyBQSR \
--java-options -Xmx30g \
-R ${REFERENCE_FILE} \
-I normal_cpu.bam \
--bqsr-recal-file ${OUTPUT_NORMAL_RECAL_FILE} \
-O ${OUTPUT_NORMAL_BAM}
# Finally, run Mutect2 on the normal and tumor data.
$ gatk Mutect2 \
-R ${REFERENCE_FILE} \
--input ${OUTPUT_TUMOR_BAM} \
--tumor-sample tumor \
--input ${OUTPUT_NORMAL_BAM} \
--normal-sample normal \
--output ${OUTPUT_VCF}
从 FASTQ 到 VCF 运行肿瘤正常体细胞流程。
输入/输出文件选项
- --ref REF
-
参考文件的路径。(默认值:无)
此选项为必选项。
- --in-tumor-fq [IN_TUMOR_FQ ...]
-
成对末端 FASTQ 文件的路径,后跟可选的带引号的读组(示例:“@RG\tID:foo\tLB:lib1\tPL:bar\tSM:20”)。文件可以是 fastq 或 fastq.gz 格式。所有输入集都应具有读组,或者都不应具有读组,它将由流程自动添加。此选项可以重复多次。示例 1:--in-tumor-fq sampleX_1_1.fastq.gz sampleX_1_2.fastq.gz --in-tumor-fq sampleX_2_1.fastq.gz sampleX_2_2.fastq.gz。示例 2:--in-tumor-fq sampleX_1_1.fastq.gz sampleX_1_2.fastq.gz "@RG ID:foo\tLB:lib1\tPL:bar\tSM:sm_tumor\tPU:unit1" --in-tumor-fq sampleX_2_1.fastq.gz sampleX_2_2.fastq.gz "@RG ID:foo2\tLB:lib1\tPL:bar\tSM:sm_tumor\tPU:unit2"。对于同一示例,读组应具有相同的样本名称 (SM) 和不同的 ID 和 PU。(默认值:无)
- --in-se-tumor-fq [IN_SE_TUMOR_FQ ...]
-
单端 FASTQ 文件的路径,后跟可选的带引号的读组(示例:“@RG\tID:foo\tLB:lib1\tPL:bar\tSM:sample\tPU:foo”)。文件必须是 fastq 或 fastq.gz 格式。所有输入集都应具有读组,或者都不应具有读组;如果未提供读组,则流程将自动添加一个。此选项可以重复多次。示例 1:--in-se-tumor-fq sampleX_1.fastq.gz --in-se-tumor-fq sampleX_2.fastq.gz。示例 2:--in-se-tumor-fq sampleX_1.fastq.gz "@RG\tID:foo\tLB:lib1\tPL:bar\tSM:tumor\tPU:unit1" --in-se-tumor-fq sampleX_2.fastq.gz "@RG\tID:foo2\tLB:lib1\tPL:bar\tSM:tumor\tPU:unit2"。对于同一示例,读组应具有相同的样本名称 (SM) 和不同的 ID 和 PU。(默认值:无)
- --in-normal-fq [IN_NORMAL_FQ ...]
-
成对末端 FASTQ 文件的路径,后跟可选的带引号的读组(示例:“@RG\tID:foo\tLB:lib1\tPL:bar\tSM:20”)。文件必须是 fastq 或 fastq.gz 格式。所有输入集都应具有读组,或者都不应具有读组;如果未提供读组,则流程将自动添加一个。此选项可以重复多次。示例 1:--in-normal-fq sampleX_1_1.fastq.gz sampleX_1_2.fastq.gz --in-fq sampleX_2_1.fastq.gz sampleX_2_2.fastq.gz。示例 2:--in-normal-fq sampleX_1_1.fastq.gz sampleX_1_2.fastq.gz "@RG ID:foo\tLB:lib1\tPL:bar\tSM:sm_normal\tPU:unit1" --in-normal-fq sampleX_2_1.fastq.gz sampleX_2_2.fastq.gz "@RG ID:foo2\tLB:lib1\tPL:bar\tSM:sm_normal\tPU:unit2"。对于同一示例,读组应具有相同的样本名称 (SM) 和不同的 ID 和 PU。(默认值:无)
- --in-se-normal-fq [IN_SE_NORMAL_FQ ...]
-
单端 FASTQ 文件的路径,后跟可选的带引号的读组(示例:“@RG\tID:foo\tLB:lib1\tPL:bar\tSM:sample\tPU:foo”)。文件必须是 fastq 或 fastq.gz 格式。所有输入集都应具有读组,或者都不应具有读组;如果未提供读组,则流程将自动添加一个。此选项可以重复多次。示例 1:--in-se-normal-fq sampleX_1.fastq.gz --in-se-normal-fq sampleX_2.fastq.gz。示例 2:--in-se-normal-fq sampleX_1.fastq.gz "@RG\tID:foo\tLB:lib1\tPL:bar\tSM:normal\tPU:unit1" --in-se-normal-fq sampleX_2.fastq.gz "@RG\tID:foo2\tLB:lib1\tPL:bar\tSM:normal\tPU:unit2"。对于同一示例,读组应具有相同的样本名称 (SM) 和不同的 ID 和 PU。(默认值:无)
- --knownSites KNOWNSITES
-
已知插入缺失文件的路径。文件必须为 vcf.gz 格式。此选项可以多次使用。(默认值:无)
- --interval-file INTERVAL_FILE
-
间隔文件的路径,格式为以下格式之一:Picard 样式 (.interval_list 或 .picard)、GATK 样式 (.list 或 .intervals) 或 BED 文件 (.bed)。此选项可以多次使用。(默认值:无)
- --out-vcf OUT_VCF
-
变异检出后 VCF 文件的路径。(默认值:无)
此选项为必选项。
- --out-tumor-bam OUT_TUMOR_BAM
-
肿瘤读取的 BAM 文件的路径。(默认值:无)
此选项为必选项。
- --out-normal-bam OUT_NORMAL_BAM
-
正常读取的 BAM 文件的路径。(默认值:无)
- --mutect-bam-output MUTECT_BAM_OUTPUT
-
应在 Mutect 中写入组装的单倍型的文件。如果使用 --run-partition 传递,则将输出多个 BAM 文件。(默认值:无)
- --out-tumor-recal-file OUT_TUMOR_RECAL_FILE
-
肿瘤样本碱基质量分数重新校准后报告文件的路径。(默认值:无)
- --out-normal-recal-file OUT_NORMAL_RECAL_FILE
-
正常样本碱基质量分数重新校准后报告文件的路径。(默认值:无)
- --mutect-germline-resource MUTECT_GERMLINE_RESOURCE
-
vcf.gz 种系资源文件的路径。包含等位基因分数的种系测序群体 vcf。(默认值:无)
- --mutect-alleles MUTECT_ALLELES
-
vcf.gz 强制调用文件的路径。要强制调用的等位基因集,无论证据如何。(默认值:无)
工具选项
- --max-read-length MAX_READ_LENGTH
-
用于 bwa 和过滤 FASTQ 输入的最大读取长度/大小(即,序列长度)(默认值:480)
- --min-read-length MIN_READ_LENGTH
-
用于 bwa 和过滤 FASTQ 输入的最小读取长度/大小(即,序列长度)(默认值:1)
- -L INTERVAL, --interval INTERVAL
-
从中调用输入读取的 bqsr 的间隔。所有间隔都将具有 100 的填充以获取读取记录,并且重叠间隔将被组合。间隔文件应使用 --interval-file 选项传递。此选项可以多次使用(例如,“-L chr1 -L chr2:10000 -L chr3:20000+ -L chr4:10000-20000”)。(默认值:无)
- --bwa-options BWA_OPTIONS
-
将受支持的 bwa mem 选项作为一个字符串传递。当前原始 bwa mem 支持的选项为:-M、-Y、-C、-T、-B、-U、-L 和 -K(例如,--bwa-options="-M -Y")(默认值:无)
- --no-warnings
-
禁止显示有关系统线程和内存使用情况的警告消息。(默认值:无)
- --filter-flag FILTER_FLAG
-
如果条目的标志满足此条件,则不要在输出中生成 SAM 条目。条件:(标志 & 过滤器 != 0)(默认值:0)
- --skip-multiple-hits
-
过滤 SA 长度不为 0 的 SAM 条目(默认值:无)
- --align-only
-
在 bwa-mem 之后生成输出 BAM。输出将不会进行坐标排序,也不会标记重复项(默认值:无)
- --no-markdups
-
不执行标记重复项步骤。在排序后返回 BAM。(默认值:无)
- --fix-mate
-
向输出文件添加配对雪茄 (MC) 和配对质量 (MQ) 标签。(默认值:无)
- --markdups-assume-sortorder-queryname
-
假设读取按查询名称排序以进行标记重复项。这也将标记辅助读取、补充读取和未映射读取为重复项。此标志不会影响变异检出,同时会增加处理时间。(默认值:无)
- --markdups-picard-version-2182
-
假设标记重复项与 Picard 版本 2.18.2 类似。(默认值:无)
- --monitor-usage
-
在执行期间监视近似的 CPU 利用率和主机内存使用情况。(默认值:无)
- --optical-duplicate-pixel-distance OPTICAL_DUPLICATE_PIXEL_DISTANCE
-
为了将两个重复簇视为光学重复项,它们之间的最大偏移量。如果未传递 --out-duplicate-metrics,则忽略。(默认值:无)
- -ip INTERVAL_PADDING, --interval-padding INTERVAL_PADDING
-
要添加到您包含的每个间隔的填充量(以碱基对为单位)。(默认值:无)
- --standalone-bqsr
-
运行独立的 BQSR。(默认值:无)
- --max-mnp-distance MAX_MNP_DISTANCE
-
以此距离或更小距离分隔的两个或多个相位替代合并为 MNP。(默认值:1)
- --mutectcaller-options MUTECTCALLER_OPTIONS
-
将受支持的 mutectcaller 选项作为一个字符串传递。以下是当前受支持的原始 mutectcaller 选项:-pcr-indel-model <NONE, HOSTILE, AGGRESSIVE, CONSERVATIVE>、-max-reads-per-alignment-start <int>,(例如,--mutectcaller-options="-pcr-indel-model HOSTILE -max-reads-per-alignment-start 30")。(默认值:无)
- --initial-tumor-lod INITIAL_TUMOR_LOD
-
考虑堆积活动状态的 Log 10 优势阈值。(默认值:无)
- --tumor-lod-to-emit TUMOR_LOD_TO_EMIT
-
将变异发出到 VCF 的 Log 10 优势阈值。(默认值:无)
- --pruning-lod-threshold PRUNING_LOD_THRESHOLD
-
自适应修剪算法的 Ln 似然比阈值。(默认值:无)
- --active-probability-threshold ACTIVE_PROBABILITY_THRESHOLD
-
位点被视为活动位点的最小概率。(默认值:无)
- --no-alt-contigs
-
忽略常见的已知备用 contig。(默认值:无)
- --genotype-germline-sites
-
调用所有明显的种系位点,即使它们最终会被过滤。(默认值:无)
- --genotype-pon-sites
-
调用 PoN 中的位点,即使它们最终会被过滤。(默认值:无)
- --force-call-filtered-alleles
-
强制调用 --alleles 指定的资源中包含的已过滤等位基因。(默认值:无)
- --filter-reads-too-long
-
忽略所有大小 > 500bp 的输入 BAM 读取。(默认值:无)
- --tumor-read-group-sm TUMOR_READ_GROUP_SM
-
肿瘤样本的读组的 SM 标签。(默认值:无)
- --tumor-read-group-lb TUMOR_READ_GROUP_LB
-
肿瘤样本的读组的 LB 标签。(默认值:无)
- --tumor-read-group-pl TUMOR_READ_GROUP_PL
-
肿瘤样本的读组的 PL 标签。(默认值:无)
- --tumor-read-group-id-prefix TUMOR_READ_GROUP_ID_PREFIX
-
肿瘤样本的读组的 ID 和 PU 标签的前缀。此前缀将用于此运行中的所有肿瘤 FASTQ 文件对。ID 和 PU 标签将由此前缀和一个标识符组成,该标识符对于一对 FASTQ 文件将是唯一的。(默认值:无)
- --normal-read-group-sm NORMAL_READ_GROUP_SM
-
正常样本的读组的 SM 标签。(默认值:无)
- --normal-read-group-lb NORMAL_READ_GROUP_LB
-
正常样本的读组的 LB 标签。(默认值:无)
- --normal-read-group-pl NORMAL_READ_GROUP_PL
-
正常样本的读组的 PL 标签。(默认值:无)
- --normal-read-group-id-prefix NORMAL_READ_GROUP_ID_PREFIX
-
正常样本的读组的 ID 和 PU 标签的前缀。此前缀将用于此运行中的所有正常 FASTQ 文件对。ID 和 PU 标签将由此前缀和一个标识符组成,该标识符对于一对 FASTQ 文件将是唯一的。(默认值:无)
性能选项
- --bwa-nstreams BWA_NSTREAMS
-
每个 GPU 要使用的流数;注意:更多流会增加设备内存使用量(默认值:4)
- --bwa-cpu-thread-pool BWA_CPU_THREAD_POOL
-
每个 GPU 要分配给 CPU 线程池的线程数(默认值:16)
- --num-cpu-threads-per-stage NUM_CPU_THREADS_PER_STAGE
-
(与上述相同)每个 GPU 要分配给 CPU 线程池的线程数(默认值:无)
- --gpuwrite
-
使用一个 GPU 来加速写入最终 BAM/CRAM。(默认值:无)
- --gpuwrite-deflate-algo GPUWRITE_DEFLATE_ALGO
-
选择要与 --gpuwrite 一起使用的 nvCOMP DEFLATE 算法。请注意,这些选项与 CPU DEFLATE 选项不对应。有效选项为 1、2 和 4。选项 1 最快,而选项 2 和 4 的吞吐量逐渐降低,但压缩率更高。当用户未提供输入时(即,无),默认值为 1(默认值:无)
- --gpusort
-
使用 GPU 来加速排序和标记。(默认值:无)
- --use-gds
-
使用 GPUDirect Storage (GDS) 来启用直接数据路径,以实现 GPU 内存和存储之间的直接内存访问 (DMA) 传输。必须与 --gpuwrite 同时使用。有关如何设置和使用 GPUDirect Storage 的信息,请参阅 Parabricks 文档 > 最佳性能。(默认值:无)
- --memory-limit MEMORY_LIMIT
-
排序和后排序期间的系统内存限制(以 GB 为单位)。默认情况下,限制为系统总内存的一半。(默认值:62)
- --low-memory
-
使用低内存模式;将降低每个 GPU 的流数(默认值:无)
- --mutect-low-memory
-
在 mutect 调用器中使用低内存模式。(默认值:无)
- --run-partition
-
开启分区模式;将基因组划分为多个分区,并为每个分区运行 1 个进程。(默认值:无)
- --gpu-num-per-partition GPU_NUM_PER_PARTITION
-
每个分区要使用的 GPU 数量。(默认值:无)
- --num-htvc-threads NUM_HTVC_THREADS
-
要使用的 CPU 线程数。(默认值:5)
常用选项
- --logfile LOGFILE
-
日志文件的路径。如果未指定,消息将仅写入标准错误输出。(默认值:无)
- --tmp-dir TMP_DIR
-
将存储临时文件的目录的完整路径。
- --with-petagene-dir WITH_PETAGENE_DIR
-
PetaGene 安装目录的完整路径。默认情况下,这应已安装在 /opt/petagene。使用此选项还需要通过设置 LD_PRELOAD 环境变量来预加载 PetaLink 库。可选地设置用于数据和凭据的 PETASUITE_REFPATH 和 PGCLOUD_CREDPATH 环境变量(默认值:无)
- --keep-tmp
-
完成时不删除存储临时文件的目录。
- --no-seccomp-override
-
不覆盖 docker 的 seccomp 选项(默认值:无)。
- --version
-
查看兼容的软件版本。
GPU 选项
- --num-gpus NUM_GPUS
-
运行要使用的 GPU 数量。将使用 GPU 0..(NUM_GPUS-1)。