By wuzhenzhen, 14 November, 2025

报错信息

04:31:11.252 INFO  ProgressMeter -   CM046393.1:1279614             15.2               1191000          78344.0
04:31:21.887 INFO  ProgressMeter -   CM046393.1:1294894             15.4               1206000          78416.4
04:31:26.272 INFO  GenotypeGVCFs - Shutting down engine
[November 13, 2025 at 4:31:26 AM UTC] org.broadinstitute.hellbender.tools.walkers.GenotypeGVCFs done. Elapsed time: 15.46 minutes.
Runtime.totalMemory()=2046820352
htsjdk.samtools.SAMFormatException: Did not inflate expected amount
	at htsjdk.samtools.util.BlockGunzipper.unzipBlock(BlockGunzipper.java:147)
	at htsjdk.samtools.util.BlockGunzipper.unzipBlock(BlockGunzipper.java:96)
	at htsjdk.samtools.util.BlockCompressedInputStream.inflateBlock(BlockCompressedInputStream.java:550)
	at htsjdk.samtools.util.BlockCompressedInputStream.processNextBlock(BlockCompressedInputStream.java:532)
	at htsjdk.samtools.util.BlockCompressedInputStream.nextBlock(BlockCompressedInputStream.java:468)
	at htsjdk.samtools.util.BlockCompressedInputStream.readBlock(BlockCompressedInputStream.java:458)
	at htsjdk.samtools.util.BlockCompressedInputStream.available(BlockCompressedInputStream.java:196)
	at htsjdk.samtools.util.BlockCompressedInputStream.read(BlockCompressedInputStream.java:241)
	at htsjdk.tribble.readers.TabixReader.readLine(TabixReader.java:215)

 

相关教程

https://www.omicsclass.com/question/6440
https://gatk.broadinstitute.org/hc/en-us/community/posts/4409429876123--Did-not-inflate-expected-amount-Error

 

具体操作:

01 检查合并后的文件是否被损坏

zcat your_sample.g.vcf.gz > /dev/null

# 报错:
gzip: invalid compressed data--format violated # 确认了是文件的问题
  • 根据相关教程,提出以下两个可能性原因:
    • (1)由于 Intel 和 JDK 的解压缩/压缩程序不兼容造成的
    • (2)某一样本文件的染色体编号出错导致的

02 排查是否由于 Intel 和 JDK 的解压缩/压缩程序不兼容造成的

  • 有帖子说,可能是 Intel 和 JDK 的解压缩/压缩程序不兼容造成的,这种错误是会随机发生的。因此,建议在命令中添加 --use-jdk-deflater 和 --use-jdk-inflater 选项,强制软件使用 jdk-deflater/inflater 而不是 Intel 的 deflater/inflater(GATK4 中的默认值)。
  • 添加后, 重新运行命令,成功!需要注意的是,添加参数后的文件,由于压缩格式不一致,会导致文件大小和原来有差距(我的原本为60G,但是添加参数后为46G;但是检查后变异位点的数量是相同的)。
  • 此外,不添加参数,直接重新运行命令,发现也可以得到完整的gz文件。说明该错误就是随机发生的,下次可以尝试重新运行命令。

03 检查染色体编号是否有问题,排查是否是样本文件出错的原因

# 检查GVCF是否包含目标染色体头信息
zcat input.g.vcf.gz | grep "^#${target_chr}"

# 检查TBI索引是否记录染色体
tabix -H input.g.vcf.gz | grep "^#${target_chr}"

# 检查过后发现没问题