BaizeGen 使用手册 手册版本 2026-11-09

胚系变异与联合分型#

haplotyper#

胚系 SNP 和 indel 检测(GATK HaplotypeCaller),输出 VCF 或 gVCF。默认复现 GATK 4.6.2.0,--gatk-version 可选择其他版本;输出与对应版本的 HaplotypeCaller 逐条记录相同,表头除 ##GATKCommandLine 外逐行相同。GPU 版加 --device gpu 在 GPU 上计算,输出与 CPU 逐字节相同。

baizegen haplotyper -R REFERENCE -I DEDUPED_BAM -O OUTPUT [选项]

必需参数#

参数 说明
-I, --input FILE 按坐标排序并带索引的 BAM / CRAM。一个 BAM 中有多个样本(读组 SM 不同)时输出多样本 VCF
-R, --reference FILE 参考基因组 FASTA
-O, --output FILE 输出文件:.vcf、.vcf.gz(同时写 .tbi)、.g.vcf.gz、.bcf

常用参数#

参数 说明 默认
-L, --interval STR|FILE 只分析指定区间:chr:start-end,或 .bed / .interval_list / .list / .intervals 文件;可重复 全基因组
-t, --threads INT 线程数 1
--ploidy INT 样本倍性 2
-q, --bqsr-recal-file FILE 校正表:读取 reads 时即时应用 BQSR,不需要先生成校正后的 BAM。不要用于已经校正过的 BAM
-A, --annotation NAME 只接受 StrandBiasBySample:VCF 模式下也输出 FORMAT 中的 SB 字段。HaplotypeCaller 的默认注释总是输出,其他注释名会报错
--device cpu|gpu gpu:在 GPU 上计算(仅 GPU 版),输出与 CPU 逐字节相同 cpu
--gpus N|all --device gpu 时使用的显卡数。多卡时每张卡一个进程,按染色体连续分配,-t 在各进程间均分,最后合并为一个文件,记录和索引与单进程相同(VCF / gVCF 输出,不含 BCF)。被其他进程占用的卡不使用;部分占用的卡按剩余显存规划;没有可用的卡时在 CPU 上计算 all
-OVI, --create-output-variant-index true|false 为 .vcf.gz / .g.vcf.gz 写 .tbi 索引(染色体超过 2^29 时写 .csi) true

gVCF 输出#

参数 说明 默认
--emit-mode MODE none(VCF)、gvcf、bp_resolution(逐碱基),不区分大小写 none
-ERC, --emit-ref-confidence MODE 同上,GATK 写法:NONE、GVCF、BP_RESOLUTION NONE
--gvcf-gq-bands INT[,INT...] 参考块的 GQ 分段边界 1..60,70,80,90,99
--floor-blocks 参考块输出所在分段的下界 GQ,而不是块内最小 GQ 关闭
--gvcf-deflate auto|gpu|cpu .g.vcf.gz 的压缩位置:gpu(记录相同、字节不同,文件约大 4%;需要 GPU 版和显卡)、cpu(htslib)、auto(--device gpu 且有显卡时用 GPU) auto
--gvcf-compression N .g.vcf.gz 的压缩级别 1–9 6

组装与似然参数#

参数 说明 默认
--kmer-size INT 组装的 k-mer 长度,可重复 10、25
--prune-factor INT 组装图剪枝阈值 2
--adaptive-pruning 使用 AdaptiveChainPruner(默认 LowWeightChainPruner) 关闭
--min-base-qual INT 最低碱基质量 10
--base-quality-score-threshold INT PairHMM 中的碱基质量上限 18
--max-reads-per-alignment-start INT 每个起始位置保留的最多 reads 数(下采样),0 关闭 50

复现指定的 GATK 版本与运行环境#

参数 说明 默认
--gatk-version V 要复现的 GATK 版本:4.0.12.0、4.1.8.0、4.1.9.0、4.2.6.1、4.3.0.0、4.4.0.0、4.5.0.0、4.6.2.0。--device gpu 支持全部版本 4.6.2.0
-pairHMM, --pair-hmm-implementation IMPL FASTEST_AVAILABLE:GKL 的原生 PairHMM(GATK 在 x86 上的默认;AVX_LOGLESS_CACHING、AVX_LOGLESS_CACHING_OMP 与它相同);LOGLESS_CACHING:GATK 的 Java PairHMM,逐位复现(仅 CPU)。GATK 的其他 Java 实现(ORIGINAL、EXACT、ARRAY_LOGLESS)不支持 FASTEST_AVAILABLE
--gatk-host-simd avx2|avx512 GATK 当时运行的 CPU:avx512 复现 GATK 在 AVX-512 机器上的原生 PairHMM 结果(任何支持 FMA 的 CPU 都能计算,GPU 版也支持) avx2
--gatk-host-glibc V GATK 进程当时使用的 glibc 版本:原生 PairHMM 的 log10f / log10 按该版本计算(2.17、2.28 及以后;2.41 起 log10f 正确舍入) 本程序自带的数学库

