BQSR、重比对与质控#
bqsr#
统计碱基质量校正表(GATK BaseRecalibrator)。输出的 GATKReport 校正表与 GATK 逐字节相同,与线程数无关。
baizegen bqsr -I DEDUPED_BAM -R REFERENCE -k KNOWN_SITES [-k KNOWN_SITES2 ...] -O RECAL_TABLE [-t NUMBER_THREADS]
| 参数 | 说明 | 默认 |
|---|---|---|
-I, --input FILE |
按坐标排序的 BAM / CRAM。必需 | |
-R, --reference FILE |
参考基因组 FASTA(需要 .fai)。必需 |
|
-k, --known-sites FILE |
已知变异位点 VCF,可重复,至少一个。必需 | |
-O, --output FILE |
输出的校正表。必需 | |
-t, --threads N |
线程数 | 1 |
环境变量(均不改变结果):BQSR_NUMA=1 在多路 CPU 服务器上把工作线程和统计表绑定到 NUMA 节点(约快 15%)。
在 fastq2bam 中加 --recal-table 可以在生成 BAM 的同时得到同样的校正表,见 fastq2bam。
applybqsr#
按校正表校正碱基质量,写出新的 BAM(GATK ApplyBQSR),输出与线程数无关。也可以不生成新 BAM,而在 haplotyper 中用 -q 即时校正。
baizegen applybqsr -I DEDUPED_BAM -q RECAL_TABLE -O RECALED_BAM [-R REFERENCE] [-t NUMBER_THREADS]
| 参数 | 说明 | 默认 |
|---|---|---|
-I, --input FILE |
输入 BAM / CRAM。必需 | |
-q, --bqsr-recal-file FILE |
校正表(baizegen bqsr 或 GATK BaseRecalibrator 的输出)。必需 |
|
-O, --output FILE |
输出 BAM。必需 | |
-R, --reference FILE |
解码 CRAM 输入用的参考基因组 | CRAM 头中的 UR |
-t, --threads N |
校正与 BGZF 压缩 / 解压的线程数 | 1 |
暂不支持的 GATK 参数:--quantize-quals、--static-quantized-quals、--round-down-quantized、--emit-original-quals、--use-original-qualities / -OQ、--global-qscore-prior。
realign#
在一次运行中完成 GATK 3.8-1 的 RealignerTargetCreator 和 IndelRealigner(indel 局部重比对)。目标区间和输出 BAM 的每条记录(内容和顺序)都与 GATK 3.8-1 相同。
baizegen realign -I DEDUPED_BAM -R REFERENCE -O REALIGNED_BAM [--known-indels KNOWN_INDELS ...] [选项]
| 参数 | 说明 | 默认 |
|---|---|---|
-I FILE |
按坐标排序、已标记重复的 BAM / CRAM。必需。有 .bai 时按 GATK 的方式划分处理区段 |
|
-R FILE |
参考基因组 FASTA(需要 .fai)。必需 |
|
-O FILE |
输出 BAM(带索引)。必需 | |
--known-indels FILE(也可写作 --known) |
已知 indel VCF(GATK 的 -known),可重复,需 tabix 索引 |
|
--targets-out FILE |
同时写出 RealignerTargetCreator 的目标区间文件 | |
-L CONTIG[,CONTIG...] |
两个工具的 -L,按染色体限定,需要输入有索引 |
全部 |
--knowns-only |
--consensusDeterminationModel KNOWNS_ONLY |
USE_READS |
--lod X |
-LOD |
5.0 |
--entropy X |
--entropyThreshold |
0.15 |
--max-reads N |
--maxReadsForRealignment |
20000 |
--max-reads-in-memory N |
--maxReadsInMemory |
150000 |
--max-isize N |
--maxIsizeForMovement |
3000 |
--max-pos-move N |
--maxPositionalMoveAllowed |
200 |
--no-original-tags |
--noOriginalAlignmentTags |
关闭 |
--window-size N |
RealignerTargetCreator 的 --windowSize |
10 |
--max-interval-size N |
RealignerTargetCreator 的 --maxIntervalSize |
500 |
-t, --threads N |
同时处理的区段数和 BGZF 线程数 | 4 |
qcmetrics#
对按坐标排序、已标记重复的 BAM / CRAM 一次遍历,计算标准质控指标。每个文件的内容与 --gatk-version 所选 GATK 版本自带的 Picard / GATK(默认参数)逐字节相同。
baizegen qcmetrics -I DEDUPED_BAM -R REFERENCE -O PREFIX [选项]
输出文件:
| 文件 | 对应工具 |
|---|---|
PREFIX.alignment_summary_metrics |
CollectAlignmentSummaryMetrics |
PREFIX.quality_yield_metrics |
CollectQualityYieldMetrics |
PREFIX.insert_size_metrics |
CollectInsertSizeMetrics(双端数据) |
PREFIX.wgs_metrics |
CollectWgsMetrics |
PREFIX.duplicate_metrics |
CollectDuplicateMetrics(按重复标记统计的 DuplicationMetrics) |
PREFIX_depth.sample_summary、PREFIX_depth.sample_cumulative_coverage_counts |
GATK DepthOfCoverage(样本分组) |
PREFIX.qc_summary_metrics |
BaizeGen 汇总表:比对 / primary / 去重后 / 高 MAPQ 的 reads 数和碱基数 |
PREFIX.flagstat |
samtools flagstat(默认输出) |
PREFIX.hs_metrics |
CollectHsMetrics(给出 bait / target 区间时) |
PREFIX.flank.interval_list |
flank 区:bait 两侧各扩展 --flank,去掉 bait 本身 |
PREFIX.flank_wgs_metrics |
以 flank 区为 INTERVALS 的 CollectWgsMetrics(汇总表中 FLANKING_* 的来源) |
| 参数 | 说明 | 默认 |
|---|---|---|
-I, --input FILE |
按坐标排序、已标记重复的 BAM / CRAM。DepthOfCoverage 只统计读组带 SM 的 reads。必需 |
|
-R, --reference FILE |
参考基因组 FASTA(需要 .fai)。必需 |
|
-O, --output PREFIX |
输出文件前缀。必需 | |
-t, --threads N |
线程数 | 1 |
--gatk-version V |
遵循的 GATK 版本(其 Picard / htsjdk / DepthOfCoverage),可选版本同 haplotyper |
4.6.2.0 |
--samtools-version V |
flagstat 遵循的 samtools 版本,1.10–1.25(1.13 之前没有 primary 相关的行) | 1.25 |
--summary-coverage-threshold N |
DepthOfCoverage 的覆盖度阈值,可重复 | 15 |
--start N、--stop N、--nBins N |
DepthOfCoverage 的分箱 | 1、500、499 |
-L, --intervals STR |
DepthOfCoverage 的统计区域:contig 或 contig:start-end,可重复 |
全部染色体 |
--high-mapq N |
汇总表中“高 MAPQ”的阈值 | 4 |
--fastp-json FILE |
这批 reads 的 fastp JSON 报告:汇总表中 RAW_READS … PCT_N_BASES 取自该报告 | |
--bait-intervals FILE、--target-intervals FILE |
CollectHsMetrics 的 BAIT_INTERVALS / TARGET_INTERVALS,可重复,两者需同时给出;Picard interval_list,或 BED 文件(按 BedToIntervalList 的方式转换) | |
--bait-set-name NAME |
CollectHsMetrics 的 BAIT_SET_NAME | bait 文件名第一个 . 之前的部分 |
--flank N |
flank 区的扩展长度 | 100 |
--wgs-coverage-cap N、--wgs-locus-accumulation-cap N |
CollectWgsMetrics 的 COVERAGE_CAP、LOCUS_ACCUMULATION_CAP(后者小于前者时与 Picard 一样提高到前者) | 250、100000 |