call replaced view for variant calling, not format conversion. Your solution makes no sense here.
I have downloaded the BCF of chrY from 1000G phase3:
4532c8cb3234c04e0070c00593768a90 ALL.chrY.phase3_shapeit2_mvncall_integrated.20130502.genotypes.bcf
The header with hexdump looks like this:
00000000 1f 8b 08 04 00 00 00 00 00 ff 06 00 42 43 02 00 |............BC..|
00000010 36 1d ed 5d 7b 8c 5c 57 79 1f 6f a6 d0 0d a5 c4 |6..]{.\Wy.o.....|
00000020 4e 82 1b 28 ca b0 a9 42 d2 da eb 7b de e7 c4 de |N..(...B...{....|
00000030 c0 78 bd 5e 4c ec b5 63 6f 0c 51 85 dc f5 ee d8 |.x.^L..co.Q.....|
00000040 1e 98 dd 59 66 c6 4e 1d 01 a5 10 91 d2 07 2d 0f |...Yf.N.......-.|
00000050 41 79 fc 41 a5 22 da 3f 5a 44 5b 01 6d d5 aa 3c |Ay.A.".?ZD[.m..<|
00000060 44 05 05 2a a4 50 a1 f2 68 2b 15 2a 50 a1 12 20 |D..*.P..h+.*P.. |
00000070 54 24 44 7b ee 7c bf 7b e7 cc dd 33 f6 d8 8e 93 |T$D{.|.{...3....|
when I do
bcftools view ALL.chrY.[...].bcf > out.vcf
(I tried with version 0.1.19 and 1.2) I get this:
00000000 23 23 66 69 6c 65 66 6f 72 6d 61 74 3d 56 43 46 |##fileformat=VCF|
00000010 76 34 2e 31 0a 02 02 02 02 02 02 02 02 02 02 02 |v4.1............|
00000020 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 |................|
*
00000330 02 02 02 02 02 02 02 04 04 02 02 02 02 02 02 02 |................|
00000340 04 02 02 02 02 02 02 04 02 02 02 02 02 02 02 02 |................|
00000350 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 |................|
*
00000450 60 00 00 00 d4 04 00 00 17 00 00 00 7e 4e f2 00 |`...........~N..|
00000460 01 00 00 00 3d 32 95 44 0b 00 02 00 d1 04 00 01 |....=2.D........|
00000470 07 17 54 17 43 11 00 11 13 17 54 11 14 11 0b 11 |..T.C.....T.....|
00000480 15 15 99 f7 13 3c 11 17 12 c2 04 11 01 12 a3 12 |.....<..........|
00000490 11 16 12 c2 04 11 1b 15 e0 2d 90 3c 11 1a 15 75 |.........-.<...u|
000004a0 02 9a 3b 11 19 15 27 a0 89 3b 11 18 15 00 00 00 |..;...'..;......|
000004b0 00 11 1c 15 00 00 00 00 11 02 11 02 02 02 02 02 |................|
000004c0 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 |................|
Basically a lot of garbage.
Why? What am I doing wrong?
2 answers
Hi there,
What version of bcftools are you using? I presume you use it for variant calling. In the latest version the manual states that "call" replaced "view". We use "call" like this (works fine for us):
bcftools call -vmO z -o var.vcf.gz var.bcf
We base our workflow/pipeline on http://www.htslib.org/workflow/#mapping_to_variant
To provide closure to this thread, I think OP using a hexdump on a VCF file to verify output makes no sense. A simple cat would show them that they're indeed getting a VCF file, and adding the -Ov parameter should make that explicit as well.
alons' "solution" makes no sense as OP is trying to use the view functionality and not the variant calling call functionality of bcftools.
Log in to answer this question.