用法见复现已有的 GATK 结果。

诊断与兼容参数#

以下参数为兼容 GATK 的命令行而保留,接受但不起作用(不影响结果),一般不需要设置。

参数 说明 默认
--native-pair-hmm-threads INT GATK 原生 PairHMM 每次调用的 OpenMP 线程数。只检查是整数,结果与它无关
--smith-waterman IMPL GATK 的 Smith-Waterman 实现:FASTEST_AVAILABLE、AVX_ENABLED、JAVA。只检查取值,这几种实现的比对结果相同

combinegvcfs#

把多个 gVCF 合并为一个多样本 gVCF(GATK CombineGVCFs 4.6.2.0)。输出与 GATK 逐条记录相同,表头除 ##GATKCommandLine 外也相同。可以在同一次运行中完成联合分型(--genotype-out)。

baizegen combinegvcfs -R REFERENCE -V A.g.vcf.gz [-V B.g.vcf.gz ...] -O COHORT.g.vcf.gz [选项]
参数 说明 默认
-R, --reference FILE 参考基因组 FASTA(需要 .fai)。必需
-V, --variant FILE 输入 gVCF(单样本或多样本),可重复,按给出的顺序。输入顺序会影响输出中等位基因的顺序(与 GATK 相同)。以 .list 结尾的文件按路径列表读入,就地展开(与 GATK 相同)
--variant-list FILE gVCF 路径列表文件,每行一个(排在 -V 之后);每行去掉首尾空白,空行和以 # 开头的行跳过(与 GATK 的 .list 相同)
-O, --output FILE 合并后的 gVCF:.g.vcf.gz 写 BGZF 压缩文件和索引,其他扩展名写文本。必需
--genotype-out FILE 同时输出群体 VCF:等于对合并结果运行 gvcftyper,逐字节相同(gVCF 照常写出)
-L, --intervals STR|FILE 只处理这些区间(可重复;.bed / .interval_list / .list),需要输入有索引
-XL, --exclude-intervals STR|FILE 排除这些区间(可重复)
-D, --dbsnp FILE dbSNP(CombineGVCFs 只在表头中声明 INFO DB)
--ignore-variants-starting-outside-interval 丢弃起点在区间外的记录 关闭
--break-bands-at-multiples-of N 在 N 的整数倍位置切断参考块 不切断
--convert-to-base-pair-resolution 每个位置单独一条记录 关闭
--disable-sequence-dictionary-validation 同 GATK:同名染色体长度不一致、或某个输入与参考基因组没有共同染色体时默认拒绝运行,加此参数则继续。输入表头里有而参考基因组里没有的染色体不会被拒绝;落在这类染色体上的记录跳过并给出警告(GATK 运行到这类记录时会中途退出) 关闭
--compression-level N BGZF 压缩级别 0–9(解压后的文本与级别无关) 5
-t, --threads N 线程数。N ≥ 2 且输出为 .gz 时按基因组区段(或 -L / -XL 区间)并行,输出文本与单线程相同 1
--device cpu|gpu gpu:合并、分型、文本生成和压缩在 GPU 上进行(仅 GPU 版),输出文本相同 cpu
--gpus N|all --device gpu 时使用的显卡 全部可见的卡
--merge-ties-by-input 同一位置的多个记录按 -V 顺序合并,而不是 GATK 的顺序。速度更快,但输出不再与 GATK 相同(约 2% 的 VCF 位点等位基因顺序不同,约 0.002% 的位点结果不同;详见加速选项) 关闭
-OVI, --create-output-variant-index true|false 写 .tbi / .csi 索引 true
--allow-old-rms-mapping-quality-annotation-data --genotype-out 时,从 RAW_MQ(GATK 3 / 4.0 的 gVCF)计算 MQ,同 gvcftyper 关闭
--resume 断点续跑(下一个发布包起提供):在染色体起点写检查点,运行失败时保留已写出的部分,用同一条命令再次运行即从最后一个检查点继续,结果与一次跑完逐字节相同。见中途出错后继续运行 关闭

