samtools / bcftools

This is the official development repository for BCFtools. See installation instructions and other documentation here http://samtools.github.io/bcftools/howtos/install.html
http://samtools.github.io/bcftools/
Other
674 stars 240 forks source link

bcftools merge --info-rules - doesn't disable rules #1974

Open audrey-bollas opened 1 year ago

audrey-bollas commented 1 year ago

Hello, I am not sure if the intended output is not working, or my expectation of what should happen is incorrect.

Bcftools installation:

wget https://github.com/samtools/bcftools/releases/download/1.18/bcftools-1.18.tar.bz2 
tar -xvf bcftools-1.18.tar.bz2
cd bcftools-1.18/
./configure --prefix=$PWD
make
make install

I am merging three VCF files and I want to keep the INFO fields from the first VCF file after merging. The first variant line in the original VCF looks like this:

#CHROM  POS ID  REF ALT QUAL    FILTER  INFO    FORMAT  SAMPLE_ORIG
chr1    942451  .   T   C   840.06  .   AC=2;AF=1;AN=2;DP=33;ExcessHet=0;FS=0;MBQ=0,22;MFRL=0,421;MLEAC=2;MLEAF=1;MMQ=60,60;MPOS=38;MQ=60;NCount=0;QD=26.25;SOR=1.284   GT:AD:AF:DP:GQ:PL   1/1:0,32:1:32:95:854,95,0

I run:

bcftools merge -i - $vcf $vcf2 $vcf3 -Oz -o merged.vcf.gz

The same variant line in merged.vcf.gz looks like this:

#CHROM  POS ID  REF ALT QUAL    FILTER  INFO    FORMAT  SAMPLE_ORIG   SAMPLE_2   SAMPLE_3
chr1    942451  .   T   C   875.06  .   DP=33;ExcessHet=0;FS=0;MQ=60;NCount=0;QD=26.25;SOR=1.284;AF=1;MBQ=0,25;MFRL=0,377;MLEAC=2;MLEAF=1;MMQ=60,60;MPOS=27;AN=6;AC=6   GT:AD:AF:DP:GQ:PL   1/1:0,32:1:32:95:854,95,0   1/1:0,33:1:33:99:889,99,0   1/1:0,23:1:23:69:661,69,0

The INFO/DP value from the original VCF was retained. However, other INFO (MBQ=0,25;MFRL=0,377;MPOS=27;AN=6;AC=6) was changed. I thought the '-i -' parameter would affect the rules of all the INFO fields but it looks like it just affects the DP field. Is this correct? How to I apply this logic to the rest of my INFO fields?

Thank you!

pd3 commented 1 year ago

I am unable to reproduce the problem. Can you show the header (definitions of all tags with unexpected outcome), plus one input line in all three VCFs?