From 24f3f3217018cfd70ea330b06cb419db8425bfc8 Mon Sep 17 00:00:00 2001 From: Petr Danecek Date: Thu, 8 May 2025 17:41:03 +0200 Subject: [PATCH] Use the highest VCF version when merging headers Requires the htslib update https://github.com/samtools/htslib/pull/1912 Resolves #2395 --- test/merge.symbolic.1.1.out | 2 +- test/merge.symbolic.1.b.vcf | 2 +- vcfmerge.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/merge.symbolic.1.1.out b/test/merge.symbolic.1.1.out index 853bca50..b059b2b7 100644 --- a/test/merge.symbolic.1.1.out +++ b/test/merge.symbolic.1.1.out @@ -1,4 +1,4 @@ -##fileformat=VCFv4.1 +##fileformat=VCFv4.4 ##FILTER= ##contig= ##INFO= diff --git a/test/merge.symbolic.1.b.vcf b/test/merge.symbolic.1.b.vcf index afcfbf4f..9a189a7c 100644 --- a/test/merge.symbolic.1.b.vcf +++ b/test/merge.symbolic.1.b.vcf @@ -1,4 +1,4 @@ -##fileformat=VCFv4.1 +##fileformat=VCFv4.4 ##contig= ##INFO= ##FORMAT= diff --git a/vcfmerge.c b/vcfmerge.c index cb75e7ba..6eef5127 100644 --- a/vcfmerge.c +++ b/vcfmerge.c @@ -3424,6 +3424,7 @@ void merge_vcf(args_t *args) if ( args->out_fh == NULL ) error("Can't write to \"%s\": %s\n", args->output_fname, strerror(errno)); if ( args->n_threads ) hts_set_opt(args->out_fh, HTS_OPT_THREAD_POOL, args->files->p); //hts_set_threads(args->out_fh, args->n_threads); args->out_hdr = bcf_hdr_init("w"); + bcf_hdr_set_version(args->out_hdr, bcf_hdr_get_version(args->files->readers[0].header)); if ( args->header_fname ) { @@ -3445,7 +3446,6 @@ void merge_vcf(args_t *args) info_rules_init(args); missing_rules_init(args); - bcf_hdr_set_version(args->out_hdr, bcf_hdr_get_version(args->files->readers[0].header)); if ( bcf_hdr_write(args->out_fh, args->out_hdr)!=0 ) error("[%s] Error: cannot write to %s\n", __func__,args->output_fname); if ( args->header_only ) {