--ignore-variants-starting-outside-interval、--disable-sequence-dictionary-validation、--allow-old-rms-mapping-quality-annotation-data 后面可以跟 true / false(GATK 写法),不跟时等于 true。

输入中表头没有声明的 INFO 字段(例如某些 gVCF 中未声明的 ClippingRankSum)按 GATK --lenient 的方式处理:合并结果和 --genotype-out 的 VCF 中照样带上,表头不补声明。GATK 不加 --lenient 时会在第一条这样的记录处退出。

中途出错后继续运行#

大队列的合并往往要跑数小时。加上 --resume 后,中途出错不必从头再跑。--resume 从下一个发布包起提供。

  • 写检查点:每当一条染色体全部写完,且距上一个检查点已超过约 10 分钟,就在 <输出名>.resume/ 目录中记一个检查点。间隔可以用环境变量 BG_COMBINE_RESUME_EVERY_S(秒)调整。
  • 失败时:运行失败或进程被杀死时,以下内容都会保留,不会删除:
    • <输出名>.partial;
    • --genotype-out 的 .partial;
    • 检查点目录。
  • 续跑:用同一条命令(同样带 --resume)再运行一次,就从最后一个检查点所在的染色体接着跑。成功结束后,检查点目录自动删除。
  • 检查点作废:输入文件、参考基因组、影响输出内容的参数或程序本身有变化时,检查点作废,程序给出警告后从头运行。-t、--device、--gpus 可以改。
  • 结果:续跑得到的 gVCF、VCF 和两个索引,与不中断、一次跑完的结果逐字节相同。
    • 例外:--device gpu 显存不够、部分分片转到 CPU 上处理时,哪些块由 GPU 压缩取决于运行时的时机。这种情况下,即使不中断,两次运行的压缩字节和索引也可能不同,但解压后的内容相同。
    • 带 --resume 时,VCF 的压缩块在每条染色体结尾处断开。因此它与不带 --resume 的 VCF 字节不同,但解压后的内容相同。
    • gVCF 不受影响。

检查点只写在染色体起点。中断后需要重算的,是最后一个检查点之后的部分,最多约为一条染色体加上一个检查点间隔的工作量。

下列情况不写检查点(给出警告,照常运行): - 单线程 CPU 运行(-t 1 且不用 GPU); - 输出不是 .gz; - 带 -L / -XL; - --genotype-out 不是 .vcf.gz; - 某个输入不是 BGZF 压缩,或没有索引。续跑时要靠输入的索引找到接着读的位置。

暂不支持:--call-genotypes。不支持(给出时报错退出,合并时总是使用 GATK 的默认注释):--input-is-somatic、--drop-somatic-filtering-annotations、注释相关参数(-A, --annotation、-G, --annotation-group、-AX, --annotations-to-exclude)。

gvcftyper#

对 gVCF 做联合分型,输出 VCF(GATK GenotypeGVCFs 4.6.2.0),输出与 GATK 逐条记录相同;-t N 的输出与 -t 1 逐字节相同。

baizegen gvcftyper -r REFERENCE -v INPUT.g.vcf.gz -O OUTPUT.vcf.gz [选项]
参数 说明 默认
-r, --reference FILE 参考基因组 FASTA,需要同时有 .fai 和 .dict。必需
-v, --variant FILE 输入 gVCF(单样本或多样本),只接受一个文件。多个样本请先用 combinegvcfs 合并。必需
-O, --output FILE 输出:.vcf、.vcf.gz、.bcf。必需
-d, --dbsnp FILE dbSNP VCF(tabix 索引),用于 ID 列和 DB 注释,不影响分型
-L, --intervals STR|FILE 只分型与这些区间重叠的记录(可重复;contig、contig:start-end、.bed / .interval_list / .list);需要索引,没有时自动建立;每条记录只输出一次
-XL, --exclude-intervals STR|FILE 排除这些区间(可重复;单独使用时为全部染色体减去这些区间)
--merge-input-intervals 每条染色体只遍历一个区间:从第一个 -L 的起点到最后一个的终点。没有 -L / -XL 时忽略 关闭
--variant-output-filtering MODE 只输出与区间满足关系的位点:STARTS_IN、ENDS_IN、OVERLAPS、CONTAINED、ANYWHERE(不区分大小写)。ANYWHERE 以外的模式需要 -L / -XL ANYWHERE
--only-output-calls-starting-in-intervals 等于 --variant-output-filtering STARTS_IN,两者不能同时使用 关闭
--ploidy N(也可写作 --sample-ploidy、-ploidy) gVCF 中没有 GT 的样本的倍性(GenotypeGVCFs 的 --sample-ploidy)。其他样本按其自身 GT 的倍性分型,支持任意倍性和混合倍性 2
--allow-old-rms-mapping-quality-annotation-data 从 RAW_MQ(GATK 3 / 4.0 的 gVCF)按 GATK 的旧规则计算 MQ。不加时,遇到只有 RAW_MQ 的记录会像 GenotypeGVCFs 一样报错退出(退出码 2) 关闭
-OVI, --create-output-variant-index true|false 为 .vcf.gz 写 .tbi、为 .bcf 写 .csi true
-t, --threads N 线程数。N ≥ 2 时按基因组区段并行,需要输入有 tabix 索引(没有时自动建立;输入不是 BGZF 压缩、无法建立索引时单线程运行) 1

--merge-input-intervals、--only-output-calls-starting-in-intervals、--allow-old-rms-mapping-quality-annotation-data 后面可以跟 true / false(GATK 写法),不跟时等于 true。

输出中样本按名称排序,与 GenotypeGVCFs 相同。

输入中表头没有声明的 INFO 字段按 GenotypeGVCFs --lenient 的方式带到输出中(表头不补声明);GATK 不加 --lenient 时会在第一条这样的记录处退出。输出为 .bcf 时无法写入这类字段,会丢弃并给出警告。

等位基因超过 50 个(参考等位基因和 * 都计入)的位点与 GenotypeGVCFs 一样不分型、不输出;combinegvcfs --genotype-out 相同。

诊断与兼容参数#

-t N(N ≥ 2)时的分区参数,不影响输出,一般不需要设置。

参数 说明 默认
--gvcf-region-size N 每个并行区段的长度(bp) 10000000
--gvcf-lookback N 每个区段起点前的预读长度(bp),用于还原跨区段的缺失。遇到长于它且跨过区段边界的缺失时程序报错退出,此时加大该值或改用 -t 1 100000

variantfiltration#

按 JEXL 表达式、SNP 聚集和区间掩码给变异记录加 FILTER 标记(GATK VariantFiltration 4.6.2.0;下一个发布包起提供),输出与 GATK 逐条记录相同(表头除 ##GATKCommandLine 外逐行相同),参数名与 GATK 相同,流程中可以直接替换。

baizegen variantfiltration -V INPUT.vcf.gz -O OUTPUT.vcf.gz \
    -filter "QD < 2.0" --filter-name QD2 -filter "FS > 60.0" --filter-name FS60 -filter "MQ < 40.0" --filter-name MQ40
参数 说明 默认
-V, --variant FILE 输入 VCF(.vcf 或 bgzip 压缩的 .vcf.gz,单样本或多样本)。必需
-O, --output FILE 输出:.vcf.gz(同时写 .tbi)或 .vcf。必需
-filter, --filter-expression EXPR JEXL 表达式,记录满足时在 FILTER 中加上对应的名字(可重复)
--filter-name NAME 每个表达式的名字,与 --filter-expression 按顺序一一对应、数目相同
-invfilter, --invert-filter-expression 反过来:不满足表达式的记录加 FILTER 关闭
--missing-values-evaluate-as-failing 表达式用到的注释在某条记录中缺失时,算作满足(加 FILTER);默认算作不满足 关闭
--invalidate-previous-filters 先清空输入中已有的 FILTER 关闭
-window, --cluster-window-size N 开启 SNP 聚集过滤:任一长度小于 N bp 的窗口内有 --cluster-size 个 SNP 时,标记 SnpCluster 0(关闭)
-cluster, --cluster-size N 构成聚集的 SNP 数,至少 2 3
--mask FILE 掩码区间(BED 或 VCF),与之重叠的记录标记 --mask-name
--mask-extension N / --mask-name NAME / --mask-description TEXT 掩码区间两侧的延伸长度、FILTER 名字、表头说明 0 / Mask
--filter-not-in-mask 反过来:不在掩码内的记录加 FILTER 关闭
-G-filter, --genotype-filter-expression EXPR 基因型层面的 JEXL 表达式(可用 GT、GQ、DP、AD、isHet、isHomVar、g.getDP() 等,样本中没有的字段取 INFO 中的同名值);已分型(不是 ./.)的样本满足时,在其 FT 中加上对应的名字(可重复)
-G-filter-name, --genotype-filter-name NAME 每个基因型表达式的名字,按顺序一一对应
-invG-filter, --invert-genotype-filter-expression 反过来:不满足基因型表达式的样本加 FT 关闭
--set-filtered-genotype-to-no-call FT 中有名字的样本改为未分型(./.),并按新的基因型重算 AC、AN、AF 关闭
-L, --intervals / -XL, --exclude-intervals 只处理(排除)这些区间,写法同 gvcftyper
-R, --reference FILE 用其 .fai 解释 -L;不给时用输入 VCF 表头中的 contig
-OVI, --create-output-variant-index true|false 为 .vcf.gz 写 .tbi true
-t, --threads N 解析、判断、写出记录和 BGZF 压缩/解压的线程数;任意线程数输出相同 1

开关类参数后面可以跟 true / false(GATK 写法),不跟时等于 true。

JEXL 表达式的取值和比较方式与 GATK 完全一致,有两点容易出乎意料:

  • 整数常量:QD < 2 会让 GATK 本身报错退出(GATK 按整数解析 25.36 这样的小数注释,NumberFormatException),variantfiltration 也在同一处报错退出。小数注释请写成 QD < 2.0。
  • 组合表达式中的缺失注释:QD < 2.0 || MQRankSum < -12.5 在没有 MQRankSum 的记录上整体算作"缺失",默认不加 FILTER,即使 QD < 2.0 成立。需要分别判断时,把条件拆成多个 -filter(每个配自己的 --filter-name),这也是 GATK 推荐的写法。注释值为 .(例如 QD=.)时 GATK 同样报错退出。

可以使用的写法:注释名(INFO 中的键)、QUAL、CHROM、POS、TYPE(SNP、INDEL、MIXED、MNP、SYMBOLIC、NO_VARIATION)、FILTER、FILTER 中已有的名字、N_ALLELES、ALLELES;比较 < <= > >= == !=(也可写作 lt le gt ge eq ne)、=~(正则匹配)、&& || !(and or not)、算术 + - * / %、empty()、size(),以及 vc.isSNP()、vc.isIndel()、vc.getAttributeAsDouble("QD", 0.0) 等记录方法。超出这些的写法(赋值、函数、构造等)启动即报错(退出码 2),不会按近似方式运行。

输出中每条记录与 GATK 的写法相同:FILTER 中的名字按字母排序,没有任何 FILTER 时写 PASS(加 --invalidate-previous-filters 且没有新 FILTER 时写 .);INFO 按键排序;QUAL 保留两位小数(整数时去掉 .00)。由 GATK 产生的 VCF,除 FILTER 外其他列不变。

使用基因型过滤、--set-filtered-genotype-to-no-call,或表达式用到 homRefCount、hetCount、homVarCount 时,样本列与 GATK 一样按标准写法重写:FORMAT 中的键 GT 在前、其余按字母排序,各样本末尾缺失的字段省略,记录中有样本带 FT 时其余样本写 PASS。表头中标准字段(如 AD、PL、FT、AC、AF、DP)的 Number 或 Type 与标准不同时,与 GATK 一样替换为标准定义。

尚不支持(启动即报错):--apply-allele-specific-filters。输入表头中没有声明的 INFO 字段与 GATK 一样报错退出。GATK 要求输入和 --mask 带索引才能使用聚集过滤和掩码,variantfiltration 不要求。

selectvariants#

按变异类型、表达式、样本等条件选取记录(GATK SelectVariants 4.6.2.0;下一个发布包起提供),输出与 GATK 逐条记录相同(表头除 ##GATKCommandLine 外逐行相同),参数名与 GATK 相同。

# 只要 SNP;只要某个样本、并去掉该样本中没有变异的位点
baizegen selectvariants -V cohort.vcf.gz -select-type SNP -O snps.vcf.gz
baizegen selectvariants -V cohort.vcf.gz -sn NA12878 --exclude-non-variants --remove-unused-alternates -O NA12878.vcf.gz
参数 说明 默认
-V, --variant FILE / -O, --output FILE 输入、输出 VCF(输出 .vcf.gz 时同时写 .tbi)。必需
-select-type, --select-type-to-include TYPE 只保留这些类型:SNP、INDEL、MIXED、MNP、SYMBOLIC、NO_VARIATION(可重复) 全部
-xl-select-type, --select-type-to-exclude TYPE 去掉这些类型;--ignore-non-ref-in-types 判断类型时忽略 gVCF 的 <NON_REF>
-select, --select EXPR JEXL 表达式(写法同 variantfiltration),只保留满足的记录;给多个时满足任意一个即保留
-select-genotype, --select-genotype-expressions EXPR 基因型层面的表达式,任意一个样本满足即保留
-invert-select, --invertSelect 反过来:保留不满足表达式的记录 关闭
-jexl-first, --apply-jexl-filters-first 在按样本取子集之前判断表达式(默认之后,即按子集重算的 AC/AN 判断) 关闭
-sn, --sample-name NAME / -se, --sample-expressions REGEX 只保留这些样本(可重复;正则表达式在样本名中任意位置匹配即可);AC、AN、AF 按保留样本重算(不计 FT 被过滤的基因型),DP 为保留样本 DP 之和,去掉 MLEAC、MLEAF 全部
-xl-sn, --exclude-sample-name / -xl-se, --exclude-sample-expressions 去掉这些样本
--allow-nonoverlapping-command-line-samples -sn 中不在 VCF 里的样本忽略(默认报错退出) 关闭
--exclude-non-variants 去掉保留样本中都没有替代等位基因的位点 关闭
--exclude-filtered 去掉 FILTER 不是 PASS / . 的记录 关闭
--restrict-alleles-to ALL|BIALLELIC|MULTIALLELIC 只保留双等位 / 多等位位点 ALL
-ids, --keep-ids ID / -xl-ids, --exclude-ids ID 按 ID 保留 / 去掉
--max-indel-size N / --min-indel-size N indel 长度范围
--max-filtered-genotypes N / --min-filtered-genotypes N FT 被过滤的样本数超出范围的记录去掉 不限
--max-fraction-filtered-genotypes F / --min-fraction-filtered-genotypes F 同上,按比例(与 GATK 相同,比例按整数相除计算) 1.0 / 0.0
--max-nocall-number N / --max-nocall-fraction F 未分型样本数 / 比例超过时去掉记录 不限 / 1.0
--set-filtered-gt-to-nocall FT 被过滤的样本改为未分型 关闭
--remove-unused-alternates 去掉保留样本中没有出现的替代等位基因;PL、GQ、AD(及 SAC)按保留的等位基因重算 关闭
--preserve-alleles 取样本子集后不修剪等位基因 关闭
--keep-original-ac / --keep-original-dp 取子集时保留原始值为 AC_Orig、AF_Orig、AN_Orig、DP_Orig 关闭
-DA, --drop-info-annotation KEY / -DGA, --drop-genotype-annotation KEY 去掉这些 INFO / FORMAT 字段
-L, --intervals / -XL, --exclude-intervals 只处理(排除)这些区间,写法同 gvcftyper
-R, --reference FILE 表头的 contig 行取自参考基因组的 .dict(带 assembly),并写 ##reference 行(--suppress-reference-path 只写文件名)
--fail-on-unsorted-genotype 输入的样本没有按名称排序时报错退出 关闭
-OVI, --create-output-variant-index true|false 为 .vcf.gz 写 .tbi true
-t, --threads N 解析、判断、写出记录和 BGZF 压缩/解压的线程数;任意线程数输出相同 1

-sn、-xl-sn、-ids、-xl-ids、-DA、-DGA 的值可以是以 .list 或 .args 结尾的文件,每行一个。

与 GATK 相同的细节:输出中的样本按名称排序;表头中同一类型的说明行(如多个 ##source)只保留排序最前的一行,再加 ##source=SelectVariants;AC、AF、AN、DP 的表头说明替换为标准写法;contig 行按序列字典重写(只保留 ID 和长度)。-select 表达式中出现 JEXL 错误(例如把多等位位点的 AC 列表与数字比较)时,与 GATK 一样报错退出,而不是像 variantfiltration 那样当作缺失值。

尚不支持(启动即报错):-disc, --discordance、-conc, --concordance、-mv, --mendelian-violation、--invert-mendelian-violation、-ped, --pedigree、-fraction, --select-random-fraction、--remove-fraction-genotypes、--fully-decode。

BaizeGen 使用手册 · 手册版本 2026-11-09。命令行参数以所用版本的 baizegen <命令> --help 为准。